网站大量收购独家精品文档,联系QQ:2885784924

单片机系统设计与应用实例课件作者韩志军主编第七章节.ppt

单片机系统设计与应用实例课件作者韩志军主编第七章节.ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4) 根据模块的划分原则,电子时钟软件可划分成七个模块,软件设计框图如图7-12所示。 图7-12 电子时钟软件设计框图 二、内存空间的分配 表7-3 内存地址空间的分配 第四节 电子时钟应用程序设计 一、主程序的设计 二、LED动态显示程序模块的设计 三、时钟计时程序模块的设计 四、键盘接收子程序的设计 一、主程序的设计 1.程序的起始地址 2.主程序的初始化内容 3.代码转换程序 4.主程序框图 5.主程序清单 1.程序的起始地址 图7-13 主程序框图 2.主程序的初始化内容 1) T0中断:采用T0定时中断工作方式,完成LED动态扫描。 2) T1中断:采用T1定时中断工作方式,产生100ms(或50ms)的单位时间。 3) 中断:采用外部中断工作方式,完成时间调整功能。 4) 中断:采用外部中断工作方式,完成闹钟时间输入功能。 3.代码转换程序 人们日常习惯使用十进制数,而计算机的键盘输入、输出以及显示常采用二进制编码的十进制数(即BCD码)或ASCII码。因此,在程序设计中经常要进行代码转换。各种代码之间的转换十分有用,除了硬件逻辑转换之外,程序设计中常采用算法处理和查表方式。参看LOP标号地址至AA标号地址之间的内容。这段程序的功能是完成将当前时间的二进制数转换成BCD码,并送到显示缓冲区。 4.主程序框图 主程序框图如图7-13所示。 5.主程序清单  ORG 0000H           LJMPMAIN;转主程序 ORG0003H;外部中断0中断服务程序入口地址 LJMPINTA;转外部中断0中断服务程序 ORG000BH;T0定时中断服务程序入口地址 LJMPT0—SEV;转T0定时中断服务程序 ORG0013H;外部中断1中断服务程序入口地址 LJMPINTB;转外部中断1中断服务程序 ORG001BH;T1定时中断服务程序入口地址 LJMPT1—SEV;转T1定时中断服务程序 ORG 0030H;设置主程序起始地址=0030H MAIN:MOVSP,#60H;设置堆栈指针 MOVA,#00H MOV 30H,A 二、LED动态显示程序模块的设计 1.T0定时器中断服务程序的功能 2.定时器T0的计数初值 3.T0定时器中断服务程序流程 1.T0定时器中断服务程序的功能 1) 从显示缓冲区分别取出4位LED显示器显示数据的位码和段码,送到P1口,依次显示每一位,每一位的显示时间为1ms,显示4位需要4ms的时间。 2) 在设置当前时间或输入闹钟时间时,当前调整位应具有闪烁(眨眼)功能,用来提示当前调整位是哪一位。 3) LED显示器每一位的显示时间是1ms,延时1ms子程序是典型的软件定时程序。 2.定时器T0的计数初值 设时钟频率为6MHz,一个机器周期时间为2μs。T0定时器产生10ms的定时,可以计算出计数值和计数初值: 计数值=定时时间机器周期时间=10ms2μs=5000 计数初值=65536-5000=60536=EC78H 初值寄存器的初值为:TH0=0ECH;TL0=78H 工作方式寄存器TMOD=???? 0001B=?1H,T0定时器,工作方式1,定时。 3.T0定时器中断服务程序流程 图7-14 T0定时器中断服务程序框图 三、时钟计时程序模块的设计 1.定时器T1的计数初值 2.程序设计框图 3.计时程序清单 1.定时器T1的计数初值 当时钟频率=6MHz时 计数值=定时时间机器周期时间=100ms2μs=50000 计数初值=65536-50000=15536=3CB0H 初值寄存器的初值为:TH1=3CH;TL1=B0H 工作方式计数器 TMOD=0001 ???? B=1?H(T1、T0的工作方式控制字应该一次性写入,即TMOD=11H) 2.程序设计框图 图7-15 时钟计时程序框图 3.计时程序清单 T1定时器,每100ms中断一次,中断10次为1s。 T1—SEV:MOV TH1,#3CH    ;重置T1计数初值 MOV TL1,#0B0H CLR EA;关中断 PUSH A;保护现场 PUSH B PUSH PSW CLR RS1 CLR RS0;选择0区工作寄存器 INC R2;中断次数加1 CJNE R2,#0AH,EN;判断中断10次否,否,转EN标号地址。 MOV R2,#0;T1中断10次的累计时间为1s,计数寄存器R2清零。 INC R3;秒计时单元R3+1 四、键盘接收子程序的设计 1.程序设计思路 2.设置当前时间程序清单 3.设置定时(闹钟)时间程序清单 1.程序设计思路 1) INTA子程序的功能是对当前时间进行调整。 2) 在程序中,将时钟的小时十位、小时个位、分十位、分个位分别进行调整。 3) 利用+1键和RET键配合使用,每次对+1键的

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档