单片机定时器中断实验
实验3 定时器中断实验
一、 实验目的
掌握MCS-51定时器的使用方法
二、 实验设备
AT89c51基本实验单元、计算机设备系统
三、 实验原理
(一) 实验说明
(1) 利用定时器中断方式,做一个显示0~9的秒钟。
(2) 利用定时器中断方式,做一个显示00~99的秒钟,每一秒增加1.
(二) 程序流程图
(i)
运行程序
显示 开启中断
计数清零 设置中断间隔
N Y 判定中断次 计数小于9
数
Y N 中断20次 计数加1
(ii)
运行程序
十位加1 开启中断
个位清零 设置中断间隔
N Y 显示 判定中断次 个位小于9
数
Y N 中断20次 个位数加1
(三) 参考程序
内容(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;i9)
{
sum1=0;
sum2++;
if(sum2>9)
sum2=0;
}
}
}
四、 实验步骤:
1. 根据实验原理图编写程序,用“Keil uVision4”编译软件进行编译,如未通过,修改
程序,直至通过。
2. 用,,,,ISP.EXE软件将所编程序的“hex”码下载到试验板子的STC89C52芯片
中。
3. 运行程序,观察实验板上LED数码管是否是每个1秒出现0~9的显示变化。如果不
符合要求,修改程序,按照步骤1开始重新做实验,直至成功。 4. 按同样的方法调试编写实验内容2中的程序,直至调试成功。
五、 思考题
写出用LED完成实验内容2的程序,并进行调试。
代码见前面参考程序
六、 实验原理图
本文档为【单片机定时器中断实验】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。