Nguyên văn bởi Multi System
Xem bài viết
Thanks!
#define Q0 P3_0 #define Q1 P3_1 #define Q2 P3_2 #define Q3 P3_3
#include <REGX52.H>
sbit red=P1^0;
sbit yellow=P1^1;
sbit green=P1^2;
// Tạo mã font cho led trên P3
unsined char font[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
// Hàm delay 1s luôn :->
void delay(unsigned char ss)
{
while(ss--)
{
unsigned int time=1000;
while(time--)
{
TMOD=0x01;
TH0=0xFC;
TL0=0x18;
TR0=1;
while(!TF0);
TR0=0;
TF0=0;
}
}
}
// Hàm đếm số tiến từ 0->9, số lùi thì bạn làm ngược lại
void count(unsigned int i)
{
for(i=0;i<10;i++)
{
P0=font[i]; delay(1);
}
}
void main(void)
{
while(1)
{
red=0;yellow=green=1; count(10); đèn đỏ sáng và đếm 10s
yellow=0;red=green=1 count(10);
green=0;red=yellow=1 count(10);
}
}
Comment