📄 timer2.c
字号:
/*******************************************************************
* *
* ME500单片机开发系统演示程序 - Timer2 中断应用 *
* *
* 8位数码管显示 *
* *
* 邮箱: gguoqing@willar.com *
* 网站: http://www.willar.com *
* 作者: gguoqing *
* 时间: 2007/12/20 *
* *
*【版权】Copyright(C)伟纳电子 www.willar.com All Rights Reserved *
*【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! *
* *
*******************************************************************/
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code ledcode[11] ={ 0xC0,0xF9,0xA4,0xB0,0x99,
0x92,0x82,0xF8,0x80,0x90,0xff };
uchar shift,n=0;
/**********************************************************
主函数
**********************************************************/
main()
{
T2CON=0x00; //设置T2CON寄存器
RCAP2H=0xfc;
RCAP2L=0x66;
TH2=0xfc; //1ms定时常数
TL2=0x66;
ET2=1; //启用Timer2中断
EA=1; //总中断允许
TR2 = 1; //启动定时器2
shift=0x7f; //送位码初值
while(1);
}
/**********************************************************
Timer2中断服务子函数
**********************************************************/
void timer2(void) interrupt 5
{
TF2=0; //手工清中断标志
TH2=0xfc; //1ms定时常数
TL2=0x66;
n++;
if(n>8)
{
n=0;
shift=0x7f; //送位码初值
P2=0xff; //关闭数码管显示
}
else
{
P0=ledcode[n]; //送段码
P2=shift; //送位码
shift=shift>>1|0x80; //修改位码
}
}/**********************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -