单片机设计60秒倒计时正计时Proteus仿真_第1页
单片机设计60秒倒计时正计时Proteus仿真_第2页
单片机设计60秒倒计时正计时Proteus仿真_第3页
单片机设计60秒倒计时正计时Proteus仿真_第4页
单片机设计60秒倒计时正计时Proteus仿真_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、60秒倒计时设计一:1.目的课程设计是单片机课程教学的最后一个环节,是对学生进行全面 的系统的训练。2. 要求单片机控制的60s倒计时(1) 用单片机AT89C51的定时器实现60s倒计时。(2) 用PROTEUS计,仿真基于AT89c51单片机的60s倒计时实验。3. 目标通过课程设计,使自己深刻理解并掌握基本概念,掌握单片机的 基本应用程序设计及综合应用程序设计的方法。2:方案选择图2.1 : 60秒倒计时总体电路设计本设计由硬件设计和软件设计两部分组成,总电路框图如图2.1所示。具体设计:通过AT89C5型号单片机,由P1和P2两组I/O引脚分别 控制两个7SEG- COM- ANODf

2、fi号数码管,分十位控制和个位控制, 达到显示60秒倒计时的目的。通过复位电路,在仿真过程中点击开关 实现60复位3.1 AT89C51-4 -外形及引脚排列如图3.1所示图3.1 : 89C51的核心电路框图主要特性与MCS-51兼容 4K字节可编程闪烁存储器寿命:1000写/擦循环U110XTAL2RST293031FSENJALEBA.PO.O/ADO; PO.1/AD1 P0.2/AD2 P0.3/AD3 FCL4/AD4 PO .6/AD6- PO BFAD6 PO .7/AD7P2.0#P2JJJ6G P2,2/A10 P23/A11 P2.4/A12 P2.6/V13 P2.6/

3、A14 P2.7/A153938373433322122232425262728JOW23.4J5JS7 PPPPPPPPF3.O/RXDP3J/TXDP3.2/1NTOP3.3/1NT1 PS.fTO P3.5ZT1P3.6/ijVRPS 7RDAT8QC51-数据保留时间:10年 -全静态工作:0Hz-24MHz-三级程序存储器锁定-128X 8位内部RAM 32可编程I/O线-两个16位定时器/计数器-5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路管脚说明(1) 电源及时钟引脚( 4个)Vcc: 电源接入引脚Vss :接地引脚XTAL1:晶振震荡器接入的一个引脚(采用

4、外部振荡器时,此引脚接 地);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 口引脚或第一功能引脚振荡器特性 :

5、XTAL1和 XTAL2分别为反向放大器的输入和输出。 该反向放大器 可以配置为片内振荡器。 石晶振荡和陶瓷振荡均可采用。 如采用外部 时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一 个二分频触发器, 因此对外部时钟信号的脉宽无任何要求, 但必须保 证脉冲的高低电平要求的宽度- # -本设计中还用到其他一些元器件, 如:晶振,电容,电阻排, 电解电容,晶振采用频率为12MHZ连接的两个电容为30pF;电阻排为470*8 , 能够实现8个470欧电阻的等效替换;电解电容为10u;开关功能是在仿 真过程中,按下开关便能实现 60秒复位。4. 软件设计4.1 定时/ 计数器初值计算

6、(1)本电路应用 TIMER0 MODE 1位6计数器的计时中断法。(2)1秒等于1000000微秒,而每一计时脉冲是 1微秒, 因此需输入 100000 个计时脉冲 , 方可达到 1秒的时间。本设计中,设定中断每次溢出时间 50ms。(3)由上式得知,循环 20次即可达到 1秒定时,即: N=t/T=0.05s/0.000001=5000X=65536-5000=15536=3CB0H(4)由上式得知5000个脉冲,首先需设定TL0=3CH,TH0=0B0JH此时第1 次只要输入 5000个脉冲输入,就会溢出;第2次至第 20次,则需每 1000000 个计时脉冲,定时 1 秒。( 5)上电

7、时,显示 60,开始倒数计时按下开关实现复位。 代码如下ORG 0000HAJMP MAINORG 0030HMAIN: MOV R2,#60 ;LOOP1: MOV A,R2MOV B,#10DIV ABMOV DPTR,#TABLEMOVC A,A+DPTR ;MOV P1,A ;MOV A,BMOVC A,A+DPTRMOV P2,A ;MOV R7,#20LOOP0: MOV TMOD,#01H ;MOV TH0,#3CH;MOV TL0,#0B0HSETB TR0;JNB TF0,$;TF0=0CLR TF0;计数初值查表十位显示个位显示置TO工作于方式0装入计数初值启动定时器 T0

8、,等待清TFO循环20次减一DJNZ R7,LOOP0 ; DEC R2;CJNE R2,#0FFH,LOOP1 ; 倒计时AJMP MAIN ;复位回到 60秒初始TABLE: DB 0C0H,0F9H,0A4H,0B0HDB 99H,92H,82H,0F8HDB 80H,90H,88H,83HDB 0C6H,0A1H,86H,8EHEND5. 软件调试:1. 启动 Keil c512. 新建一个工程。 Project 菜单 Newproject ,选择好我们要保 存的文件夹后,文件 保存。我们选择最常用的AT89C51确定。3. 在工程中加入文件。新建一个文件,文件菜单 File New我

9、们再选择:文件菜单FileSave As (另存为)弹出 对话框后,我们文件名框中键入文件名(注意文件后缀名是.c )保存。C文件建好啦。现在 我们把文件加入到工程中去。 点击 Target 1 前面的 +号,右键单击 Source Group 1 选择 Add Files to Group, Source Group 1 ,选择添加 Add 。编译运行。4. PR0TEU仿真图7C1U1XTAL2ASTPSEN口規沁InF:灯盼25_3LLi1211POO/Affl PD1/AD1 P0 2WH PO 实ADG P0 4/AD4 PD5SAEBP07/AWP2.啤P2.10 P2.2TA10 R2A11 P2 4/A12 R2.5/A13 P2.&TA14 P27/A1i-g-gqdl二出222A47 255啄R777PIOP3.IWXDP111Pl 2Pl 3P3 i/ra?P3?4NTO PS.SflRTlPI 4PI 5P3 4/KP3 5H1Pl 6咼由师PI 7P3 7/RDAWC51 . .个位960秒正计时设计代码256SCOONDSTART:DISP:WAIT:OV牌5536W MOD 256NABTEhJMPXh,7DH,07H,7FH,6FH60秒

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论