资源描述:
《单片机数字时钟设计报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、目录一、实验目的…………………………………………………………2二、实验要求…………………………………………………………2三、整体设计方案……………………………………………………21、总框图及流程…………………………………………………22、主要子程序框图及说明………………………………………3四、参考程序…………………………………………………………6五、调试记录及调试结果……………………………………………16六、系统实现功能及操作说明………………………………………16七、心得体会…………………………………………………………16八、附录………………………………………………………
2、………17参考文献…………………………………………………………17接口电路逻辑图…………………………………………………1719一、实习目的1、学会掌握KeilC51汇编语言程序的设计和调试。2、学会将所学的单片机原理的有关知识应用于实践,提高单片机应用于技术的实践操作技能,掌握单片机应用系统设计、研制的方法,培养理论联系实际的学习作风,提高动手能力、分析并解决实际问题的能力。3、使我们进一步了解掌握所学的专业知识,巩固和深化对单片机的结构、指令系统、中断系统、键盘/显示系统、接口技术、系统扩展、定时/控制、程序设计、应用开发、等基本理论知识的理解。4、通过设计、分析、调试
3、,培养我们工程意识,激发大家对产品开发的兴趣,及培养对科技革新、开发和创新的基本能力。二、实习要求本课题为数字钟设置,其效果为能正常显示数字时钟,显示时、分、秒,其中时为24小时制,并且通过合理的按键操作能修改时、分、秒的内容来修改时间。还有闹钟功能,可以给它设定一个时间,到这个时间它就能产生报警信号,并可以随时停止警报,如果不进行任何操作则它将响铃一分钟后自动停止响铃。除此之外还能显示日期,日期分为年、月、日,其显示方式为xxxx年xx月xx日,并且通过合理的按键操作可以任意设置日期时间。三、整体设计方案进入闹铃子程序显示闹铃时间进入闹铃设置子程序显示日期子程序显示日期
4、子程序进入设置日期子程序显示时间子程序进入设置时间子程序判断是否进入显示日期判断是否进入设置时间功能程序初始化,赋初值程序开始调用子程序,让秒增1,并且当时为24溢出时,让存放天的单元增1等待1s脉冲到来1、总体框图及流程判断是否进入设置日期判断是否进入闹铃时间设置判断是否闹铃判断是否停止响铃进入停止响铃子程序调用显示时间子程序192、主要子程序框图及说明1、秒增1子程序2、显示时间子程序框图分别已存好时、分、秒的40H,41H,42H将秒的十位存到78H,将秒的个位存到77H将分的十位存到7AH,将分的个位存到7BH将时的十位存到7DH,将秒时的个位存到7EH给79H和
5、7CH单元存放12H,让它显示"-"将77H~7EH单元的内容在数码管上显示一遍程序说明在秒增1的子程序里已经做好将秒、分、时分别存放在42H,41H,40H单元当中,在这里就是用DIV指令分离它们的个位和十位,然后分别存放在要显示的单元当中。退出返回程序预先设置40H,41H,42H分别用来存放时、分、秒让42H单元的内容增1,并判断是否为60溢出让41H单元的内容增1,并判断是否为60溢出让40H单元的内容增1,并判断是否为24溢出让67H单元的内容增1退出返回程序程序说明本程序的作用为设置时间的工作方式193、设置时间子程序4、显示日期子程序程序说明本程序为判断是否
6、进入时间设置程序,并且进入相应设置程序说明本程序为显示日期的子程序,里面包含了日期的工作方式子程序5、日期工作方式子程序程序说明本程序为日期的工作方式程序,它的结果不能直接显示,要通过一个月份的调整子程序调整才将日期显示出来,因为月份有大、小,有些月份为31天,有些月份为30天,有些则为28天。196、月份调整子程序7、设置闹铃时间子程序8、响铃子程序程序说明本程序要实现的功能为,当响铃信号来临时让警报响起程序说明本程序要实现的功能就是定时,当闹铃时间与当前时间相等时能实现响铃19八、源程序ORG0000HAJMPMAINMAIN:LCALLDELMOVDPTR,#0FE
7、03H;开片选端MOVA,#81HMOVX@DPTR,AMOVDPTR,#0FD03H;开片选端MOVA,#8BHMOVX@DPTR,AMOV45H,#0;设置初始值MOV44H,#0MOV43H,#23;预先设置显示缓冲区MOV6EH,#2MOV6DH,#0MOV6CH,#1MOV6BH,#0MOV6AH,#0MOV69H,#6MOV68H,#2MOV67H,#6MOVTMOD,#01H;设置中断方式MOV20H,#28H;设置中断次数CLRAMOV40H,A;闹铃缓冲区预先设置MOV41H,AMOV42H,ASETBET0