- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C单片机秒倒计时的模拟与仿真设计
目 录
1学习心得 2
2结课设计 2
3正文 2
3.1 设计要求 2
3.2 结课设计的目标 3
3.3 设计方法和内容 3
3.3.1硬件设计方法 3
3.3.2软件设计方法 7
3.4 软件调试过程 9
3.4.1 系统调试工具keil C51 9
3.4.2 系统调试工具PROTEUS 9
4设计总结 10
5参考文献 11
心得
单片机课程是我们专业一个很重要的课程,因为单片机方面的很多知识都应用在机电一体化中。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。结课
本结课设计题目:单片机控制60s倒计时,利用定时器和计数器的原理将倒计时过程显示在LED数码管上。应用PROTEUS软件设计,仿真基于AT89c51单片机的60s倒计时实验。通过做一个综合性结课设计题目,达到对课程内容的消化、理解并提高解决问题的能力的目的。
正文
3.1 设计要求
对于单片机控制的60s倒计时的要求如下:
(1)用单片机AT89C51的定时器实现60s倒计时。本结课设计中用两位数码管静态显示倒计时秒值。
(2)用PROTEUS软件设计,仿真基于AT89c51单片机的60s倒计时实验。
3.2 结课设计的目标
3.3 设计方法和内容
本设计由硬件设计和软件设计两部分组成,总电路如图1所示,硬件设计主要包括单片机芯片选择,数码管选择及晶振,电容,电阻等元器件的选择及其参数的确定;软件设计主要是实现60秒倒计时程序的编写,包括利用中断实现1秒的定时及60秒的倒计时。
具体设计:通过AT89C51型号单片机,由P1和P2两组I/O引脚分别控制两个7SEG–COM –ANODE型号数码管,分十位控制和个位控制,达到显示60秒倒计时的目的。通过复位电路,在仿真过程中点击开关实现60复位。
图1 60秒倒计时总体电路设计
3.3.1硬件设计方法
AT89C51的芯片概述
AT89C51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 4.5-5V,一般我们选用+5V电压。外形及引脚排列如图所示 AT89C51主要特性
图2:89C51的核心电路框图
·与MCS-51 兼容
·4K字节可编程闪烁存储器
·寿命:1000写/擦循环
·数据保留时间:10年
·全静态工作:0Hz-24MHz
·三级程序存储器锁定
·128×8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
AT8951管脚说明 1 芯片 AT89C51 1 2 晶振 12M 1 3 电源电容 10UF 1 4 电容 30PF 2 5 电阻 10K 1 6 电阻 470 14 7 数码管 8段 2 共阳 3.3.2软件设计方法
图4 程序框图
定时/计数器初值计算
(1)本电路应用TIMER0 MODE 16位计数器的计时中断法。
(2)1秒等于1000000微秒,而每一计时脉冲是1微秒,因此需输入100000个计时脉冲,方可达到1秒的时间。本设计中,设定中断每次溢出时间50ms。
(3)由上式得知,循环20次即可达到1秒定时,即:
N=t/Tcy=0.05s/0.000001=5000
X=65536-5000=15536=3CB0H
(4)由上式得知5000个脉冲,首先需设定TL0=3CH,TH0=0B0H,此时第1次只要输入5000个脉冲输入,就会溢出;第2次至第20次,则需每1000000个计时脉冲,定时1秒。
(5)上电时,显示60,开始倒数计时按下开关实现复位。
软件程序
ORG 00H
SJMP STAR
ORG 1BH
SJMP T1S; 转T1中断服务程序
ORG 30H
STAR: MOV R2,#60; 倒计时初值
MOV R4,#20; 定时中断溢出计数器R4初值为20
MOV
文档评论(0)