AT89S51课程设计报告电子钟滚动显示时间日期矩阵键盘设置时间.doc

上传人:sccc 文档编号:5030185 上传时间:2023-05-30 格式:DOC 页数:33 大小:399.51KB
返回 下载 相关 举报
AT89S51课程设计报告电子钟滚动显示时间日期矩阵键盘设置时间.doc_第1页
第1页 / 共33页
AT89S51课程设计报告电子钟滚动显示时间日期矩阵键盘设置时间.doc_第2页
第2页 / 共33页
AT89S51课程设计报告电子钟滚动显示时间日期矩阵键盘设置时间.doc_第3页
第3页 / 共33页
AT89S51课程设计报告电子钟滚动显示时间日期矩阵键盘设置时间.doc_第4页
第4页 / 共33页
AT89S51课程设计报告电子钟滚动显示时间日期矩阵键盘设置时间.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《AT89S51课程设计报告电子钟滚动显示时间日期矩阵键盘设置时间.doc》由会员分享,可在线阅读,更多相关《AT89S51课程设计报告电子钟滚动显示时间日期矩阵键盘设置时间.doc(33页珍藏版)》请在三一办公上搜索。

1、目 录摘要2第一章 设计任务3一、设计任务3二、设计目的3三、设计环节及进程安排3第二章 总体方案设计与方案可行性说明4一、预期效果4二、总体方案设计及程序设计思路4第三章 总框图及总体软件设计说明6一、总框图6二、总体软件设计说明6第四章 接口电路逻辑图及硬件设计说明,或系统资源使用说明7一、接口电路逻辑图7二、接口电路逻辑图说明:8三、硬件设计说明及系统资源使用说明8第五章 主要子程序框图及其设计说明9一、外部中断流程图9外部中断0说明9二、定时器0流程图10定时器0说明11三、定时器1流程图12定时器1说明14四、键盘扫描子程序流程图15键盘扫描子程序说明17第六章 源程序清单18第七章

2、 调试记录及调试结果19第八章 系统实现功能与操作说明20一、系统实现功能:20二、操作说明:20第九章 课程设计总结21一、实现的效果:21二、程序各部分说明及系统资源使用情况:21三、本次实习的经验总结22附录23摘 要数字电子钟是采用数字电路实现对年、月、日、时、分、秒数字显示的计时装置。在这次设计中,采用LED数码管滚动显示年、月、日、时、分、秒,以24小时计时方式,根据数码管动态显示原理来进行显示,用11MHz的晶振产生振荡脉冲,定器计数。在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。第一章 设计任务一、设计任务:用实验室的AT89S51实验板,写出数字时钟的程序

3、,能滚动显示实时时间日期于LED数码管,并可以修改时间日期,在规定的时间内完成设计、调试,经答辩合格后,提交设计说明书。二、设计目的:通过一个微机应用系统的设计与调试过程,运用微机原理及接口技术课程所学的知识,在设计中加以实践,达到理解、巩固和发展所学内容的目标。通过系统构造、流程设计、编程与调试的过程,掌握分析与解决实际问题的方法与手段,提高系统设计、程序编码与调试方面的实际动手能力,作为从事工程技术工作的一次系统训练。三、设计环节及进程安排: 1、布置课题,明确任务、总体方案及程序案头设计 2天2、局部程序模块设计调试 3天4、整体程序联合调试 2天5、程序功能完善、改进、扩展 1天6、答

4、辩及编写设计说明书 2天第二章 总体方案设计与方案可行性说明一、预期效果:时间、日期从最右边移入显示,逐渐缓慢向左移动,直至从最左边移出;时间、日期可调,按外部中断键时间暂停,进入时间日期设置,此时可以矩阵键盘输入时间日期,输入完后再按一下外部中断键时间按照设置的值接着走。二、总体方案设计及程序设计思路:1、主程序:功能1赋初始值,功能2查询44H是否为0,移动显示完一位后,44H减1 ,每一轮显示23位后,44H减到0,则跳转到RESTAR,每滚动显示完一轮,将显示内容的初始地址重置为50H,不断循环滚动显示。外部中断0用于:CPL TR1,每按一次外部中断按键,对TR1取反,关掉定时器1,

5、此时数码管还是移动显示,但时间不走; CPL F0,用于定时器0中判断是否扫描矩阵键盘,时间正常走时不扫键盘,当按下外部中断后,取反F0,进行键盘扫描;MOV R1,#2FH ,每次按外部中断后,给R1 重新赋值,让每次键盘扫描时都将扫描到的第一个键值赋给30H2、定时器0:功能1数码管的滚动动态显示时间日期,定时器0设置为2mS中断一次,每中断一次动态显示1位数码管,设置标志位(40H=#8),每中断一次40H减1、存首地址的R0增1、存位码的R3左移1位,进入下一次中断后显示第二位值,按该规律不断对40H、R0、R3的值进行修改,直至40H等于0,当40H等于0时表明已经动态显示了8位,重

6、新赋要显示数存的初始首地址R0=50H、位码R3=80H和40H=8,进入下一轮对相同初始首地址动态显示。这样循环250次以后,动态显示的初始首地址增1,再进入与之前同样的循环,每动态显示完8位,从新赋要显示数存的初始首地址、位码R3=80H和40H=8,每动态显示完250位后,向左边移动一位,如此循环,当移动了23位(灭灯的7位+显示时、分、秒、年、月、日和中间间隔的16位)后,回到最初刚开始滚动显示的状态,开始新一轮的滚动显示,如此不断循环。字节单元50H6DH存储的值对应于定时器要滚动动态显示的内容(50H56H和67H6DH存的#10H对应的数码管段码为熄灭,让显示效果为所有显示的数都

7、是从最右边一直移动到最左边,57H对应小时十位,58H对应小时个位,59H对应“”的段码,5AH对应分钟十位,5BH对应分钟个位,5AH对应“”的段码,5DH对应秒钟十位,5EH对应秒钟个位,60H对应年份十位,61H对应年份个位,62H对应月份十位,63H对应月份个位,64H对应日期十位,65H对应日期个位)。功能2定时器0还用于矩阵键盘扫描,每中断250次(大概为250*2mS)后判断标志位F0是否位1,如果为1,则调用键盘扫描子程序。键盘扫描子程序中不仅判断是否有按键按下,如果有按下,通过查表法找到对应的预定义的按键值,并将每次按键值赋给以30H为首地址的连续字节单元,还将以30H为首地

8、址的连续字节单元的内容赋给定时器0对应显示时、分、秒、年、月、日的字节地址,以供定时器0显示设置的时间日期。3、定时器1:功能1计时,每计时完1秒,秒字节地址中的值增1,满60秒分节地址中的值增1,满60分小时节地址中的值增1如此不断向高位进位。功能2将时、分、秒、年、月、日对应的字节地址进行处理,将处理结果赋给定时器0对应显示时、分、秒、年、月、日的字节地址,以供定时器0显示实时时间。第三章 总框图及总体软件设计说明8255(1)LED8LED15矩阵键盘数码管位码数码管断码外部中断0按键LED0LED7AT89S51一、总框图: PAPB PC PA8255(2)图18255用于扩展外部端

9、口,8255(1)的地址为0FE00H0FE03H,PA口地址0FE00H ,PB口地址0FE01H, PC口地址0FE02H,控制口地址:0FE03H。8255(2)的地址为0FD00H0FD03H,PA口地址0FD00H ,PB口地址0FD01H, PC口地址0FD02H,控制口地址:0FD03H。二、总体软件设计说明:程序设置57H66H字节地址为存储时分秒年月日的区域,定时器0将该区域的内容进行滚动动态显示,定时器0还对预设的标志位进行判断,看是否要进行矩阵键盘扫描,如果需要则调用键盘扫描子程序,对矩阵键盘进行扫描并将扫描的到键值进行处理,赋给57H66H字节地址,以供定时器0对正在设

10、置的时间值进行显示。定时器1计时并对时分秒年月日的进位进行处理,并将处理后的数据赋值给57H66H,以供定时器0对实时时间进行显示。外部中断0对TR1取反,关掉定时器1,此时数码管还是移动显示,但时间不走,进入时间日期的设计。对F0取反,F0用于定时器0中判断是否扫描矩阵键盘,时间正常走时不扫键盘,当按下外部中断后,取反F0,进行键盘扫描。第四章 接口电路逻辑图及硬件设计说明,或系统资源使用说明一、接口电路逻辑图:图2图3二、接口电路逻辑图说明:单片机AT89S51的P1口接LED0LED7 8个数码管,P0口接8255用于扩展端口,8255PA口接数码管段码输入,PB口接数码管位码输入,PC

11、矩阵键盘。三、硬件设计说明及系统资源使用说明:外部中断0按键INT0用于设置时间日期,按一下时间不走,但照样滚动显示,进入时间日期的设置,此时可以用矩阵键盘输入特定的时间,输入完后,再按一下外部中断0按键INT0,退出时间日期设置,同时时间按照输入的时间开始走。数码管用于滚动显示时间日期。下图是显示格式(H小时,M分钟,S秒,Y年,M月,D日)HHMMSS YYMMDD图4矩阵键盘用于设置时间日期是的输入。下图对应各个按键的键值。1 2 3 45 6 7 89 0 A BC D E F图5第五章 主要子程序框图及其设计说明一、外部中断流程图:进入外部中断CPL TR1,每按一次外部中断按键,对

12、TR1取反,关掉定时器1,此时数码管还是移动显示,但时间不走,进入时间设置CPL F0,F0用于定时器0中判断是否扫描矩阵键盘,时间正常走时不扫键盘,当按下外部中断后,取反F0,进行键盘扫描MOV R1,#2FH ,每次按外部中断后,给R1 重新赋值,让每次键盘扫描时都将扫描到的第一个键值赋给30HACALL DEL1S,调用延时子程序,防止中断在按键没有放开是一直有效,重复中断退出外部中断图6外部中断0说明:外部中断0对TR1取反,关掉定时器1,此时数码管还是移动显示,但时间不走,进入时间日期的设计。对F0取反,F0用于定时器0中判断是否扫描矩阵键盘,时间正常走时不扫键盘,当按下外部中断后,

13、取反F0,进行键盘扫描。定时器0说明:程序设置57H66H字节地址为存储时分秒年月日的区域,定时器0将该区域的内容进行滚动动态显示,定时器0还对预设的标志位进行判断,看是否要进行矩阵键盘扫描,如果需要则调用键盘扫描子程序,对矩阵键盘进行扫描并将扫描的到键值进行处理,赋给57H66H字节地址,以供定时器0对正在设置的时间值进行显示。三、定时器1流程图:N24小时到?分单元清零,时单元加1NNNYY时单元清零,日加1 Y开始一秒时间到?60秒时间到?60分钟到?秒单元加1秒单元清零,分单元加1YY时单元清零,日单元加1YN月单元清零,年单元加11个月到?日单元清零,月单元加11天到? N10年到?

14、 N Y年单元清零将小时(48H)除以10,商赋给57H(动态显示对应的小时十位),余数赋给58H(动态显示对应的小时个位)将分钟(49H)除以10,商赋给5AH(动态显示对应的分钟十位),余数赋给5BH(动态显示对应的分钟个位)将秒钟(4AH)除以10,商赋给5DH(动态显示对应的钟秒钟十位),余数赋给5EH(动态显示对应的秒钟个位)将年份(4BH)除以10,商赋给60H(动态显示对应的年份十位),余数赋给61H(动态显示对应的年份个位)将月份(4CH)除以10,商赋给62(动态显示对应的月份十位),余数赋给63H(动态显示对应的月份个位)将日期(4DH)除以10,商赋给64H(动态显示对应

15、的日期十位),余数赋给65H(动态显示对应的日期个位)中断返回定时器1说明:定时器1计时并对时分秒年月日的进位进行处理,并将处理后的数据赋值给57H66H,以供定时器0对实时时间进行显示。四、键盘扫描子程序流程图:将行列位置编码与表格中的数据进行对比,每对比1次,R4加1,当找到表格中的相等的值时,R4的值就是按下的按键对应的值不相等,有按键按下退出键盘扫描相等,没有按键按下将列扫描时有效的高4位和行扫描时有效的低4位组合成 8位的行列位置编码,并将其与0FFH比较置列线为1,行线为1,再读PC口值,将其和0FH相与,取有效低四位初始化8255置列线为0,行线为1,再读PC口值,将其和0F0H

16、相与,取有效高四位初始化8255CPL P1.1,用于指示是否在扫键盘开始CPL P1.41.7,用于指示扫描到键值扫描到的键值要赋给的目标地址增1键值赋给的目标地址将扫描到的第1个键值(30H)乘以10并加上扫描到的第2个键值(31H),并赋给48H(时)将扫描到的第3个键值(32H)乘以10并加上扫描到的第4个键值(33H),并赋给49H(分)将扫描到的第4个键值(34H)乘以10并加上扫描到的第5个键值(35H),并赋给4AH(秒)将扫描到的第6个键值(36H)乘以10并加上扫描到的第7个键值(37H),并赋给4BH(年)将扫描到的第8个键值(38H)乘以10并加上扫描到的第9个键值(3

17、9H),并赋给4CH(月)将扫描到的第10个键值(3AH)乘以10并加上扫描到的第11个键值(3BH),并赋给4DH(日)将扫描到的第 112个键值赋给定时器0滚动动态显示对应的小时的十位、个位,分钟的十位、个位,秒钟的十位、个位,年分的十位、个位,月份的十位、个位,日期的十位、个位,CPL P1.2,用于指示键盘扫描完成,并赋值成功退出键盘扫描矩阵键盘子程序说明:每中断250次(大概为250*2mS)后判断标志位F0是否位1,如果为1,则调用键盘扫描子程序。键盘扫描子程序中不仅判断是否有按键按下,如果有按下,通过查表法找到对应的预定义的按键值,并将每次按键值赋给以30H为首地址的连续字节单元

18、,还将以30H为首地址的连续字节单元的内容赋给定时器0对应显示时、分、秒、年、月、日的字节地址,以供定时器0显示设置的时间日期。第六章 源程序清单源程序及详细注释见附录源程序清单第七章 调试记录及调试结果日期调试项目调试结果2010-5-30(日)确定课程设计课题,并查找相关资料确定课程设计课题为电子钟2010-5-31(一)将以前做个的实验再熟悉一遍熟悉实验板数码管、两个8255、键盘、LED等硬件资源的使用,弄清楚其对应的地址。2010-6-1(二)计算机与单片机通讯调试出计算机与单片机通讯程序,在计算机上用串口调试助手往单片机发送一个09的数,单片机接收该数并在数码管上显示出来,还把该数

19、发送回计算机,在串口调试助手的接收窗口可以看到单片机发送回来的数2010-6-2(三)矩阵键盘扫描调试出可以扫描矩阵键盘输入的数的程序,并在数码管上显示出来当前按下的键值,使用方法为线反转法2010-6-3(四)时钟程序调试出可以显示时分秒的时钟程序,并可以通过4个按键进行控制(分别为进入退出时间设置、时增1、分增1、秒增1),该程序除了产生1秒计时在中断0中,其他都写在主程序中。2010-6-4(五)让数码管滚动特定连续字节单元中的值数码管可以滚动显示特定连续字节单元中的值,2010-6-5(六)将滚动显示功能、矩阵键盘扫描加入时钟程序发现几乎所有程序都写在主程序中,调用起来非常繁琐,而且很

20、乱,程序看起来不规范不容易理解。2010-6-6(日)重新写时钟程序,充分利用定时器0、定时器1和外部中断将滚动显示和矩阵键盘写在定时器0中,计时1秒和处理时间进位写在定时器1中,主程序只用于赋初始值和查询是否动态显示完了一轮23位是否需要对指定地址进行下一轮同样的循环显示2010-6-7(一)在实验板上调试昨天写的程序滚动显示调试成功,可以对指定字节地址进行循环滚动显示,时间可以走,但只能通过在程序中给对应时间日期字节地址预先设置初始值,时钟根据该初始时间接着走,不能通过矩阵键盘输入时间日期2010-6-8(二)将矩阵键盘输入时间日期功能加入,按外部中断0按键可以进入退出时间设置按外部中断0

21、按键进入退出时间设置,在时间设置状态中可以通过矩阵键盘设置时间日期初始值,再按下外部中断0按键时间按照设置的值接着计时。2010-6-9(三)进一步完善整个程序,并开始写实习报告对整个程序做进一步优化处理,使其更稳定,修改其中的一些瑕疵,加上注释,方便以后读程序。开始写实习报告。2010-6-10(四)写实习报告完善实习报告。第八章 系统实现功能与操作说明一、系统实现功能:数字时钟能显示实时时间于LED数码管,并可以修改时间。时间、日期从最右边移入显示,逐渐缓慢向左移动,直至从最左边移出;时间、日期可调,按外部中断键时间暂停,进入时间日期设置,此时可以矩阵键盘输入时间日期,输入完后再按一下外部

22、中断键时间按照设置的值接着走。二、操作说明:外部中断0按键INT0用于设置时间日期,按一下时间不走,但照样滚动显示,进入时间日期的设置,此时可以用矩阵键盘输入特定的时间,输入完后,再按一下外部中断0按键INT0,退出时间日期设置,同时时间按照输入的时间开始走。第九章 课程设计总结一、 实现的效果:时间、日期从最右边移入显示,逐渐缓慢向左移动,直至从最左边移出;时间、日期可调,按外部中断键时间暂停,进入时间日期设置,此时可以矩阵键盘输入时间日期,输入完后再按一下外部中断键时间按照设置的值接着走。二、 程序各部分说明及系统资源使用情况:1、外部中断:外部中断0对TR1取反,关掉定时器1,此时数码管

23、还是移动显示,但时间不走,进入时间日期的设计。对F0取反,F0用于定时器0中判断是否扫描矩阵键盘,时间正常走时不扫键盘,当按下外部中断后,取反F0,进行键盘扫描。2、定时器0:程序设置57H66H字节地址为存储时分秒年月日的区域,定时器0将该区域的内容进行滚动动态显示,定时器0还对预设的标志位进行判断,看是否要进行矩阵键盘扫描,如果需要则调用键盘扫描子程序,对矩阵键盘进行扫描并将扫描的到键值进行处理,赋给57H66H字节地址,以供定时器0对正在设置的时间值进行显示。定时器0功能1数码管的滚动动态显示时间日期,定时器0设置为2mS中断一次,每中断一次动态显示1位数码管,设置标志位(40H=#8)

24、,每中断一次40H减1、存首地址的R0增1、存位码的R3左移1位,进入下一次中断后显示第二位值,按该规律不断对40H、R0、R3的值进行修改,直至40H等于0,当40H等于0时表明已经动态显示了8位,重新赋要显示数存的初始首地址R0=50H、位码R3=80H和40H=8,进入下一轮对相同初始首地址动态显示。这样循环250次以后,动态显示的初始首地址增1,再进入与之前同样的循环,每动态显示完8位,从新赋要显示数存的初始首地址、位码R3=80H和40H=8,每动态显示完250位后,向左边移动一位,如此循环,当移动了23位(灭灯的7位+显示时、分、秒、年、月、日和中间间隔的16位)后,回到最初刚开始

25、滚动显示的状态,开始新一轮的滚动显示,如此不断循环。字节单元50H6DH存储的值对应于定时器要滚动动态显示的内容(50H56H和67H6DH存的#10H对应的数码管段码为熄灭,让显示效果为所有显示的数都是从最右边一直移动到最左边,57H对应小时十位,58H对应小时个位,59H对应“”的段码,5AH对应分钟十位,5BH对应分钟个位,5AH对应“”的段码,5DH对应秒钟十位,5EH对应秒钟个位,60H对应年份十位,61H对应年份个位,62H对应月份十位,63H对应月份个位,64H对应日期十位,65H对应日期个位)。定时器0功能2定时器0还用于矩阵键盘扫描,每中断250次(大概为250*2mS)后判

26、断标志位F0是否位1,如果为1,则调用键盘扫描子程序。键盘扫描子程序中不仅判断是否有按键按下,如果有按下,通过查表法找到对应的预定义的按键值,并将每次按键值赋给以30H为首地址的连续字节单元,还将以30H为首地址的连续字节单元的内容赋给定时器0对应显示时、分、秒、年、月、日的字节地址,以供定时器0显示设置的时间日期。3、定时器1:定时器1功能1计时,每计时完1秒,秒字节地址中的值增1,满60秒分节地址中的值增1,满60分小时节地址中的值增1如此不断向高位进位。定时器1功能2将时、分、秒、年、月、日对应的字节地址进行处理,将处理结果赋给定时器0对应显示时、分、秒、年、月、日的字节地址,以供定时器

27、0显示实时时间。定时器1计时并对时分秒年月日的进位进行处理,并将处理后的数据赋值给57H66H,以供定时器0对实时时间进行显示。三、本次实习的经验总结:1、单片机的软件设计通常要考虑以下几个方面的问题:(1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰、简洁和流程合理;(2)培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改;(3)绘制程序流程图,再根据流程图写程序;(4)合理分配系统资源;(5)可以充分利用定时器的定时功能,让每到特定的时间去做执行一个任务,比如:设置定时器2毫秒中断一次,每中断1

28、次即2毫秒动态显示一位,每中断10次进行一次串行通信,每中断25次进行一次键盘扫描,每中断250次进行一次温度采样(5)为程序加入注释,提高可读性,便于以后修改移植复用;2、关于程序的调试问题:(1)软件程序的调试应先分模块调试,统调是最后一环。通过各个模块程序的调试,使程序逐渐趋于完整、正确,最后将各个模块组合起来,统调程序。(2)充分利用实验板上的其他空余硬件资源来协助调试程序,比如,可以用CPL P1.X 来设置指示灯,用来指示有没有调用键盘扫描子程序、用来指示有没有扫描到键值、用来指示外部中断、定时器0和定时器1有没有工作等等。(3)写程序和调试程序时应该分清楚 转移指令和调用指令的区

29、分,转移后就不回到转移前的位置,而调用某个子程序后,执行完子程序就回到调用处接着往下执行。 代码ORG 0HLJMP MAINORG 0003H ;外部中断入口地址LJMP OUTINTORG 000BH;定时器0入口地址LJMP TIME0ORG 001BH;定时器1入口地址LJMP TIME1MAIN: LCALL DEL1s ;调用延时子程序 MOV 30H,#0H ;扫描矩阵键盘时存扫描到的第 1 个键值,对应小时的十位 MOV 31H,#0H ;扫描矩阵键盘时存扫描到的第 2 个键值,对应小时的个位 MOV 32H,#0H ;扫描矩阵键盘时存扫描到的第 3 个键值,对应分钟的十位 M

30、OV 33H,#0H ;扫描矩阵键盘时存扫描到的第 4 个键值,对应分钟的个位 MOV 34H,#0H ;扫描矩阵键盘时存扫描到的第 5 个键值,对应秒的十位 MOV 35H,#0H ;扫描矩阵键盘时存扫描到的第 6 个键值,对应秒的个位 MOV 36H,#0H ;扫描矩阵键盘时存扫描到的第 7 个键值,对应年份的十位,年只显示两位 MOV 37H,#0H ;扫描矩阵键盘时存扫描到的第 8 个键值,对应年份的个位,年只显示两位 MOV 38H,#0H ;扫描矩阵键盘时存扫描到的第 5 个键值,对应月份的十位 MOV 39H,#0H ;扫描矩阵键盘时存扫描到的第 6 个键值,对应月份的个位 MO

31、V 3AH,#0H ;扫描矩阵键盘时存扫描到的第 7 个键值,对应日期的十位 MOV 3BH,#0H ;扫描矩阵键盘时存扫描到的第 8 个键值,对应日期的个位 MOV R1,#2FH ;存储扫描矩阵键盘时将扫描到的第一个键值赋给的连续地址(30H3BH)的首地址为30H, ;但每次扫描到一个键值时赋给的目标字节地址增1,所以第一次扫键盘时初始地址应为2FH,增1 后为 30H ;45H47H用于延时子程序 ;4BH4DH用于存 年 月 日 MOV 48H,#0;48H4AH用于存 时 MOV 49H,#0;48H4AH用于存 分 MOV 4AH,#0;48H4AH用于存 秒 MOV 4BH,#

32、10;4BH4DH用于存 年 MOV 4CH,#6;4BH4DH用于存 月 MOV 4DH,#8;4BH4DH用于存 日 MOV 6EH,#10 ;6EH存定时器1定时100MS,中断十次为1S CLR F0 ;用于判断是否扫描矩阵键盘 MOV TMOD,#11H ;设置定时器0,1为工作方式1 SETB EA SETB ET1 SETB TR1 ;*定时器0对存储在以下连续单元进行滚动动态显示*;;*50H56H和67H6DH存的#10H对应的数码管段码为熄灭,让显示效果为所有显示的数都是从最左边一直移动到最右边* MOV 50H,#10H ;刚开始滚动显示时前面7位熄灭,效果为第一位从最右

33、边移入,如果没有熄灭前面7位,刚开始滚动显示第一个数是从最左边开始左移动的 MOV 51H,#10H ;同上 MOV 52H,#10H;同上 MOV 53H,#10H;同上 MOV 54H,#10H;同上 MOV 55H,#10H;同上 MOV 56H,#10H;同上;-要显示的数据- MOV 57H,#0H MOV 58H,#1H MOV 59H,#11H MOV 5AH,#3H MOV 5BH,#4H MOV 5CH,#11H MOV 5DH,#6H MOV 5EH,#7H MOV 5FH,#10H MOV 60H,#1H MOV 61H,#0H MOV 62H,#0H MOV 63H,#

34、6H MOV 64H,#0H MOV 65H,#7H MOV 66H,#10H;-要显示的数据- MOV 67H,#10H ;每滚动显示完一趟最后面7位熄灭,效果为最后一位从最右边移入,一直移到最左边,如果没有熄灭后面7位,最后一位刚移进时就没有了 MOV 68H,#10H ;同上 MOV 69H,#10H ;同上 MOV 6AH,#10H ;同上 MOV 6BH,#10H ;同上 MOV 6CH,#10H ;同上 MOV 6DH,#10H ;同上 ;* RESTAR:MOV 40H,#8 ;存放一轮动态显示8位,显示完一位40H减1 MOV 41H,#250;每显示完一轮8位, 41H 减1 ,当40H减到0时,要显示的内容的初始地址增加 1,以达到滚动显示的效果 MOV 42H,#0 MOV 43H,#0 MOV 44H,#23 ;显示23位,灭的7位+要显示的16位 MOV R0,#50H ;要显示内容的初始地址 MOV 40H,#8 ;每一轮显示的位数,显示完一位减 1 ;MOV R3,#01H ;右移动 MOV R3,#80H ;左移动 MOV DPTR,#0FE03H ;8255初

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号