课程设计(论文)_以AT89S51单片机为核心的数字电子钟控制器.docVIP

课程设计(论文)_以AT89S51单片机为核心的数字电子钟控制器.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计(论文)_以AT89S51单片机为核心的数字电子钟控制器

一、设计题目: 设计一个以AT89S51单片机为核心的数字电子钟控制器,实现电子钟的时间、日期交替显示、闹钟功能,并可通过按钮开关或键盘切换显示内容、调整参数、设置闹钟,在单片机实验板上模拟调试实现控制器的功能。 二、设计目的: 通过单片机应用产品的设计与调试过程,巩固课程所学理论知识,初步了解单片机应用系统设计与调试的方法。 三、设计要求: 1.开机自检,检查相关接口及数码管显示器、指示灯、蜂鸣器等外设是否正常。 2.8位数码管显示器平常以一定的时间间隔、合适的格式显示时间和日期信息,时间显示时、分、秒;日期显示年(2000~2099)、月、日;设置闹钟功能时显示时、分、开/关状态。 3.可通过按键设定时间、日期、闹钟等参数、手动切换显示。按键可用独立式按键或行列式键盘实现。设定参数过程有合适的方式指示当前可修改的内容。 4.对开关量输入进行软件消抖动处理,参数的设定有容错处理,如:小时不能超过23,日期中每月最大天数、闰年等。 5.用Protel设计可实现上述功能的控制器的原理图(最小应用系统)。 四、总体方案设计及说明: 本设计电子时钟系统,主控芯片采用AT89S51芯片。配合软件延时实现时、分、秒的计时。本系统设计采用此种软件控制方法来实现计时,通过定时器定时中断,使时间缓存单元数据加一,提供系统时间。同时可以通过独立键盘对电子时钟开始计时,暂停计时和结束计时的控制。单片机内的数据通过并行I/O接口输入输出。并驱动八位LED数码管(时、分、秒分别用2位数码管显示),动态显示数据。晶振及复位电路为单片机提供工作脉冲及复位信号。 五、系统资源分配说明: 接口电路逻辑图: 使用定时计数器0,TMOD设置为0x01;晶振频率11.0592MHz下,定时50ms的计数初值经过计算为4c00H(2^16-46080=4c00H),TH0设置为0x4c,TL0设置为0x00。 五、软件流程图及说明: 1.闹钟显示 开 开 始 闹钟是否打开 后6位数码管分别显示“-”、小时的2位、“-”分钟的2位 前2位数码管显示OP 前2位数码管显示CL 是 否 按键扫描,判断有没有按键,若有按键则退出闹钟显示 退 出 闹钟显示子程序,8个数码管显示已经设置好的闹钟时间,进行按键扫描,判断有没有按键,若有就去执行相应的功能,日期显示子程序和时间显示子程序和闹钟显示子程序类似。 2.键盘子程序 按键扫描: 功能扫描: 开 开 始 设置PC3~PC0为输入,PC7~PC4为输出,所有行(PC7~PC4)置0,读取列值 设置PC3~PC0为输出,PC7~PC4为输入,所有列(PC3~PC0)置0,读取行值 keyin=keyin_j|keyin_i;形成行列组合 结 束 开 始 设置PC3~PC0为输入,PC7~PC4为输出,所有行(PC7~PC4)置0,读取键盘 无键按下,返回0 有键按下,返回1 结 束 3.中断子程序 开 开 始 设置定时50ms的初值为4c00H 中断20次,秒单元加1 60秒到? 秒单元清零,分单元加1 60 60分钟到? 分单元清零,时单元加1 24小时到? 时单元清零,日单元加1 1个月到? 日单元清零,月单元加1 1年到? 月单元清零,年单元加1 将小时(time.hour)除以10,商赋给77H(动态显示对应的小时十位),余数赋给78H(动态显示对应的小时个位) 将分钟(time.minute)除以10,商赋给7aH(动态显示对应的小时十位),余数赋给7bH(动态显示对应的小时个位) 将 将秒(time.second)除以10,商赋给7dH(动态显示对应的小时十位),余数赋给7eH(动态显示对应的小时个位) INT0输入低电平,打开闹钟 结 束 六、系统功能与操作说明: 数字时钟能显示实时时间(HH-MM-SS)、日期(20YY.MM.DD)于LED数码管,并可以修改时间、日期。可以设置闹钟,时间到时,蜂鸣器会响起。按切换键可以在时间、日期、闹钟时间中切换。时间、日期、闹钟时间可调,按外部中断键时间暂停,进入时间、日期、闹钟时间设置,此时可以矩阵键盘输入时间日期,输入完后确认键时间按照设置的值接着走。 键盘用行列式键盘,按键定义如下图所示。主要的按键有: (1)数字键“0”~“9”,用于设置时输入时间和日期,正常工作时无效。 (2)“时间设置”、“日期设置”、“闹钟设置”,用于进入相应功能的设置状态。 (3)“闹钟开关”在闹钟设置状态时,用于设置闹钟开或关,正常工作时,用于手动关闹铃的声音。 (4)“确认”用于设置参数的确认,并检查参数是否合理,如果符合要求,则参数有效;否则本次修改无效,保持原值。正常工作情况下按该键无操作

文档评论(0)

qi1920809 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档