CODE MẪU
#include <REGX51.H>
#include <stdio.h>
#define bat 1
#define tat 0
#define data P0
sbit Led1 = P1^0;
sbit Led2 = P1^1;
sbit L1 = P2^0;
sbit L2 = P2^1;
sbit L3 = P2^2;
sbit L4 = P2^3;
sbit set = P1^4;
sbit up = P1^5;
sbit dw = P1^6;
sbit ok = P1^7;
unsigned int m[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//ma led 7 doan anode chung
unsigned int num,donvi,chuc,tram,nghin;
unsigned int dem,donvi1,chuc1,tram1,nghin1;
/////////////////////////////////////////////
void delay(unsigned char ms)
{
unsigned char i,j;
for (i=0;i<ms;i++)
for (j=0;j<255;j++){;}
}
//////////////////////////////////////////////
void hienthi(void)
{
unsigned int k;
for(k=0;k<5;k++)
{
nghin=num/1000;
tram=(num%1000)/100;
chuc=((num%1000)%100)/10;
donvi=((num%1000)%100)%10;
data=m[nghin];
L4=bat;
delay(10);
L4=tat;
data=m[tram];
L3=bat;
delay(10);
L3=tat;
data=m[chuc];
L2=bat;
delay(10);
L2=tat;
data=m[donvi];
L1=bat;
delay(10);
L1=tat;
}
}
////////////////////////////////////////
void hienthidem(void)
{
unsigned int k;
for(k=0;k<5;k++)
{
nghin1=dem/1000;
tram1=(dem%1000)/100;
chuc1=((dem%1000)%100)/10;
donvi1=((dem%1000)%100)%10;
data=m[nghin1];
L4=bat;
delay(10);
L4=tat;
data=m[tram1];
L3=bat;
delay(10);
L3=tat;
data=m[chuc1];
L2=bat;
delay(10);
L2=tat;
data=m[donvi1];
L1=bat;
delay(10);
L1=tat;
}
}
////////////////////////////////////////////////
void EXT0_Init(void)
{
EX0=1; //Kich hoat ngat ngoai 0
IT0=1; //Chon ngat theo suon xuong
}
void Ngat_Ngoai_0(void) interrupt 0
{
//Chuong trinh con phuc vu ngat ngoai 0
//num=90;
//dem++;
//if(dem=num){dem=0;}
hienthi();
num++;
}
////////////////////////////////////////////////////
void main(void)
{
EA=1;
EXT0_Init();
while(1)
{
hienthi();
//hienthidem();
//setup();
//if(dem=num){Led1=Led2=tat;}
}
}
Đăng nhận xét