- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机设计秒倒计时正计时Proteus仿真
60秒倒计时设计
一:1.目的
课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训练。
2.要求
单片机控制的60s倒计时
(1)用单片机AT89C51的定时器实现60s倒计时。
(2)用PROTEUS设计,仿真基于AT89c51单片机的60s倒计时实验。
3. 目标
通过课程设计,使自己深刻理解并掌握基本概念,掌握单片机的基本应用程序设计及综合应用程序设计的方法。
2:方案选择
图2.1:60秒倒计时总体电路设计
本设计由硬件设计和软件设计两部分组成,总电路框图如图2.1所示。
具体设计:通过AT89C51型号单片机,由P1和P2两组I/O引脚分别控制两个7SEG–COM –ANODE型号数码管,分十位控制和个位控制,达到显示60秒倒计时的目的。通过复位电路,在仿真过程中点击开关实现60复位
3.1 AT89C51
外形及引脚排列如图3.1所示
图3.1:89C51的核心电路框图
主要特性
·与MCS-51 兼容
·4K字节可编程闪烁存储器
·寿命:1000写/擦循环
·数据保留时间:10年
·全静态工作:0Hz-24MHz
·三级程序存储器锁定
·128×8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
管脚说明
(1)电源及时钟引脚(4个)
Vcc: 电源接入引脚
Vss:接地引脚
XTAL1:晶振震荡器接入的一个引脚(采用外部振荡器时,此引脚接地);
XTAL2:晶体振荡器的另一个引脚(采用外部振荡器时,此引脚作为外部振荡器信号的输入端)。
(2)控制线引脚(4个)
RST/Vpd:复位信号输入引脚/备用电源输入引脚;
ALE:地址锁存允许信号输出引脚/编程脉冲输入引脚:
EA:内外存储器选择引脚/片外EPROM编程电压输入引脚;
PSEN:外部程序存储器选通信号输出引脚。
(3)并行I/O引脚
P0.0-P0.7:一般I/O口引脚或数据/低位地址总线复用引脚;
P1.0-P1.7:一般I/O口引脚;
P2.0-P2.7:一般I/O口引脚或高位地址总线引脚;
P3.0-P3.7:一般I/O口引脚或第二功能引脚
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度本设计中还用到其他一些元器件,如:晶振,电容,电阻排,电解电容,开关等等。
晶振采用频率为12MHZ,连接的两个电容为30pF;电阻排为470*8,能够实现8个470欧电阻的等效替换;电解电容为10u;开关功能是在仿真过程中,按下开关便能实现60秒复位。
4. 软件设计
4.1定时/计数器初值计算
(1)本电路应用TIMER0 MODE 16位计数器的计时中断法。
(2)1秒等于1000000微秒,而每一计时脉冲是1微秒,因此需输入100000个计时脉冲,方可达到1秒的时间。本设计中,设定中断每次溢出时间50ms。
(3)由上式得知,循环20次即可达到1秒定时,即:
N=t/T=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 0000H
AJMP MAIN
ORG 0030H
MAIN: MOV R2,#60 ;计数初值
LOOP1: MOV A,R2
MOV B,#10
DIV AB
MOV DPTR,#TABLE
MOVC A,@A+DPTR ;查表
MOV P1,A ;十位显示
MOV A,B
MOVC A,@A+DPTR
MOV P2,A ;个位显示
MOV R7,#20
LOOP0: MOV TMOD,#01H ;置T0工作于方式0
MOV TH0,#3CH ;装入计数初值
MOV TL0,#0B
文档评论(0)