数码管数字时钟电路的设计电子教案.ppt

数码管数字时钟电路的设计电子教案.ppt

ID:61278942

大小:433.50 KB

页数:36页

时间:2021-01-23

数码管数字时钟电路的设计电子教案.ppt_第1页
数码管数字时钟电路的设计电子教案.ppt_第2页
数码管数字时钟电路的设计电子教案.ppt_第3页
数码管数字时钟电路的设计电子教案.ppt_第4页
数码管数字时钟电路的设计电子教案.ppt_第5页
资源描述:

《数码管数字时钟电路的设计电子教案.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数码管数字时钟电路的设计2.系统软件的设计1)主程序主程序功能主要是初始化、正常显示时间和判断功能转换键。显示时间调用显示子程序。当P2.7端口按键按下时,转入调时功能程序。主程序流程图如图10-7所示。图10-7主程序流程图2)显示子程序数码管显示的数据存放在50H~55H内存单元中,其中50H、51H单元存放秒数据,52H、53H单元存放分数据,54H、55H单元存放时数据。时间数据采用BCD码表示,对应的显示用段码表存放在ROM中。3)定时器T0中断服务程序时钟的最小计时单位是秒,60s进位1min,60min进位1h。定时器T0用于产

2、生最小单位1s,定时时间为50ms,中断累计20次即为1s。计数单元中的十进制BCD数每逢60进位。程序流程图如图10-8所示。图10-8T0中断服务程序4)定时器T1中断服务程序进行时间调整时,正在被调整的时间以闪烁形式表现,定时器T1用于产生闪烁的时间间隔,每隔0.3s闪烁一次。程序流程图略。5)调时功能程序调整时间程序的方法是:按下功能键,当按下时间小于1 s时,进入省电状态,大于1s时,进入调分状态,等待操作,此时计时器停止走动。6)延时程序系统使用三个延时程序。因为系统是动态显示,为了确保系统在有效显示时间范围内(约50ms)必须执

3、行显示程序,所以0.5s的延时程序是通过执行显示程序约81遍实现的。程序如下:ORG0000HAJMPMAINT;转主程序NOPORG000BHAJMPINT01;转定时器T0中断程序NOPORG001BHAJMPINT11;转定时器T1中断程序NOP******主程序******MAINT:MOVR0,#7FH;00H~7FH单元清零CLRAWZ1:MOV@R0,ADJNZR0,WZ1MOVSP,#30H;置堆栈指针MOV5AH,#0AH;放入“熄灭符”数据MOVTMOD,#11H;设T0,T1为16位定时器MOVTL0,#0B0H;置50

4、ms定时初值MOVTH0,#3CHMOVTL1,#0B0HMOVTH1,#3CHSETBEA;开中断SETBET0;允许T0中断SETBTR0;启动T0MOVR4,#14H;用于产生1s定时MAINT1:LCALLXSZCX;调用显示子程序JNBP2.7,SJTZ0;功能键按下,进入调时程序SJMPMAINT1SJTZ0:LCALLXSZCX;通过调用显示时间程序延时消抖动JNBP2.7,SJTZ1SJMPMAINT1;功能键没有按下,显示时间SJTZ1:CLRET0;关闭T0中断CLRTR0;关闭T0LCALLYS1S;调用1s延时程序JB

5、P2.7,KMTES;按键时间小于1s,进入省电状态MOVR2,#06H;进入调时状态,置闪烁定时初值SETBET1;允许T1中断SETBTR1;启动T1XYZ2:JNBP2.7,XYZ1;P2.7端为0,等待CLR01H;置调分标志位为1XYZ4:JBP2.7,XYZ3;等待键按下LCALLYS05S;延时0.5sJNBP2.7,XYZHH;按键时间大于0.5s,转到调小时状态MOVR0,#53H;按键时间小于0.5s,进入调分状态LCALLADD1;调时间加1子程序MOVA,R3;取要调整的单元数据CLRCCJNEA,#60,QWE;调整

6、单元数据与60比较JCXYZ4;小于60转到XYZ4循环QWE:CLRA;大于或等于60,清零MOV@R0,ADECR0MOV@R0,ACLRCAJMPXYZ4;转到XYZ4循环KMTES:SETBET0;省电状态,开T0中断SETBTR0;启动T0(开时钟)KMA:JBP2.7,$;无按键按下,等待LCALLXSZCX;通过调用显示时间程序延时消抖动JBP2.7,KMA;是干扰返回等待KMA1:JNBP2.7,$;等待键释放LJMPMAINT1;返回主程序,显示时间XYZHH:JNBP2.7,XYZ5;等待键释放SETB01H;置调小时标志

7、位XYZ6:JBP2.7,XYZ7;等待键按下LCALLYS05S;有键按下,延时0.5sJNBP2.7,XYZOUT;按下时间大于0.5s,退出调整状态MOVR0,#55H;小于0.5s,调整小时LCALLADD1;调加1子程序MOVA,R3CLRCCJNEA,#24,KMB1;计时单元与24比较JCXYZ6,;小于24转XYZ6循环KMB1:CLRA;大于或等于24,则清零MOV@R,ADECR0MOV@R0,AAJMPXYZ6;转XYZ6循环XYZOUT:JNBP2.7,XYZOUT1;退出调时状态,等待键释放LCALLXSZCX;通过

8、调用显示程序延时消抖动JNBP2.7,XYZOUT;是抖动,返回XYZOUT等待MOV20H,#00H;清调时标志位CLRTR1;关闭T1CLRET1;关T1中断S

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

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

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