资源描述:
《单片机相关课设论文》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数字电子钟的设计本次课程设计是基于AT89S51单片机的关于电子时钟的设计。通过对该产品的调试与设计,巩固《微机原理及接口技术》课程所学的理论知识,初步了解单片机应用系统设计与调试的方法。首先,本次设计任务是为完成电子时钟的控制与实现:设计一个以AT89S51单片机为核心的数字电子钟控制器,实现电子钟的时间、日期交替显示、闹钟功能,并可通过按钮开关或键盘切换显示内容、调整参数、设置闹钟,在单片机实验板上模拟调试实现控制器的功能。具体设计要求如下:1.开机自检,检查相关接口及数码管显示器、指示灯、蜂鸣器等外设是否正常。
2、2.8位数码管显示器平常以一定的时间间隔、合适的格式显示时间和日期信息,时间显示时、分、秒;日期显示年(2000~2099)、月、日;设置闹钟功能时显示时、分、开/关状态。3.可通过按键设定时间、日期、闹钟等参数、手动切换显示。按键可用独立式按键或行列式键盘实现。设定参数过程有合适的方式指示当前可修改的内容。4.对开关量输入进行软件消抖动处理,参数的设定有容错处理,如:小时不能超过23,日期中每月最大天数、闰年等。5.参数设定过程中,较长时间无操作,则自动恢复为正常显示方式。其次,电子时钟设计实现的主要功能:1.系统
3、主要功能:开机对数码管显示器、蜂鸣器自检;正常显示时间(HH-MM-SS)、日期(20YY.MM.DD),每隔10秒自动切换,并有按键可手动切换显示;闹钟功能,闹铃输出为蜂鸣器;键盘设置时间、日期、闹钟,闪烁显示可修改位,长时间(30S,可变)无操作自动恢复正常显示,输入容错处理。2.键盘用行列式键盘,按键定义如右图所示。主要的按键有:(1)数字键“0”~“9”,用于设置时输入时间和日期,正常工作时无效。(2)“时间设置”、“日期设置”、“闹钟设置”,用于进入相应功能的设置状态。(3)“闹钟开关”在闹钟设置状态时,用
4、于设置闹钟开或关,正常工作时,用于手动关闹铃的声音。(4)“确认”用于设置参数的确认,并检查参数是否合理,如果符合要求,则参数有效;否则本次修改无效,保持原值。正常工作情况下按该键无操作。(5)“显示切换”用于正常工作时手动切换时间、日期的显示。一.程序流程:模块一:程序初始入口→主程序各功能的设定模块二:调用子程序说明模块三:各子程序的程序说明9二.数码管电子时钟系统总体框图及说明AT89S51电源闹铃时钟键盘数码管显示1、闹铃部分:采用蜂鸣器作为设定时间报时。2、键盘部分:设计中共有八个按键:K0控制时间的分钟加
5、(闹钟定时分钟加)、K1控制时间加(闹钟定时时间加)、K2控制日期加、K3控制月份加、K4控制年份加、K5控制闹钟开/关、K6显示闹钟、K7时间/日期切换。3、显示模块:采用共阴极LED数码管显示一,主程序首先,根据实验要求选定主程序入口程序及中断服务程序的入口,主程序中调用自检,延时程序,8255A的初始化,定义工作方式,设置中断方式,定义时间、日期、闹铃的初始值。1,主程序部分(中断系统初始化)设置堆栈指针SPMOVSP,#6FH开放中断。SETBEA;中断总允许位SETBET0;允许T0中断SETBTR0;起动
6、T0中断2,8255A的初始化显示驱动程序:(实验仪上8255的A口、B口、C口、控制寄存器地址为FEFCH、FEFDH、FEFEH、FEFFH;假设显示缓冲单元用30H~37H)在主程序中对8255初始化MOVA,#89H;8255的A口、B口为输出MOVDPTR,#0FEFFH;指向8255控制口MOVX@DPTR,A;将控制字写入控制寄存器显示子程序完成动态显示的控制3,定义工作工作方式选择T0工作于定时、方式2、定时时间为250ms。TMOD=00000010B=02H计算初值fosc=11.0592MHz
7、机器周期TM=1.09ms要定时250ms即要计数230个机器周期脉冲初值=28-230=26=1AHMOVTMOD,#02HMOVTL0,#1AH9MOVTH0,#1AH定时:将时钟脉冲经12分频后的脉冲(即机器周期脉冲)作为计数的脉冲源。定时时间Tc=X*TM=(216-初值)*12/fosc即对机器周期脉冲TM进行计数。4,计数初值设定38H、39H作为软件计数器MOV38H,#200;MOV39H,#205,日期、时间、闹铃初始设置利用定时器T0定时,模拟24小时走时的电子钟,时、分、秒以BCD码形式依次存放
8、在3CH、3BH、3AH,闹钟存放在41H、42H单元。9CLR20H.0MOV21H,#0HMOV55H,#0HMOV56H,#0FFHMOV41H,#34HMOV42H,#22HMOV3AH,#55HMOV3BH,#33HMOV3CH,#22HMOV4AH,#30HMOV4BH,#4HMOV4CH,#23H96,BCD码说明:用4位二进制数