- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《单片机原理及应用》
课程设计报告
专 业:
班 级:
姓 名:
指导教师:
20 年月 日
目录
1.设计目的及要求 4
1.1设计目的 4
1.2设计要求 4
2. 数字钟的设计方案 5
2.1数字钟功能 5
2.2设计思路 5
2.3 设计流程图 5
3. 数字钟硬件电路设计 6
4. 数字钟软件设计 9
4.1 初始化模块 9
4.2 显示模块 9
4.3 按键模块 10
4.4定时和延时模块 10
5. 仿真与调试 10
5.1 软件仿真 10
5.2 硬件连接 13
5.3 硬件测试 13
6. 心得体会 14
7. 指导老师及意见 14
8. 附录 16
基于单片机的数字钟设计
1.设计目的及要求
1.1设计目的
(1)学会掌握KeilC51汇编语言程序的设计和调试,熟悉51系列单片机结构特点,掌握软件设计的基本思路和基本方法。
(2)学会用汇编语言编写程序,并在电脑上会调用和检测程序的正确与否。学会MCS-51单片机上下载程序并验证。
(3)学会将所学的单片机原理的有关知识应用于实践,提高单片机应用于技术的实践操作技能,掌握单片机应用系统设计、研制的方法,培养理论联系实际的学习作风,提高动手能力、分析并解决实际问题的能力。
(4)使我们进一步了解掌握所学的专业知识,巩固和深化对单片机的结构、指令系统、中断系统、键盘/显示系统、接口技术、系统扩展、定时/控制、程序设计、应用开发、等基本理论知识的理解。
(5)通过设计、分析、调试,培养我们工程意识,激发大家对产品开发的兴趣,及培养对科技革新、开发和创新的基本能力。
1.2设计要求
(1)以MCS-52系列单片机,AT89C52为核心器件组成一个数字时钟系统。
(2)系统显示器由六位数码管组成,分别显示小时,分钟和秒。
2. 数字钟的设计方案
2.1数字钟功能
A.初始化显示00:00:00
B. P0.0,P0.1,P0.2分别接跳帽开关,P0.0按一下,秒钟加1;P0.1按
下分钟加1;P0.2按一下,小时加1.
C.复位电路,开关按下,重新回到初始化状态
2.2设计思路
对于数码管而言,数码管选共阴极数码管,对于每一个数码管,3,8脚接片选,给3.8脚接低电平,数码管选中,如此才可以亮。电路复位通过硬件电路实现,开关复位时,出于初始化状态,p3口接片选,p2口接数码管的七段。P0.0 P0.1 P0.2接开关,开关控制时分秒,调整时分秒,让时分秒与实际时间相一致。
2.3 设计流程图
3. 数字钟硬件电路设计 (此部分计算机专业同学不写,也请反映在目录及相关章节中)
3.1 时钟电路设计
本实验选用12MHZ 晶振作为外部晶振。即在 AT89S52的18和19脚(xtal1和xtal2)之间接一个12MHZ晶振,如图3.1
图3.1
3.2 复位电路设计
在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位抖动产生因为机械固有的物理特性,在瞬间接触的时候会有力学的回弹,造成2-8毫秒内信号不稳定。图3.4
图3.5
4. 数字钟软件设计
4.1 初始化模块
初始化模块中,时分秒初始化状态显示00:00:00,将时分秒各个数据放在各自的寄存器中,通过查表将00分别送给各个寄存器
4.2 显示模块
显示模块一直贯穿在整个过程中,首先我们选择的数码管是共阴极的,因此当我们给p3口低电平(清零信号)时,数码管被选中,通过延时子程序延时后再选中另外一个,不断的扫频,通过时分秒寄存器中值的变化完成各个模块之间的互连,最后通过查表显示。下面以秒作为例子说明显示模块是如何统一各个模块的。
初始化时,显示00,是通过51单片机的p3.4,p3.5口分别控制秒的个位和十位,时间推移,秒钟不断加1,加1自然要延时1S,所以就涉及中断计时的问题,故每次计时1S,寄存器中值自加1,查表过程中A片偏移自增1,00-01-02-03-04-05····-09-10······
文档评论(0)