- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MCS-51单片机可调数字电子钟设计
MCS-51单片机设计
目 录第一部分 课程设计任务书 1
一、课程设计题目 1
二、课程设计时间 1
三、课程设计提交方式 1
四、设计要求 1
第二部分 课程设计报告 2
一、单片机发展简史 2
二、MCS-51单片机系统简介 2
三、设计思路 2
四、硬件设计电路 2
五、软件设计流程 2
六、程序源代码 2
七、结束语 2
八、参考文献 2
第一部分 课程设计任务书
课程设计题目
二、课程设计时间一周
课程设计提交方式提交课程设计报告
要求00:00:00。
2)自动计时,显示24小时制时间,由6位LED显示器显示时、分、秒。
3)具备校准功能,可以直接由按键设置当前时间。
第二部分 课程设计报告
单片机发展单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机单片机诞生于1971年,经历了SCM、MCU、SoC三大阶段,早期的SCM单片机都是8位或4位的。其中最成功的是INTEL的8031,此后在8031上发展出了MCS51系列MCU系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。
而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。高端的32位Soc单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。
当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。
MCS-51单片机系统简介
在HMOS技术大发展的背景下,Intel公司在MCS-48系列的基础上,于1980年推出了8位MCS-51系列单片机。它与以前的机型相比,功能增强了许多,就其指令和运行速度而言,超过了INTEL8085的CPU和Z80的CPU,成为工业控制系统中较为理想的机种。较早的MCS-51典型时钟为12MHz,而目前与MCS-51单片机兼容的一些单片机的时钟频率达到40MHz甚至更高,现在已有400MHz的单片机问世。
设计思LED显示器,显示小时、分、秒;设计三个按钮开关作为手动校准。其工作流程如下:
1) 时间显示:上电后,系统自动进入时钟显示,从00:00:00开始计时。
2) 时间校准:按下第一个按钮开关后,系统停止计时,循环进入小时、分钟、秒设定状态,分别按下第二、第三个按钮开关上下设置时间,系统将自动由设定后的时间开始计时显示。
置初始时钟用三个键:
K2(P3.4)用于改变显示状态,有四个状态: 1—修改时 2—修改分 3—修改秒 0—显示状态。
K3(P3.5) 用于当修改“时”、“分”、“秒”分别在这三个状态下对时、分、秒内容加1.
K4(P3.6) 用于当修改“时”、“分”、“秒”分别在这三个状态下对时、分、秒内容减1.
四、硬件电路设计
五、软件设计
1)主程序:初始化与键盘监控。
2)计时:为定时器中断服务子程序,完成刷新计时缓冲区的功能。
3)时间设置:由按键设置当前时间。
4)键盘扫描:判断是否有键按下,并确定键号。
5)显示:完成8位动态显示。
主程序流程图
对各单元先初始化,启动定时器,循环调用按键子程序进行判断有无按键按下,若有进行按键处理若无就调用显示子程序。
键盘中断处理流程图
按键中断处理部分,判断有无键按下,确定键值用以调整时间;就是首先开中断对按键进行消抖动的处理,确定有键按下之后将被按下的键号存起来,若无按键按下返回继续判断。
六、程序源代码#includereg51.h
typedef unsigned char uint8;
typedef unsigned int uint16;
uint8 number[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x0
文档评论(0)