当前位置:文档之家› 单片机定时器中断实验

单片机定时器中断实验

单片机定时器中断实验
单片机定时器中断实验

实验3 定时器中断实验

一、 实验目的

掌握MCS-51定时器的使用方法

二、 实验设备

AT89c51基本实验单元、计算机设备系统

三、 实验原理

(一) 实验说明

(1) 利用定时器中断方式,做一个显示0~9的秒钟。

(2) 利用定时器中断方式,做一个显示00~99的秒钟,每一秒增加1.

(二) 程序流程图

(i )

(ii )

(三) 参考程序

内容(1):只需要将内容2的代码中十位显示那一部分删除,并令D24=0即可。

内容(2):

#include

unsigned char sum1=0,sum2=0;

sbit D24=P2^4;

sbit D25=P2^5;

static unsigned char t;

unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

void delay(unsigned int);

void main()

{

TMOD=0x10;

TL1=0xf0;

TH1=0xd8;

EA=1;

ET1=1;

TR1=1;

while(1)

{

P0=0xff;

D24=1;

D25=0;

P0=table[sum2]; //十位

delay(50);

P0=0xff;

D24=0;

D25=1;

P0=table[sum1]; //个位

delay(50);

}

}

void delay(unsigned int m)

{

unsigned int i,j;

for(i=0;i

for(j=0;j<110;j++)

{;}

}

void timer0() interrupt 3

{

TL1=0xf0;

TH1=0xd8;

t++;

if(t==100)

{

t=0;

sum1++;

if(sum1>9)

{

sum1=0;

sum2++;

if(sum2>9)

sum2=0;

}

}

}

四、实验步骤:

1.根据实验原理图编写程序,用“Keil uVision4”编译软件进行编译,如未通过,修改

程序,直至通过。

2.用STC-ISP.EXE软件将所编程序的“hex”码下载到试验板子的STC89C52芯片

中。

3.运行程序,观察实验板上LED数码管是否是每个1秒出现0~9的显示变化。如果不

符合要求,修改程序,按照步骤1开始重新做实验,直至成功。

4.按同样的方法调试编写实验内容2中的程序,直至调试成功。

五、思考题

写出用LED完成实验内容2的程序,并进行调试。

代码见前面参考程序

六、实验原理图

相关主题
文本预览
相关文档 最新文档