Phương pháp quét LED

Giả sử cho bài toán: Dùng PIC 16F84(13 chân I/O) để hiện thị số lên 6 LED 7 thường để hiển thị số lên LED 7 đoạn bạn có thể dùng trực tiếp các chân I/O(8 chân/ 1 LED 7 đoạn),Hoặc dùng bộ giải mã BCD(4 chân I/O / 1 LED 7 đoạn).Như vậy để hiển thị số lên 6 LED 7 đoạn bạn cần dùng tối thiểu 24 chân I/O. bài toán buộc phải thay đổi ,không dùng PIC 16F84 nữa! dùng con khác có nhiều chân hơn | Phương pháp quét LED Phương pháp Quét Led - Giả sử cho bài toán: Dùng PIC 16F84(13 chân I/O) để hiện thị số lên 6 LED 7 thường để hiển thị số lên LED 7 đoạn bạn có thể dùng trực tiếp các chân I/O(8 chân/ 1 LED 7 đoạn),Hoặc dùng bộ giải mã BCD(4 chân I/O / 1 LED 7 đoạn).Như vậy để hiển thị số lên 6 LED 7 đoạn bạn cần dùng tối thiểu 24 chân I/> bài toán buộc phải thay đổi ,không dùng PIC 16F84 nữa! dùng con khác có nhiều chân hơn. - Nhưng bài toán trên vẫn có thể giải quyết được bằng phương pháp quét LED sử dụng tính chất lưu ảnh trên võng mạc(24 ảnh/giây) thì ảnh như liên vậy ta phải quét hết 6 LED 24 lần/ 1s. Các LED lần lượt sáng theo thứ tự từ LED thứ 1 cho tới LED thứ 6 trong một khoảng thời gian nào đó(Tùy thuộc vào tần số quét ta chọn). Linh kiện: PIC 16F84A Giải mã BCD 74LS47N 6 Led 7 đoạn Anốt chung 6 Tranzitor C828 Sơ đồ mạch Mô tả: 6 Led Anode chung được nối qua Transitor C828 tới nguồn RB0-RB5 nối tương ứng qua một điện trở tới chân Bazơ của Transitor C828. Tất cả các chân của Led 7 đoạn (a,b,c,d,e,f,g) được nối chung với BUS. - 4 lối ra của PORTA (RA3-RA0) nối với lối vào của vào nhị phân này tương ứng với lối ra là số thập phân được hiển sử ta cần số 5 sáng thì RB0 phải bằng 1- để mở RA3,RA2,RA1,RA0=0101 tương tự đối với các LED 7 đoạn khác. Chương trình được viết như sau: Code: //****************************************** //QUET LED //author: noisepic@ //date:20/07/2005 //status:OK //Mota:PIC16F84A + Bo giai ma BCD 7447 //4 vao 7447: RA3-RA0 //PORTB(RB0-RB5 ket noi voi Transitor C828) //******************************************* #include #include #fuses NOWDT,PUT,HS,NOPROTECT #use delay(clock=4000000) main() { //gia su ta can quet so 1,2,3,4,5,6 TRISA=0x00; TRISB=0x00; PORTA=0xff; PORTB=0x00;// ban dau chua Led 7 doan nao sang while(TRUE) { //hien so 1 PORTB=0x01;//transitor 1 mo PORTA=0x01; delay_us(3333); //hien so 2 PORTB=0x02;//transitor 2 mo PORTA=0x02; delay_us(3333); //hien so 3//transitor 3 mo PORTB=0x04; PORTA=0x03; delay_us(3333); //hien so 4//transitor 4 mo PORTB=0x08; PORTA=0x04; delay_us(3333); //hien so 5 //transitor 5 mo PORTB=0x10; PORTA=0x05; delay_us(3333); //hien so 6//transitor 6 mo PORTB=0x20; PORTA=0x06; delay_us(3333); } } Với thời gian trễ là 3333us~ ms tương đương với quét 50 ảnh/ s. *6*50~999ms=1s. Chương trình trên hiển thị số 1 2 3 4 5 6 - Trong chương trình có sử dụng hàm delay_us(3333).Tại sao lại là 3333. Theo nguyên lý làm phim, nếu có 24 hình ảnh của vật xuất hiện trong 1 giây thì dường như vật đó luôn luôn xuất hiện- ứng dụng của hiện tượng lưu ảnh trên võng do trong thiết kế khi dùng 24 ảnh/s đèn led hơi vậy noisepic tăng tần số quét lên 50 ảnh /s

Bấm vào đây để xem trước nội dung
TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.