数字钟在单片机上的实现(汇编语言).doc
《数字钟在单片机上的实现(汇编语言).doc》由会员分享,可在线阅读,更多相关《数字钟在单片机上的实现(汇编语言).doc(40页珍藏版)》请在咨信网上搜索。
1、数字钟在单片机上的实现(汇编语言) 作者: 日期:2 个人收集整理 勿做商业用途武汉大学电子信息学院电子系统综合设计课程论文数字钟在单片机上的实现(汇编语言)专 业: 年 级: 作 者: _ _ 指导教师: 2012年 06 月 29 日3目 录1 作品的背景与意义12 功能指标设计12.1设计要求12.1.1 基本要求12。1。2 拓展要求12.2 功能设计方案13 作品方案设计23.1总体方案的选择23.2模块划分及分析33。3 单模块设计流程图34 模块源程序75 系统测试35测试数据:366 心得体会361 作品的背景与意义数字钟是一种用数字电路技术实现时、分、秒计时的钟表。与机械钟相
2、比具有更高的准确性和直观性,具有更长的使用寿命,已得到广泛的使用.数字钟的设计方法有许多种,例如可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用单片机来实现电子钟等等。这些方法都各有其特点,其中利用单片机实现的电子钟具有编程灵活,以便于功能的扩展。2 功能指标设计2。1设计要求2。1。1 基本要求1. 设计一个精确的1秒定时器; 2. 根据1秒定时器,设计一个带小时、分钟、秒的时钟,并将小时、分钟、秒显示在LED上; 3. 设计小时、分钟、秒的修改按键,可分别调整小时、分钟、秒(按键设计参考电子表)。 2。1。2 拓展要求1. 增
3、加小时、分钟、秒的键盘直接修改功能; 2. 设计闹钟功能,最多支持5个闹钟,可分别查看和修改闹钟时间,可分别设置闹钟开关;3. 增加万年历功能。2。2 功能设计方案1。 实现正常走时(秒-分-时日月年进位);2. 能够设置时间和日期;3. 能够自动区分平闰年和大小月及2月;4。 具有5个闹钟及其设置功能;5. 在任何设置状态下,修改位会闪烁显示。3 作品方案设计3.1总体方案的选择以T0计时器中断产生1s信号,T1计时器中断刷新数码管。系统软件流程图如下所示:设计时使T0优先级高于T1以确保准确计时,初始化完成后,程序一直处于主循环模块,主循环模块中有设置按键的检测模块,当遇到设置信号暂时跳出
4、主循环去执行相应的设置模块,时间设置,日期设置,闹钟设置3大模块彼此之间是相互独立且平行的,他们和主循环模块也不干扰。因此,当进入任何一个模块时,其他模块中的所有功能和按键都暂时失效,程序由始至终中断服务一直打开.3.2模块划分及分析MAIN:初始化程序模块进行初值的分配(栈顶地址,初始时间,初始日期,初始化闹钟及相关标志地址)各定时器,中断初始化。ZHUXUNHUAN:主循环模块程序主要执行部分,包含闹钟检测,独立按键检测(日期时间转换检测),矩阵按键检测(闹钟设置,日期设置,时间设置)3大检测部分。SERVE:1s中断服务中断走时:秒分时日月年XIAGSHI:刷屏中断服务(显示中断服务)以
5、人眼不能分辨的频率一次刷新8或6位数码管来显示时间或日期及其他设置界面。SHIJIANSHEZHI:时间设置模块修改时间,其中修改位闪烁显示加以区分,内嵌了时间的自动检测和校正代码,既不允许修改出现不存在的时间。WANNIANLISHEZHI:日期设置模块修改日期,同样的修改位闪烁加以区分,内嵌了日期的自动检测和校正代码,既不允许出现不存在的日期。NAOZHONGSHEZHI:闹钟设置模块修改闹钟时间,闹钟开关的置换,修改位闪烁加以区分,内嵌时间自动监测和校正代码已设置正确的时间。3。3 单模块设计流程图 在完成的整体设计和模块划分后,便进入到工作量最大的单模块流程设计.主循环:说明:1。初始
6、化时,将保存5个闹钟(按时分秒顺序排放)的15个地址50H5EH均清零,将对应的5个闹钟开关0AH0EH也都清零表示闹钟开关状态,检测闹钟时,从第一个闹钟开始分别检测开关,时分秒只要有任何一项不符合及即检测下一个闹钟,到最后一个闹铃也不符合时,进入按键检测部分.2.按键检测包含独立按键和矩阵按键两部分,独立按键很简单,矩阵按键则编写检测子程序,将检测到的键值保存在寄存器R7中,没有检测到按键时不改变R7的数值.因此,检测器先将R7里面放入0FH(只要不是00H#0CH中的数即可),然后调用矩阵键盘检测子程序,再来通过检测R7的数值来判断有无按键按下或按下的那个键.时间设置模块: 说明:1.进入
7、时间设置模块后,时的十位开始闪烁,通过独立按键s17,s18可以向右向左移动闪烁即修改位,修改正确的判断实际上是对将要修改完成的时间进行合理性的判断,如合理则修改时间,若不合理则此次按键失效。2.检测到退出信号后,先要将所有初始化过程中改变了的标志位还原,如闪烁开关位等,再调回主循环。日期设置模块: 日期设置模块和时间设置模块几乎完全一样,所不同的是初始化不一样及日期设置里面有8位数码管需要刷新,而且由于日期比时间复杂,因此该模块中有两处日期校正部分,一部分是对按键修改是否正确的判断,使用方法也是使相应按键暂时失效(例如:修改前日期是2012:03:31,那么此时月份上得十位19所以数字都暂时
8、失效,日个位上的2-9所以数字也都全部暂时失效);另一部分是修改后的日期校正,通过调用该子程序,防止上一部分不能消除的错误日期设置(例如:修改前日期是2012:01:31,这时修改月份个位为2则日期变为2012:02:31,显然这样的日期是不存在的,这时校正程序将日期进位,日期更改为2012:03:01)。这部分校正模块在后面的1s中断服务中也有使用.下图为该模块流程图:闹钟设置模块: 闹钟设置模块和时间设置一是大同小异,主要区别在于多了一部分闹铃开关的检测。下图为该模块流程图:4 模块源程序 ORG 0000H AJMP MAIN ORG 000BH AJMP SERVE ORG 001BH
9、 AJMP XIANSHITAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H,40H ;段选表0,1,2,3,4,5,6,7,8,9,熄灭,-TAB1: DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH,00H,40H;段选表 带小数点,同上MAIN: /*/初始化 MOV SP,#60H ;栈指针地址赋值 MOV 3CH,0CH ;设置界面修改位的闪烁频率 具体代码在SERVE 1秒中断服务中 MOV 37H,0FFH ;临时地址 预留给39H MOV 39H,#0FFH ;段位标志 8位
10、数据对应8个数码管 为0的那位数码管始终暗 MOV 3AH,11111101B ;界面转换标志*01为时间界面 取反后 *10为万年历界面 *00为设置闹钟界面 CLR A ;时间万年历初始化 时间00:00:00 万年历2000。01。01 MOV 30H,A ;时 MOV 31H,A ;分 MOV 32H,A ;秒 MOV 33H,01H ;日 MOV 34H,01H ;月 MOV 35H,A ;年 只能显示20002099的时间 MOV 3DH,A ;数码管闪烁开关 初始化为关闭状态 取反后 11111111 打开 MOV 40H,A ;闹钟设置界面预留地址地址 MOV 41H,A MO
11、V 42H,A MOV 43H,A MOV 44H,A MOV 45H,A MOV 46H,A MOV 47H,A MOV 50H,A ;闹钟1 时 MOV 51H,A ;闹钟1 分 MOV 52H,A ;闹钟1 秒 MOV 0AH,A ;闹钟1 开关 00000000为关闭状态 取反后打开闹钟1 MOV 53H,A ;同上 MOV 54H,A MOV 55H,A MOV 0BH,A MOV 56H,A MOV 57H,A ;同上 MOV 58H,A MOV 0CH,A MOV 59H,A ;同上 MOV 5AH,A MOV 5BH,A MOV 0DH,A MOV 5CH,A ;同上 MOV
12、5DH,A MOV 5EH,A MOV 0EH,A/中断,定时器初始化 MOV TMOD,11H MOV 38H,#14H;T0定时器每50ms溢出一次 溢出20次为一秒 SETB PT0 ;优先级设置 1秒中断为最高级 屏幕刷新优先级低 SETB PT1 SETB ET0 SETB ET1 SETB EA MOV TH1,0DFH ;T1定时器 设置显示扫描频率 MOV TL1,#0E0H MOV TH0,3CH ;T0定时器 设置为50ms MOV TL0,#0B0H SETB TR1 SETB TR0/*/程序主循环 ZHUXUNHUAN:/闹钟检测 MOV A,0AH JZ NAO2
13、;检测闹钟开关 若关检测下一个闹钟,否则检测时间是否为闹钟设定时间 MOV A,30H CJNE A,50H,NAO2 MOV A,31H CJNE A,51H,NAO2 MOV A,32H CJNE A,52H,NAO2 AJMP XIANG ;时间为闹钟设定时间吻合 进入闹铃程序 下同NAO2: MOV A,0BH JZ NAO3 MOV A,30H CJNE A,53H,NAO3 MOV A,31H CJNE A,54H,NAO3 MOV A,32H CJNE A,55H,NAO3 AJMP XIANGNAO3: MOV A,0CH JZ NAO4 MOV A,30H CJNE A,56
14、H,NAO4 MOV A,31H CJNE A,57H,NAO4 MOV A,32H CJNE A,58H,NAO4 AJMP XIANGNAO4: MOV A,0DH JZ NAO5 MOV A,30H CJNE A,59H,NAO5 MOV A,31H CJNE A,5AH,NAO5 MOV A,32H CJNE A,5BH,NAO5 AJMP XIANGNAO5: MOV A,0EH JZ BU MOV A,30H CJNE A,5CH,BU MOV A,31H CJNE A,5DH,BU MOV A,32H CJNE A,5EH,BU AJMP XIANG/检测独立按键BU: JB T
15、0,ZHU1;检测s19是否按下 按下进入万年历界面,否则检测矩阵键盘 MOV A,3AH;界面转换标志取反即可使得时间和万年历界面相互转换 CPL A MOV 3AH,A/检测矩阵键盘/检测到按键1,2,3,4,5时进入对应的闹钟设置界面 检测到0BH(对应s11)进入时间设置界面 检测到0CH(对应s12)进入万年历设置界面/若未检测到按键 则跳回主程序继续下一个检测周期ZHU1: MOV R7,#0FH ACALL JIANCEANJIAN ;矩阵键盘检测子程序 将检测到的键值存入r7 CJNE R7,0FH,ZHU2 AJMP ZHUXUNHUANZHU2: CJNE R7,0BH,Z
16、HU3 AJMP SHIJIANSHEZHIZHU3: CJNE R7,#0CH,ZHU4 AJMP WANNIANLISHEZHIZHU4: CJNE R7,01H,ZHU5 AJMP NAOZHONGSHEZHIZHU5: CJNE R7,#02H,ZHU6 AJMP NAOZHONGSHEZHIZHU6: CJNE R7,03H,ZHU7 AJMP NAOZHONGSHEZHIZHU7: CJNE R7,#04H,ZHU8 AJMP NAOZHONGSHEZHIZHU8: CJNE R7,05H,ZHUXUNHUAN0 AJMP NAOZHONGSHEZHIZHUXUNHUAN0: AJ
17、MP ZHUXUNHUAN/*/1秒中断服务 见书141例6-6SERVE: CLR EA PUSH B PUSH DPH PUSH DPL PUSH PSW PUSH ACC MOV TH0,3CH MOV TL0,#0B0H MOV A,3DH JZ SE MOV A,3CH CJNE A,#6,SE0 MOV 39H,37HSE0: DJNZ 3CH,SE MOV 39H,0FFH MOV 3CH,#0CHSE: DJNZ 38H,RETURN MOV 38H,14H MOV A,#01H ADD A,32H MOV 32H,A CJNE A,#3CH,RETURN MOV 32H,#0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 单片机 实现 汇编语言
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。