- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机相关课设论文
数字电子钟的设计
本次课程设计是基于AT89S51单片机的关于电子时钟的设计。通过对该产品的调试与设计,巩固《微机原理及接口技术》课程所学的理论知识,初步了解单片机应用系统设计与调试的方法。
首先,本次设计任务是为完成电子时钟的控制与实现:
设计一个以AT89S51单片机为核心的数字电子钟控制器,实现电子钟的时间、日期交替显示、闹钟功能,并可通过按钮开关或键盘切换显示内容、调整参数、设置闹钟,在单片机实验板上模拟调试实现控制器的功能。具体设计要求如下:
1.开机自检,检查相关接口及数码管显示器、指示灯、蜂鸣器等外设是否正常。
2.8位数码管显示器平常以一定的时间间隔、合适的格式显示时间和日期信息,时间显示时、分、秒;日期显示年(2000~2099)、月、日;设置闹钟功能时显示时、分、开/关状态。
3.可通过按键设定时间、日期、闹钟等参数、手动切换显示。按键可用独立式按键或行列式键盘实现。设定参数过程有合适的方式指示当前可修改的内容。
4.对开关量输入进行软件消抖动处理,参数的设定有容错处理,如:小时不能超过23,日期中每月最大天数、闰年等。
5.参数设定过程中,较长时间无操作,则自动恢复为正常显示方式。
其次,电子时钟设计实现的主要功能:
1.系统主要功能:开机对数码管显示器、蜂鸣器自检;正常显示时间(HH-MM-SS)、日期(20YY.MM.DD),每隔10秒自动切换,并有按键可手动切换显示;闹钟功能,闹铃输出为蜂鸣器;键盘设置时间、日期、闹钟,闪烁显示可修改位,长时间(30S,可变)无操作自动恢复正常显示,输入容错处理。
2.键盘用行列式键盘,按键定义如右图所示。主要的按键有:
(1)数字键“0”~“9”,用于设置时输入时间和日期,正常工作时无效。
(2)“时间设置”、“日期设置”、“闹钟设置”,用于进入相应功能的设置状态。
(3)“闹钟开关”在闹钟设置状态时,用于设置闹钟开或关,正常工作时,用于手动关闹铃的声音。
(4)“确认”用于设置参数的确认,并检查参数是否合理,如果符合要求,则参数有效;否则本次修改无效,保持原值。正常工作情况下按该键无操作。
(5)“显示切换”用于正常工作时手动切换时间、日期的显示。
一.程序流程:
模块一:
程序初始入口→主程序各功能的设定
模块二:
调用子程序说明
模块三:
各子程序的程序说明
二.数码管电子时钟系统总体框图及说明
1、闹铃部分:采用蜂鸣器作为设定时间报时。
2、键盘部分:设计中共有八个按键:K0控制时间的分钟加(闹钟定时分钟加)、K1控制时间加(闹钟定时时间加)、K2控制日期加、K3控制月份加、K4控制年份加、K5控制闹钟开/关、K6显示闹钟、K7时间/日期切换。
3 、显示模块:采用共阴极LED数码管显示
一,主程序
首先,根据实验要求选定主程序入口程序及中断服务程序的入口,主程序中调用自检,延时程序,8255A的初始化,定义工作方式,设置中断方式,定义时间、日期、闹铃的初始值。
1,主程序部分(中断系统初始化)
设置堆栈指针SP
MOV SP,#6FH
开放中断。
SETB EA ;中断总允许位
SETB ET0 ;允许T0中断
SETB TR0 ;起动T0中断
2,8255A的初始化
显示驱动程序:
(实验仪上8255的A口、B口、C口、控制寄存器地址为FEFCH、FEFDH、FEFEH、FEFFH;假设显示缓冲单元用30H~37H)
在主程序中对8255初始化
MOV A,#89H;8255的A口、B口为输出
MOV DPTR,#0FEFFH;指向8255控制口
MOVX @DPTR,A ;将控制字写入控制寄存器
显示子程序完成动态显示的控制
3,定义工作工作方式
选择T0工作于定时、方式2、定时时间为250(s。TMOD=0000 0010B=02H计算初值
fosc=11.0592MHz (机器周期TM=1.09 (s 要定时250 (s 即要计数230个机器周期脉冲
初值=28-230=26=1AH
MOV TMOD,#02H
MOV TL0,#1AH
MOV TH0,#1AH
定时:将时钟脉冲经12分频后的脉冲(即机器周期脉冲)作为计数的脉冲源。
定时时间Tc=X(TM=(216-初值) ( 12/fosc
即对机器周期脉冲TM进行计数。
4,计数初值设定
38H、39H作为软件计数器
MOV 38H,#200 ;
MOV 39H,#20
5,日期、时间、闹铃初始设置
利用定时器T0定时,模拟24小时走时的电子钟,时、分、秒以BCD码形式依次存放在3CH、3BH、3AH,闹钟存放在41H、42H单元。
CLR 20H.0
MOV 21H,#
文档评论(0)