Tải bản đầy đủ (.doc) (2 trang)

Phương pháp quét LED

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (59.85 KB, 2 trang )

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
đoạn.Bình 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.
- 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 tục.Do 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<không upload được ảnh!!!>
Mô tả:
6 Led Anode chung được nối qua Transitor C828 tới nguồn Vcc.Châ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 74LS47.Lối vào nhị phân này
tương ứng với lối ra là số thập phân được hiển thị.Giả sử ta cần số 5 sáng
thì RB0 phải bằng 1- để mở Transitor.Còn 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:


//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<16f84A.h>
#include<def_84.h>
#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~3.3 ms tương đương với quét 50 ảnh/ s.
3.3*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
mạc.Nhưng do trong thiết kế khi dùng 24 ảnh/s đèn led hơi nháy.Do vậy noisepic
tăng tần số quét lên 50 ảnh /s..

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×