Bài 3: LED_7_SEGStart Khai bao ban dau Delay Convert Display main.
Trang 1Bài Tập Bài 2
• Bài 1 :
#include <REGX52.H>
void delay(long n)
{
long i;
for(i=0;i<n;i++)
{;}
}
unsigned int led[]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x80}; void main()
{
int i;
while(1)
{
for(i=0;i<9;i++) {P1=led[i]; delay(10000); }
}
}
Trang 2Bài Tập Bài 2
• Bài 2:
void main()
{
int a,b,j;
while(1)
{
P1=0xff;
a =0xfe;
b =0x01;
for(j=0;j<8;j++){ P1=P1&a; a=a<<1; delay(5000); } for(j=0;j<8;j++){ P1=P1|b; b=b<<1; delay(5000); } }
}
Trang 3Bài Tập Bài 2
• Bài 3:
void main(void)
{
led1 = tat; // ban dau led tat;
while(1)
{
if (( start==0)&& ( stop==1))
{ led1=bat;}
if (( start==1)&& ( stop==0))
{ led1=tat;}
}
}
Trang 4Bài 3: LED_7_SEG
• Dương chung
• Âm chung
Trang 57 6 4 2 1 1 0 9 5
8
D 1 2 A
C a t o t c h u n g
3
7 6 4 2 1 1 0 9 5
8
D 1 3 A
A n o t c h u n g
Bài 3: LED_7_SEG
Trang 6Bài 3: LED_7_SEG
Trang 7Bài 3: LED_7_SEG
•Nguyên ly :
Trang 8Bài 3: LED_7_SEG
Trang 9Bài 3: LED_7_SEG
C¸c sè
hiÓn
thÞ
P1.7
dp P1.6g P1.5f P1.4e P1.3d P1.2c P1.1b P1.0a Sè n¹p hex
Trang 10C¸c sè
hiÓn
thÞ
P1.7
dp P1.6g P1.5f P1.4e P1.3d P1.2c P1.1b P1.0a Sè n¹p hex
Bài 3: LED_7_SEG
Trang 11Bài 3: LED_7_SEG
Start
Khai bao ban dau
Delay()
Convert()
Display()
main()
Trang 12Bài 3: LED_7_SEG
#include <at89x52.h>
unsigned char code maled7[] =
{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
#define led1 P0_0
#define led2 P0_1
#define led3 P0_2
#define led4 P0_3
int i,j,k,l,a=0;
Trang 13Bài 3: LED_7_SEG
void delay(long n) {
long i;
for(i=0;i<n;i++) {;}
}
Trang 14Bài 3: LED_7_SEG
void convert(int x) {
i = x % 10;
j = x % 10;
k = x % 10;
l = x / 10;
}
Trang 15Bài 3: LED_7_SEG
void display(int x)
{
convert(x);
P0=0x00;led1=1; P1 = maled7[i]; delay(100); P0=0x00;led2=1; P1 = maled7[j]; delay(100); P0=0x00;led3=1; P1 = maled7[k]; delay(100); P0=0x00;led4=1; P1 = maled7[l]; delay(100); }
Trang 16Bài 3: LED_7_SEG
void main() {
while(1) {
display(1234);
} }