LED数码管显示实验.docx

上传人:b****8 文档编号:23916262 上传时间:2023-05-22 格式:DOCX 页数:10 大小:1.84MB
下载 相关 举报
LED数码管显示实验.docx_第1页
第1页 / 共10页
LED数码管显示实验.docx_第2页
第2页 / 共10页
LED数码管显示实验.docx_第3页
第3页 / 共10页
LED数码管显示实验.docx_第4页
第4页 / 共10页
LED数码管显示实验.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

LED数码管显示实验.docx

《LED数码管显示实验.docx》由会员分享,可在线阅读,更多相关《LED数码管显示实验.docx(10页珍藏版)》请在冰豆网上搜索。

LED数码管显示实验.docx

LED数码管显示实验

《微机实验》报告

实验名称LED数码管显示实验

专业班级姓名xxxxx学号

联系方式

 

【实验目的】

理解LED七段数码管的显示控制原理,掌握数码管与MCU的接口技术,能够编写数码管显示驱动程序;熟悉接口程序调试方法。

【任务要求】

使用C8051F310单片机控制数码管显示器,要求利用末位数码管循环显示数字0-9,显示切换频率为1Hz。

【设计思路】

对振荡器信号频率进行8分频,再对定时器进行48分频,以使在一次定时时间范围内实现1s定时。

采用查询方式进行定时。

位选信号选定末位数码管不改变。

利用顺序查表法逐个取出显示段码数据,寄存器R0的值自增1并赋与寄存器A以改变下一次显示所取的段码数据(查表过程使用代码“MOVCA,@A+DPTR”)。

当寄存器R0的值增至09H后,跳转至开头,重新开始下一轮显示。

【资源分配】

利用查表方式取显示数据段码,段码数据置于数据表TABLE中。

工作寄存器R0所存数据用于调整查表操作所取数据及决定是否开始下一轮的显示。

数据指针DPTR用于查表。

P1口用于输出显示数据段码信号。

定时器T0用于实现1s定时。

【流程图】

【源代码】

;;------------------------------------

;-GeneratedInitializationFile--

;------------------------------------

 

;--------------------------------------

;Desginedby:

xxxxx

;Date:

11月7号

;class:

xxxxx

;number:

xxxxx

;--------------------------------------

 

$include(C8051F310.inc)

ORG0000H

LJMPMAIN

ORG1000H

CLRP3.1

MAIN:

LCALLInit_Device;设备初始化

CLRP3.1;关闭蜂鸣器

MOVSP,#60H;设置堆栈保护现场

MOVDPTR,#TABLE;通过dptr访问数据表table

CLRP0.6;选择最后一个数码管显昃数字

CLRP0.7

MOVTMOD,#01H;设定定时器工作方式0

MOVTH0,#06H;给定使砌设订初值

MOVTL0,#0C6H

BEGIN:

MOVR0,#00H;通过R0实现0到9的递增

MOVA,R0

MOVCA,@A+DPTR

MOVP1,A;数码管显示数据

SETBTR0;启动定时器

YICHU:

JNBTF0,YICHU;判断是否溢出

CLRTR0;;停止计时

CLRTF0;;溢出位复位

CJNER0,#09H,CONTINUE;未溢出时继续显示

SJMPBEGIN;溢出返回执行

CONTINUE:

INCR0;R0++

MOVA,R0

MOVCA,@A+DPTR

MOVP1,A

SETBTR0

SJMPYICHU

TABLe:

DB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H;表中存放的0-9

;Peripheralspecificinitializationfunctions,

;CalledfromtheInit_Devicelabel

PCA_Init:

anlPCA0MD,#0BFh

movPCA0MD,#000h

ret

Timer_Init:

movTMOD,#001h

movCKCON,#002h

ret

Port_IO_Init:

;P0.0-Unassigned,Push-Pull,Digital

;P0.1-Unassigned,Open-Drain,Digital

;P0.2-Unassigned,Push-Pull,Digital

;P0.3-Unassigned,Push-Pull,Digital

;P0.4-Unassigned,Push-Pull,Digital

;P0.5-Unassigned,Push-Pull,Digital

;P0.6-Unassigned,Push-Pull,Digital

;P0.7-Unassigned,Push-Pull,Digital

;P1.0-Unassigned,Open-Drain,Digital

;P1.1-Unassigned,Open-Drain,Digital

;P1.2-Unassigned,Open-Drain,Digital

;P1.3-Unassigned,Open-Drain,Digital

;P1.4-Unassigned,Open-Drain,Digital

;P1.5-Unassigned,Open-Drain,Digital

;P1.6-Unassigned,Open-Drain,Digital

;P1.7-Unassigned,Open-Drain,Digital

;P2.0-Unassigned,Open-Drain,Digital

;P2.1-Unassigned,Open-Drain,Digital

;P2.2-Unassigned,Open-Drain,Digital

;P2.3-Unassigned,Open-Drain,Digital

movP0MDOUT,#0FDh

movXBR1,#040h

ret

;Initializationfunctionfordevice,

;CallInit_Devicefromyourmainprogram

Init_Device:

lcallPCA_Init

lcallTimer_Init

lcallPort_IO_Init

ret

end

【程序测试方法与结果、软件性能分析】

1、软件仿真结果

P0(选定末位数码管)

P1(0~9显示数据输出信号)

0

1

2

3

4

 

5

6

7

8

9

2、硬件运行结果

【思考题】

●数码管采用动态驱动方式时刷新频率应如何选择?

为什么?

答:

利用人眼视觉暂留效应,若在一定时间范围内,数码管笔端频率越快,则人眼看不出闪烁。

因此,需选择刷新频率高一些,则可看清楚数字。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1