3.1 Điều khiển trực tiếp.
a. Đặc điểm.
- Led 7 đoạn luôn được cấp nguồn.
- Các led được điều khiển độc lập, thường dùng cả 1 port 8 chân để điều khiển led => tối đa điều khiển 7 led.
b. Ưu nhược điểm.
Ưu điểm: Lập trình dễ dàng, mạch điện đơn giản Nhược điểm: điều khiển ít led.
Phương pháp quét:
- Dựa trên độ lưu ảnh của mắt, một hình ảnh mắt ta thấy nhưng phải mất 40ms mới xử lý xong (cỡ 24-25 hình trong 1 giây), do đó nếu các hình xuất hiện trước mắt ta mà chớp tắt nhanh hơn 25 hình/ giây thì ta không thấy nó chớp nữa, có thể hiểu như mắt ta bị thừa thông tin. Như vậy nếu bằng cách nào đó ta cho một con led đơn chớp tắt thật nhanh (trên 25 Hz, nhanh hơn nữa càng tốt, vài trăm Hz, thậm chí vài KHz càng tốt miễn là con led có thể chớp tần số đó) ta sẽ thấy con led sáng luôn, mà thực chất là nó đang sáng_tắt_sáng_tắt…. rất nhanh. - Bây giờ ta điều khiển một led bảy đoạn (loại A chung), cho chân chung lên nguồn, điều khiển sáng tắt nhanh cho hai thanh b,c của nó (5 thanh còn lại nhớ tắt) ta thấy nó sáng lên số 1, thực chất là đang chớp số 1.
- Bằng cách cho luân phiên nhiều led hiển thị thông tin khác nhau ta có cảm giác nhiều led bảy đoạn đang sáng đồng thời, với cách này ta chỉ cần một bus dữ liệu nối song song cho tất cả các led (gồm 7 dây a,b,c,d,e,f,g) mỗi led được điều khiển bằng một tín hiệu khác sao cho tại một thời điểm chỉ có duy nhất một led bảy đoạn được phép hiển thị và lúc này. bus cũng đang truyền dữ liệu ứng với Led này. Nếu có quá nhiều led bảy đoạn ta phải kết hợp thêm các IC giải mã chọn kênh như 74138, 74154…
- Đôi khi để đơn giản trong lập trình người ta không dùng vi xử lý điều khiển trực tiếp cho led bảy đoạn mà dùng thêm IC giải mã từ BCD sang 7 đoạn (loại A chung) là 74247 cũng rất tốt. (Lúc này chỉ cần dùng 4 chân của vi xử lý để đưa mã BCD cho IC 74247 thay vì dùng 7 chân để cấp tín hiệu a,b,c,d,e,f,g cho led 7 đoạn. - Nguyên lý: Nối 8 chân data (A, B, C, D, E, F, G, dot) của các LED7 đấu chung với nhau và đấu về 1 port của vi điều khiển. Mức logic 0 để điều khiển từng đoạn sáng. Phần điều khiển cấp nguồn cho từng LED7 đấu về 2 port của vi điều khiển. Tại một thời điểm chỉ có 1 trong các LED7 này được cấp nguồn, các LED7 còn lại tắt. Output logic 1 để điều khiển cấp nguồn.
+ Lần lượt cấp nguồn cho từng LED7, đối với LED7 thứ n, xuất dữ liệu của LED7 thứ n (lưu trong buffer). -> tại một thời điểm chỉ có 1 LED7 sáng với dữ liệu của nó. Delay một khoảng thời gian, sau đó chuyển sang LED7 khác. VD:
- Thực hiện đoạn chương trình sau để hiển thị số 26 ra 2 Led 7 đoạn: main: MOV P2,#82h ; Mã của số 6 CLR P1.0 ; Hiện số CALL Delay SETB P1.0
MOV P2,#0A4H ; Mã của số 2 CLR P1.1 CALL Delay SETB P1.1 SJMP main Delay: PUSH 07H MOV R7,#100 DJNZ R7,$
POP 07H RET END
- Phương pháp này tiện dụng ở phần cứng lẫn phần mềm, Nguồn cấp cho led được điều khiển độc lập. Các led 7 đoạn được nối chung các chân a,b,c....g,dp. chỉ 2 port là có thể điều khiển được 8 led, tuy nhiên nếu số lượng led quá nhiều thì thời gian sáng trung bình dành cho mỗi led là T lại giảm đi (T =1/n với là số led bảy đoạn, số đối tượng được quét ), Điều này kéo theo các led sẽ suy giảm độ sáng. Mặt khác phải tích hợp thêm IC giải mã, nhiều việc phát sinh cho thiết kế mạch lẫn lập trình
- Vẫn chia sẻ bus dữ liệu cho tất cả các led như phương pháp quét , đồng thời các led đều có chân A chung nối sẵn lên nguồn (lúc nào cũng sẵn sàng hiển thị). Mỗi led bảy đoạn kết hợp với 1 IC chốt, vi xử lý điều khiển chốt dữ liệu cho chính xác. Dữ liệu cho từng led sẽ lần lượt đưa lên Bus, ứng với dữ liệu của led nào thì IC chốt của led đó sẽ chốt dữ liệu lại, động tác này do vi xử lý thực hiện.
- Sau một lượt dữ liệu sẽ xuất hiện đầy đủ trên tất cả các led bảy đoạn, kể từ đó vi xử lý không cần mất công hiển thị nữa, các led sẽ sáng liên tục chứ không như phương pháp quét. Như vậy hình ảnh của phương pháp chốtsáng hơn và không nhấp nháy.
- Hạn chế của phương pháp này là tốn nhiều IC chốt, mạch điều khiển chốt phức tạp (có thể dùng IC giải mã 74138, 74154 như phương pháp quét)
3.4. Phương pháp phối hợp.
- Đơn giản nhất là dùng IC ghi dịch 74595 hoặc 4094. IC ghi dịch thực chất là các D. Flip Flop mắc nối tiếp với nhau,các IC ghi dịch có thêm một tầng công suất ra. Dữ liệu đưa vào IC ghi dịch theo kiểu nối tiếp, khi xuất ra có hai kiểu vừa nối tiếp, vừa song song.
- Đối với led bảy đoạn thì kiểu ghi dịch không cần đến động tác quét, dữ liệu cứ đưa ra tuần tự và chốt lại là xong. Vi xử lý chỉ cần 3 chân (1 cho dữ liệu nối tiếp serial data, 1 cho xung nhịp clock và 1 để điều khiển xuất + chốt dữ liệu ra song song strobe)
Sử dụng IC tương đối phức tạp, có các bước như sau: - Chuẩn bị byte cần dịch ra.
- Cho chân strobe về 0.
- Đưa bit đầu tiên ra chân serial data - Tạo một sườn lên trên chân clock
- Cứ thế cho đến khi hết byte thì tiếp tục byte khác.
- Sau khi đã đưa hết các byte ra ngoài ta tạo một sườn lên trên chân strobe để xuất và chốt dữ liệu trong 74595 ra ngoài song song.
Lặp lại quá trình trên cho lần xuất dữ liệu mới tiếp theo.