求一个51单片机简单的中断C语言程序
来源:百度知道 编辑:UC知道 时间:2024/06/24 11:47:19
这个是我自己做的 99s的计数器。用数码管显示的,这里使用了中断,其目的是为了通过中断来精确计算真实的时间。如果还有需要,给我邮箱,我这里还有不少资料,我学了2个多月,基本也算有点小成了吧。呵
//自行设计 99s,用数码管显示!
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit wei=P1^2;
sbit duan=P1^1;
uchar num;
uchar i,j;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //数码管模块
void delayms(unsigned int i) // 毫秒延时
{
unsigned int j;
for(;i>0;i--)
for(j=100;j>0;j--);
}
void fuzhi(uchar x,uchar y)
{
duan=1;
P0=table[x]; //8的共阴码
duan=0;
wei=1;
P0=0xfe; //送位显示码
wei=0;
delayms(5);
duan=1;
P0=table[y]; //8的共阴码
duan=0;
wei=1;
P0=0xfd; //送位显示码
wei=0;
delayms(5);
}
void main()
{
TMOD=0x01; //定时器0 工作方式1
TH0=(65536-45872)/