19.课件十九 数码管时钟电路的设计

19.课件十九 数码管时钟电路的设计

ID:40665559

大小:166.50 KB

页数:9页

时间:2019-08-05

19.课件十九  数码管时钟电路的设计_第1页
19.课件十九  数码管时钟电路的设计_第2页
19.课件十九  数码管时钟电路的设计_第3页
19.课件十九  数码管时钟电路的设计_第4页
19.课件十九  数码管时钟电路的设计_第5页
资源描述:

《19.课件十九 数码管时钟电路的设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、数码管时钟电路的设计——魏焕东LED数码管时钟电路采用24小时计方式,时、分、秒用六位数码管显示。电路采用AT89C2051单片机,使用5v电源供电,只使用一个按键即可进入调时、省电(不显示LED数码管)和正常显示三种状态。1.时钟电路硬件的设计数码管时钟电路如图图17-10-1所示,其采用动态扫描方式实现,P1口输出段码数据,p3.0~p3.5口作扫描输出,p3。7接按钮开关。为了提供LED数码管的驱动电流,用三极管9012作电源驱动输出。为了提高秒计时器的精度,采用12Mhz晶振。图17-10-1数码管时钟电路2.主程序的设计(1

2、)主程序设计中的计时采用定时器T0中断完成,其余状态循环调用显示子程序,当P3.7口开关按下时,转入调时子程序。系统主程序流程图如图17-10-2示。(2)显示子程序数码管显示的数据存放在内存单元70H~75H中,其中70H~71H存放秒数据,72H~73H存放分数据,74H~75H存放时数据,每一地址单元内均为十进制BCD码。由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码数据的对应段码存放在ROM表中。显示时,先取出70H~75H某一地址中的数据,然后查得对应的显示用段码从P1口输出。P3口将对应的数码管选中就能显示该地

3、址单元的数据值。(3)定时器T0中断服务程序定时器T0用于时间计时。定时溢出中断周期设为50ms,中断累计20次(即1s)是对秒单元进行加1操作。时间计数单元分别在70H~71H(s)、72H~73H(min)、70H~71H(h),7AH单元内存放“熄灭符”数据(#0AH)。在计数单元采用十进制BCD码计数,满60进位。T0中断服务程序流程图如图17-10-3示。(4)T1中断服务程序T1中断服务程序用于指示调整单元数字的亮闪。在时间调整状态下,没过0。3秒,将对应单元的显示数据换成“熄灭符”数据(#0AH)。这样,在调整时间时,对

4、应调整单元的显示数据就会间隔闪亮。(5)调时功能程序调试功能程序的设计方法是:按下按键,若按下时间小于1秒,进入省电状态(数码管不亮,时钟不停),否则进入调分状态,等待操作,此时计时器停止走动。当再次按下按钮时,若按下时间小于0.5秒则,则时间加1分钟;若按下时间大于0.5秒则进入小时调整状态。在小时调整状态下,当按键按下的时间大于0.5秒退出调整状态,时钟继续走动。开始hi显示单元清零T1.T0设为16位计数器模式允许T0中断调用显示子程序P3.7=0?进入调时程序Yn图二T0中断保护现场1m到秒单元加一=60s?秒单元清零,分加一

5、=60分分单元清零,时加一24h?时单元清零恢复现场,中断返回NNNN图17-10-2图17-10-31.LED数码管时钟显示电路的完整源程序;AT89C2051时钟程序;定时器T0、T1溢出周期为50MS,T0为秒计数用,T1为调整时闪烁用,;P3.7为调整按钮,P1口为字符输出口,采用共阳显示管。;中断入口程序ORG0000H;程序执行开始地址LJMPSTART;跳到标号START执行ORG0003H;外中断0中断程序入口RETI;外中断0中断返回ORG000BH;定时器T0中断程序入口LJMPINTT0;跳至INTTO执行ORG

6、0013H;外中断1中断程序入口RETI;外中断1中断返回ORG001BH;定时器T1中断程序入口LJMPINTT1;跳至INTT1执行ORG0023H;串行中断程序入口地址RETI;串行中断程序返回;;主程序START:MOVR0,#70H;清70H-7AH共11个内存单元MOVR7,#0BH;CLEARDISP:MOV@R0,#00H;INCR0;DJNZR7,CLEARDISP;MOV20H,#00H;清20H(标志用)MOV7AH,#0AH;放入"熄灭符"数据MOVTMOD,#11H;设T0、T1为16位定时器MOVTL0,#

7、0B0H;50MS定时初值(T0计时用)MOVTH0,#3CH;50MS定时初值MOVTL1,#0B0H;50MS定时初值(T1闪烁定时用)MOVTH1,#3CH;50MS定时初值SETBEA;总中断开放SETBET0;允许T0中断SETBTR0;开启T0定时器MOVR4,#14H;1秒定时用初值(50MS×20)START1:LCALLDISPLAY;调用显示子程序JNBP3.7,SETMM1;P3.7口为0时转时间调整程序SJMPSTART1;P3.7口为1时跳回START1SETMM1:LJMPSETMM;转到时间调整程序SET

8、MM;1秒计时程序;T0中断服务程序INTT0:PUSHACC;累加器入栈保护PUSHPSW;状态字入栈保护CLRET0;关T0中断允许CLRTR0;关闭定时器T0MOVA,#0B7H;中断响应时间同步修正ADDA,TL

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。