实验三 定时器中断实验
一、实验目的
1、掌握51单片机定时器基本知识;
2、掌握定时器的基本编程方法;
3、学会使用定时器中断。
二、实验内容
1、利用定时器设计一个秒表,计数范围为0—59,并在数码管实时显示。
三、实验设备
PC 机一台、单片机实验箱
主要器件:AT89C52、7SEG-BCD、
四、实验步骤
1、使用Proteus设计仿真原理图;
2、使用Keil设计程序;
3、联合调试仿真。
五、实验流程图
六、实验程序与结果
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit F=P2^1;
void timer1_init()
{
TMOD=0x10;//将定时器1设置为工作方式1
TH1=(65536-6000)/256;//定时器每加一时间为1/fsoc,定时时间为1/500
//(1/500)s/(1/3000000)s=6000
TL1=(65536-6000)%256;//fsoc=3000000,所以装入16位定时器中值为65536-6000
EA=1;
ET1=1;
TR1=1;
}
void main()
{
timer1_init();
while(1);
}
void timer1() interrupt 3
{
TH1=(65536-6000)/256;//每次进入中断,重装初值TL1=(65536-6000)%256;
F=~F;//每次进入中断P1.1口取反
}
#include<reg52.h>
…… …… 余下全文