- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1 设计课题任务、功能要求及总方案
1.1 设计课题任务
通过理论设计和实物制作解决相应的实际问题,巩固和运用在《单片机技术》中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。
1.2 功能要求
设计一个具有特定功能的数字式秒表。该数字式秒表上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。该数字式秒表应具有开始、暂停、连续、清零和停止功能。
1.3 设计总方案
以89C52单片机为中心器件,利用其定时器/计数器定时、计数的原理和中断系统实现开始暂停的功能采用汇编语言编写程序,结合:晶振电路,显示电路,按键电路,复位电路,电源电路等来设计计时器,将软、硬件结合起来。
LED显示的数据存放在内存单元78H-7FH中。其中78H存放毫秒位的数据,79H存放十毫秒位数据,7BH存放秒位数据,7CH存放十秒位数据,7EH存放分位数据,7F存放十分位数据。
计时采用定时器T0中断完成,定时溢出中断周期为1ms,每发出一次中断请求就对毫秒计数单元进行加一,达到10次就对十毫秒位进行加一,依次类推,直到59分59秒99毫秒重新复位。
硬件基本电路原理图如图1.1所示。
图1.1硬件电路原理图
2 硬件系统的设计
2.1 硬件系统各模块功能
2.1.1 显示电路
本次设计采用数码管显示电路。用8个共阳极LED显示,LED是七段式显示器,内部有7个条形发光二极管和1个小圆点发光二极管组成,根据各管的亮暗组合成字符。
采用LED动态显示,用P0口驱动显示。由于P0口的输出级是开漏电路,用它驱动时需要外接上拉电阻才能输出高电平。
2.1.2 按键电路
在按键电路中,我们可以在I/O口上直接接按键,或者通过I/O口设计一个键盘,然后通过键盘扫描程序判断是否有键按下等。本次设计用部分P1口做开关,P1.3为开始/停止,P1.4为暂停/继续P1.5为清零。
2.1.3 晶振电路
单片机内部的振荡电路是一个高增益反向放大器,引线XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟电路的输入和来自反相振荡器的输出。
本次设计采用12MHz晶振。
2.1.4 复位电路
采用上电+按键复位电路,上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使用使RST持续一段时间的高电平,从而实现上电加开关复位的操作。这不仅能使单片机复位,而且还能使单片机的外围芯片也同时复位。
2.2 电路原理图、PCB图、元器件布局图
2.2.1 电路原理图
参见附录一
2.2.2 PCB图
参见附录二
2.2.3 元器件分布图
参见附录三
2.3 元器件清单
参见附录四
3 软件系统的设计
3.1 单片机资源使用情况
核心主控制器AT89C52:8k字节Flash,256字节RAM,32 位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
定时器0完成定时中断周期和对中断请求发出后计数单元的计数。
LED数码管显示器:P0口段控线接LED的显示段dp,g,f,e,d,c,b,a;P2口位控线接LED;显示缓冲区存放在内存单元78H-7FH中。
独立式键盘:P1口线接按键。
3.2 软件系统各模块功能
3.2.1 主程序
主程序是整个程序的主体,协调各个子程序之间的联系。
系统上电/复位后,进入主程序。首先对系统进行初始化,包括设置各入口地址、中断的开启、对各个数据缓存区清“0”、赋定时器初值,初始化完毕后,就进入数码管显示程序。
数码管显示程序对显示缓存区内的数值进行调用并在数码管上进行动态显示。显示一次就对按键进行一次扫描,查询按键是否按下,并不断地调用显示缓存区的数据进行显示。使用户能清楚的看到当前电子秒表所记录的时间。在主程序中还进行了赋寄存区的初始值、设置定时器初值等操作,当定时时间到后就转去执行定时中断程序。并在执行完后返回主程序。
3.2.2 键功能程序
按照独立式键盘的标准设计的键盘扫描程序,采用查询方法以确定各个键的按下与否。它具有判定有无按键动作、去抖动、确认是否真正有闭合键、计算并保存闭合键键码(键号)、判定闭合键是否释放和恢复闭合键键码(键号)的功能。
3.2.3 中断服务程序
当定时/计数器T0器溢出后,向CPU发出中断请求信号。CPU跳转到定时中断程序执行。定时中断程序是一个进位程序,主要负责对1ms的加一。1ms位没有满十就跳出中断程序,返
文档评论(0)