Click xem hình full
Video DEMO
CODE
#include<REGX51.H>
#include<stdio.h>
#include<math.h>
#define bat 1
#define tat 0
//=================================
sbit shcp=P3^0;
sbit ds=P3^1;
sbit stcp=P3^2;
sbit led1=P2^0;
sbit led2=P2^1;
sbit led3=P2^2;
sbit led4=P2^3;
sbit led5=P2^4;
sbit led6=P2^5;
//=============Chuong trinh tao tre==============
void delay(int ms)
{
int a,b;
for(a=0;a<ms;a++)
for(b=0;b<125;b++)
{
}
}
//================Maled 7 doan anode chung================
int m[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
int donvi1,chuc1;
int donvi2,chuc2;
int donvi3,chuc3;
int giay,phut,gio;
//==========dua data vao595===========
void data(unsigned char data)
{
unsigned char i;
unsigned int k;
k=128;
for(i=0;i<8;i++)
{
if((data&k)==k)
ds=1;
else
ds=0;
shcp=1;
shcp=0;
stcp=1;
stcp=0;
k>>=1;
}
}
//============ hien thi=============
void hienthi(void)
{
int c;
for(c=0;c<10;c++)
{
chuc1=giay/10;
donvi1=giay%10;
data(m[chuc1]);
led5=bat;
delay(8);
led5=tat;
data(m[donvi1]);
led6=bat;
delay(8);
led6=tat;
/*====led3 và led 4=phut====*/
chuc2=phut/10;
donvi2=phut%10;
data(m[chuc2]);
led3=bat;
delay(8);
led3=tat;
data(m[donvi2]);
led4=bat;
delay(8);
led4=tat;
/*======led 1 va led 2 = gio==*/
chuc3=gio/10;
donvi1=gio%10;
data(m[chuc3]);
led2=bat;
delay(8);
led2=tat;
data(m[donvi3]);
led1=bat;
delay(8);
led1=tat;
}
}
//==============ham chinh=======
void main(void)
{
while(1)
{
gio=phut=giay=0;
for(gio=0;gio<24;gio++)
{
hienthi();
for(phut=0;phut<60;phut++)
{
hienthi();
for(giay=0;giay<60;giay++)
{
hienthi();
}
}
}
}
}
Đăng nhận xét