好文档 - 专业文书写作范文服务资料分享网站

单片机60秒倒计时实验报告

天下 分享 时间: 加入收藏 我要投稿 点赞

第四章

4.1 硬件设计

实验步骤

通过AT89C51型号单片机,由P1和P2两组I/O引脚分别控制两个7SEG–COM –ANODE型号数码管,分十位控制和个位控制,达到显示60秒倒计时的目的。通过复位电路,在仿真过程中点击开关实现60复位。

4.2 软件设计

? 定时/计数器初值计算

(1)本电路应用TIMER0 MODE 16位计数器的计时中断法。 (2)1秒等于1000000微秒,而每一计时脉冲是1微秒,因此需输入100000个计时脉冲,方可达到1秒的时间。本设计中,设定中断每次溢出时间50ms。

(3)由上式得知,循环20次即可达到1秒定时,即: N=t/Tcy=0.05s/0.000001=5000

11

X=65536-5000=15536=3CB0H

(4)由上式得知5000个脉冲,首先需设定TL0=3CH,TH0=0B0H,此时第1次只要输入5000个脉冲输入,就会溢出;第2次至第20次,则需每1000000个计时脉冲,定时1秒。

(5)上电时,显示60,开始倒数计时按下开关实现复位。 ? 软件程序

#include sbit K1=P2^0;//加1 sbit K2=P2^1;//减1 sbit K3=P2^2;//暂停 sbit K4=P2^3;//启动 sbit S0=P3^6; sbit S1=P3^7; sbit F=P2^5; //蜂鸣器 sbit LED=P2^4;

void disp (unsigned char n); unsigned char m=0; unsigned char n=10; unsigned char code

D[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; void delay(unsigned int a) { unsigned char b; while(--a)

{for(b=0;b<125;b++);}

12

}

void main() {EA=1; ET0=1; TMOD=0x01;

TH0=(65536-50000)/256; TL0=(65536-50000)%6; TR0=0; while(1) {disp(n);

if(K1==0){while(K1==0);disp(++n);} if(K2==0){while(K2==0);disp(--n);} if(K3==0){while(K3==0);TR0=0;disp(n);} if(K4==0){while(K4==0);TR0=1;disp(n);} if(n==0){F=~F;}} }

void disp (unsigned char n) {unsigned char i,j; i=n/10;

j=n; P1=D[i]; S0=0;

13

delay(20); P3=0xff; P1=D[j]; S1=0; delay(20); P3=0xff; }

void ds() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%6; if(++m>19) {n--;

if(n==0){LED=0;F=0;while(1) disp(0);m=0;} m=0;} }

第五章 实验结果5.1 调试与仿真

? 系统调试工具keil c51 调试的主要方法 : 1. 启动Keil c51

14

2. 新建一个工程。Project菜单——〉New project ,选择好我们要保存的文件夹后,键入Frist 保存。接着弹出CPU类型选择框,我们选择最常用的AT89C51,按确定。

3. 在工程中加入文件。新建一个文件,文件菜单File——〉New,我们再选择:文件菜单File——〉Save As? (另存为)弹出 对话框后,我们文件名框中键入First.c(注意文件后缀名是 .c)保存。C文件建好啦。现在我们把文件加入到工程中去。 点击Target 1前面的+号,右键单击Source Group 1——〉选择Add Files to Group ,Source Group 1,选择添加 Add。编译运行,检查程序是否有错误。

? PROTEUS软件

调试方法:首先用Keil软件将C编译成HEX文件,打开Keil软件,新建一个文档,输入C程序,保存成C格式文件,然后新建工程,连接单片机为AT89C51,选择Options for target,选择OUTPUT子菜单,在Create HEX Fi前打钩,DeBug子菜单中,Settings选择ProteusVSM Simulator,USE前打钩,再次运行文件,成功后在目录下会生成HEX文件,打开Proteus软件,或直接点击DSN文件,双击单片机模板,点击文件夹式样的图标选择对应的HEX驱动文件,然后点击开始,进行调试。

? 仿真图:

15

单片机60秒倒计时实验报告

第四章4.1硬件设计实验步骤通过AT89C51型号单片机,由P1和P2两组I/O引脚分别控制两个7SEG–COM–ANODE型号数码管,分十位控制和个位控制,达到显示60秒倒计时的目的。通过复位电路,在仿真过程中点击开关实现60复位。4.2软件设计?定时/计数器初值计算
推荐度:
点击下载文档文档为doc格式
10qdo9usxx5nd0e7n2yj9vfqx3d4pq015wd
领取福利

微信扫码领取福利

微信扫码分享