Thứ Hai, 30 tháng 6, 2014

[Cde_8051] Đếm 99 về 00 dùng ngắt T0 delay 600ms

#include <REGX52.H>
char BDN;
unsigned char dv,ch,dem1;
signed int dem;
unsigned char ma7doan[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void delay_ms(unsigned int ms)
{
unsigned int i,k;
for(i=0;i<ms;i++)
{ k=200;
while(k--);
}
}
void ngat() interrupt 1
{
BDN++;
TL0=-50000>>8;
TL0=-50000;
}
void giaima_hienthi()
{
dv=dem%10;// dem1=dem/10;
ch=dem/10;
P0=ma7doan[dv]; P1_1=0; delay_ms(1); P1_1=1;
P0=ma7doan[ch]; P1_0=0; delay_ms(1); P1_0=1;

}
void main()
{
TMOD=0x01;
IE=0x82;
TH0=-50000>>8;
TL0=-50000;
TR0=1; BDN=0; dem=99;
while(1)
{
if(BDN<12)giaima_hienthi();
else
{ BDN=0;dem--;
if(dem<0)dem=99;
}
}
}

Không có nhận xét nào:

Đăng nhận xét