Led 7 đoạn được ứng dụng trong rất nhều các thiết bị thực tế, trong các thiết bị đo, trong các bảng hiệu, nó có tác dụng hiển thị số liệu
4 led 7 thanh anot chung. 4 chân anot chung
11 trang |
Chia sẻ: luyenbuizn | Lượt xem: 1856 | Lượt tải: 0
Nội dung tài liệu Điều khiển vào ra với led 7 đoạn, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1.Mô t :ả
Led 7 đo n đ c ng d ng trong r t nhi u trong các ạ ượ ứ ụ ấ ề
thi t b trong th c t , trong các thi t b đo, trong các b ng ế ị ự ế ế ị ả
hi u, nó có tác d ng hi n th s li u…ệ ụ ể ị ố ệ
4 led 7 thanh anot chung, 4 chân anot chung (chân d ng) ươ
đ c n i v i 4 transitor đ ta có th quét led s d ng 4 ượ ố ớ ể ể ử ụ
chân c a PORTD, các chân đi u khi n sáng các thanh còn ủ ề ể
l i đ c n i song song nhau và đ a vào PORTB c a ạ ượ ố ư ủ
AVR và có th t nh sau: T bit 0 ứ ự ư ừ 6 ng v i t A ứ ớ ừ
G. Bit th 7 là d u ch m.ứ ấ ấ
S đ thu t toán:ơ ồ ậ
Cho (d) s b t ố ấ
kì <=9999
Ch ng ươ
trình chính
Tính toán các
giá tr hàng ị
nghìn - >Đ n ơ
vị
Quét led
Đ y d tính ẩ ữ
toán ra các led
2.Th c hành:ự
//-------------------------ch ng trình đ y d li uươ ẩ ữ ệ --------------------------
void daydulieu(unsigned char x)// Ham dua du lieu ra PORT
{
switch(x) // Tuy thuoc vao bien dau vao ma dua du lieu ra tu 0...9
{ //logic 1 tat led, logic 0 bat led
case 0: { PORTB=0xC0; break; } // So 0
case 1: { PORTB=0xF9; break; } // So 1
case 2: { PORTB=0xA4; break; } // So 2
case 3: { PORTB=0xB0; break; } // So 3
case 4: { PORTB=0x99; break; } // So 4
case 5: { PORTB=0x92; break; } // So 5
case 6: { PORTB=0x82; break; } // So 6
case 7: { PORTB=0xF8; break; } // So 7
case 8: { PORTB=0x80; break; } // So 8
case 9: { PORTB=0x90; break; } // So 9
}
}
//ch ng trình ươ
hi n thể ị
void hienthi(int n)
{
int a,b,c,d; // Lay cac so
cac hang
a= n/1000; // lay hang
nghin
b=(na*1000)/100; // lay hang
tram
c=(na*1000b*100)/10; //lay hang
chuc
d=(na*1000b*100c*10);// lay
hang don vi
// Quet led
PORTD=0xFE;// led dau tien
daydulieu(d);// day ra hang don vi
delay_ms(10);// tre
PORTB=0xFF;// tat toan bo led
PORTD=0xFD;//led thu hai
daydulieu(c);// dua ra hang chuc
delay_ms(10);// tre
PORTB=0xFF;// tat toan bo led
PORTD=0xFB;
daydulieu(b);
delay_ms(10);
PORTB=0xFF;
PORTD=0xF7;
daydulieu(a);
delay_ms(10);
PORTB=0xFF;
}
Trong vòng while(1) trong hàm main ta ch dùng m t câu ỉ ộ
l nh g i hàm hi n th nh sau:ệ ọ ể ị ư
while(1)
{
hienthi(1234);
}
Chú ý: trong bài này vì n u đ a các PORTD và PORTB lúc kh i t o b ng ế ư ở ạ ằ
0x00 thì t t c các led s sáng do đó t i các câu l nh kh i t o cho hai ấ ả ẽ ạ ệ ở ạ
PORT này các b n hãy gán cho nó giá tr 0xFF nh hình sau: ạ ị ư
Các file đính kèm theo tài liệu này:
- DieukhienravaovoiLED7doan.pdf