IC ghi dịch 74HC595

Một phần của tài liệu đề tài VI ĐIỀU KHIỂN VỚI QUANG BÁO (Trang 34)

IV.1 Gii thiu

Đây là IC ghi dịch nối tiếp sang song song. IC được ứng dụng để tăng số lượng chân output cho vi điều khiển. Có nhiều phương pháp để tăng số lượng chân , ví dụ như dùng IC giải mã, tuy nhiên IC ghi dịch 74HC595 được lựa chọn như là một giải pháp vì các nguyên nhân sau:

- Số lượng chân điều khiển luôn cốđịnh là 4 chân: nếu dùng giải mã thì số lựong chân

điều khiển sẽ tăng theo số lượng chân ngõ ra (khi phải ghép nhiều IC lại với nhau). Trong khi dùng ghi dịch thì số lượng chân điều khiển luôn là cốđịnh ngay cả khi cần ghép nhiều IC lại với nhau.

- Cho phép điều khiển linh họat và ổn định hơn: giữa các thanh ghi dịch và ngõ ra có một “chốt”. Điều này cho phép thay đổi linh hoạt dữ liệu trong các thanh ghi dịch và ổn

định trạng thái logic ngõ ra.

Hình 20: IC 74HC595

74HC595 là IC ghi dịch nối tiếp sang song với 8 ngõ ra Q0:Q7 và bộ chốt dữ liệu 8 bit.

IV.3 Gii thích sơ đồ chân:

- Chân Q0 ->Q7 là các chân dữ liệu ngõ ra.

- Chân DS (chân 14) là chân dịch dữ liệu, dữ liệu được đưa vào các thanh ghi dịch bên trong IC thông qua chân này.

- Chân OE (Output Enable) là chân cho phép xuất dữ liệu song song, tích cực mức thấp, khi chân này ở mức 0 thì quá trình ghi dịch đựơc thực hiện, nhưng khi chân này ở mức 1 thì quá trình này bị cấm dữ liệu vẫn dịch được vào thanh ghi của IC nhưng quá trình xuất ra các chân Q0 ->Q7 thì bị cấm.

- Chân ST_CP (chân 12) là chân điều khiển chốt dữ liệu, khi chân này ở mức 1 thì dữ liệu trong thanh ghi của IC sẽđược xuất ra ngoài thông qua các chân Q0 -> Q7.

- Chân SH_CP (chân 11) là chân Clock xung tác động cho quá trình dịch, khi ta

đưa một bit data vào chân DS thì bit dữ liệu này vẫn chưa thể dịch ngay vào thanh ghi của IC mà ta phải tác đông một xung Clock vào chân này thì quá trình dịch mới thực hiện được, tức bit data trên mới chứa vào thanh ghi của IC.

- Chân MR (chân 10) tích cực mức thấp, đây là chân xóa dữ liệu khi chân này ở

mức 0 thì tất cá các bit Q0 -> Q7 sẽ bị xóa về 0.

- Chân Q7’ (chân 9) chân đưa dữ liệu nối tiếp ra ngoài dùng khi ghép nhiều IC nối tiếp với nhau.

Hình 21: Sơđồ khối 74HC595

Ta có thểđiều khiển được một hoặc nhiều IC 74HC595 ghép với nhau thông qua 3 chân DS, ST_CP,SH_CP. Điều này cho phép mở rộng một cách vô hạn số lượng chân ngõ ra của vi điều khiển. Tuy nhiên nhược điểm của nó là thời gian truy xuất các ngõ ra chậm hơn so với việ truy xuất trực tiếp, vì dữ liệu phải được đưa từng bit vào IC trước khi cho xuất ra ngoài.

V. LED MATRN

Hình 22: Led ma trận

Ma trận led bao gồm nhiều led đơn bố trí thành hàng và cột trong một vỏ.Các tín hiệu điều khiển cột được nối với Anode của tất cả các led trên cùng một cột. Các tín hiệu

điểu khiển hàng cũng được nối với Cathode của tất cả các led trên cùng một hàng như

hình vẽ :

Hình 23: Cấu tạo Led ma trận

V.2 Nguyên lý hot động

Khi có một tín hiệu điều khiển ở cột và hàng, các chân Anode của các led trên cột tương ứng được cấp điện áp cao, đồng thời các chân Cathode của các led trên hàng tương

ứng được được cấp điện áp thấp. Tuy nhiên lúc đó chỉ có một led sáng, vì nó có đồng thời

điện thế cao trên Anode và điện thế thấp trên Cathode. Như vậy khi có một tín hiệu điều khiển hàng và cột, thì tại một thời điểm chỉ có duy nhất một led tại chỗ gặp nhau của

hàng và cột là sáng. Các bảng quang báo với số lượng led lớn hơn cũng được kết nối theo cấu trúc như vậy.

Trong trường hợp ta muốn cho sáng đồng thời một số led rời rạc trên ma trận, để

hiện thị một kí tự nào đó, nếu trong hiển thị tĩnh ta phải cấp áp cao cho Anode và áp thấp cho Cathode, cho các led tương ứng mà ta muốn sáng. Nhưng khi đó một số led ta không mong muốn cũng sẽ sáng, miễn là nó nằm tại vị trí gặp nhau của các cột và hàng mà ta cấp nguồn.Vì vậy trong điều khiển led ma trận ta không thể sử dụng phương pháp hiển thị tĩnh mà phải sử dụng phương pháp quét (hiển thịđộng), có nghĩa là ta phải tiến hành cấp tín hiệu điều khiển theo dạng xung quét trên các hàng và cột có led cần hiển thị. Để đảm cho mắt nhìn thấy các led không bị nháy, thì tần số quét nhỏ nhất cho mỗi chu kì là khoảng 20HZ (50ms). Trong lập trình điều khiển led ma trận bằng vi xử lý ta cũng phải sử dụng phương pháp quét như vậy.

CHƯƠNG II

NGUYÊN LÝ HOT ĐỘNG CA ĐỀ TÀI

· o ¸

I. Sơ đồ khi mch hin th

Hình 24: Sơđồ khối đề tài

I.1 B ngun: làm nhiệm vụ cung cấp điện áp cho toàn mạch.

Bộ nguồn được sử dụng trong đề tài là bộ nguồn PC. Sở dĩ dùng bộ nguồn PC thay cho việc thiết kế bộ nguồn sử dụng IC ổn áp 78xx vì:

- Bộ nguồn PC có tính ổn định cao nhằm bảo vệ tốt cho bộ vi điều khiển. - Dùng lâu dài.

- Có khả năng chịu đựng tốt với thời tiết.

- Có nhiều mức điện áp khác nhau thuận tiện cho việc sử dụng.

- Có công suất lớn vì vậy có thể sử dụng chung cho nhiều mạch khác nhau.

I.2 B dao động: là bộ dao động thạch anh cung cấp trực tiếp cho vi điều khiển Sơđồ nguyên lý:

Hình 25: Sơđồ kết nối thạch anh.

I.3 B reset: làm nhiệm vụ khởi động lại chếđộ ban đầu của khối xử lý trung tâm.

Hình 26: Bộ reset PIC

I.4 Khi x lý trung tâm: là bộ vi điều khiển PIC16F887 chứa phần mềm lập trình sau khi đã biên dịch làm nhiệm vụđiều khiển toàn bộ hê thống mạch nguyên lý. trình sau khi đã biên dịch làm nhiệm vụđiều khiển toàn bộ hê thống mạch nguyên lý.

I.5 Khi gii mã ct: bao gồm hệ thống 4 IC 74HC595 ghép nối tiếp làm nhiệm vụ giải mã dữ liệu từ khối xử lý trung tâm đưa vào hệ thống hiển thị (ma trận led). vụ giải mã dữ liệu từ khối xử lý trung tâm đưa vào hệ thống hiển thị (ma trận led).

I.6 Khi gii mã hàng: bao gồm hệ thống 8 Transistor B562 làm nhiệm vụ

khuếch đại dòng lấy trực tiếp từ PortB của khối xử lý trung tâm cấp cho 8 hàng của hệ

thống led ma trận.

I.7 Khi hin th: là hệ thống các ma trận led 8x8 làm nhiệm vụ hiển thị thông tin từ khối xử lý trung tâm sau khi được xử lý. từ khối xử lý trung tâm sau khi được xử lý.

I.8 Khi giao tiếp: dùng chuẩn giao tiếp RS232 thông qua IC Max 232 làm nhiệm vụ truyền nhận nối tiếp từ máy tính điều khiển dữ liệu hiển thị trên bảng led đồng thời nhận dữ liệu từ khối xử lý gửi về phục vụ việc điều khiển

II. Nguyên tc hot động

Nguyên tắc hoạt động của đề tài chủ yếu nói đến 2 nguyên tắc: hoạt động của led ma trận và nguyên tắc truyền nhận từ máy tính ghi vào ram nhớ. Ngoài ra các bộ phận khác về nguyên tắc hoạt động chỉđơn thuần chỉ là bộ phận trung gian để chuyển đổi ý

tưởng trực quang (phần mềm) sang ngôn ngữ hệ thống và điều khiển hê thống một các linh hoạt.

II.1 Nguyên tc led ma trn:

Để tìm hiểu nguyên tắc hoạt động của led ma trận ta cần tìm hiểu hai phần quan trọng: phần 1 là tìm hiểu cách hiển thị chữ hay ký tự, hình ảnh trên led ma trận (quét led ma trận) và phần 2 là tìm hiểu các hiệu ứng trên led ma trận như dịch ký tự.

II.1.1 Hin th ký t trên led ma trn

Dựa trên nguyên tắc như quét màn hình, ta có thể thực hiện việc hiển thị ma trận

đèn bằng cách quét theo hàng và quét theo cột. Mỗi led trên led ma trận có thể coi như

một điểm ảnh. Địa chỉ của mỗi điểm ảnh này được xác định đồng thời bởi mạch giải mã hàng và giải mã cột, điểm ảnh này sẽđược xác định trạng thái nhờ dữ liệu đưa ra từ bộ vi

điều khiển PIC16F887.

Như vậy tại mỗi thời điểm chỉ có trạng thái của một điểm ảnh được xác định. Tuy nhiên khi xác định địa chỉ và trạng thái của điểm ảnh tiếp theo thì các các điểm ảnh còn lại sẽ chuyển về trạng thái tắt (nếu led đang sang thì sẽ tắt dần). Vì thếđể hiển thịđược toàn bộ hình ảnh của ma trận đèn, ta có thể quét led ma trận nhiều lần với tốc độ quét rất lớn, lớn hơn nhiều lần thời gian kịp tắt của đèn. Mắt người chỉ nhận biết tối đa 24 hình/s do đó nếu tốc độ quét rất lớn thì nó sẽ không nhận ra được sự thay đổi nhỏ của đèn mà sẽ

thấy được toàn bộ hình ảnh cần hiển thị.

Hình 27: Sơđồđơn giản của Led ma trận 4x4

Trạng thái của một led sẽđược quyết định bởi tín hiệu điện áp đi vào đồng thời cả

hai chân. Ví dụđể led sáng thì điện áp 5V phải đưa vào chân dương và chân âm của led phải được nối đất, led sẽ tắt khi không có điện áp đưa vào chân dương.

Hình 28: Hiện chữ trên Led ma trận 8x8.

Ở trên là hình ảnh của 3 led ma trận 8x8 ghép nối tiếp nhau và chúng đang hiển thị một phần chữ ADIDAS.

Nguyên tắc hiển thị như sau:

Đầu tiên ta quét led ma trận thứ nhất Thực hiện quét dòng và cột:

- Chọn cột 1, đưa điện áp cột 1 về 0V

- Sau đó chọn và quét lần lượt các hàng 1, 2, 3, 4, 5, 6, 7, 8: + Đèn 1 tắt Æđiện áp đưa vào hàng 1 là 0V + Đèn 2 tắt Æđiện áp đưa vào hàng 2 là 0V + Đèn 3 sáng Æđiện áp đưa vào hàng 3 là 5V + Đèn 4 sáng Æđiện áp đưa vào hàng 4 là 5V + Đèn 5 sáng Æđiện áp đưa vào hàng 5 là 5V + Đèn 6 sáng Æđiện áp đưa vào hàng 6 là 5V + Đèn 7 sáng Æđiện áp đưa vào hàng 7 là 5V + Đèn 8 sáng Æđiện áp đưa vào hàng 8 là 5V

- Chọn cột 2, nối đất đồng thời bỏ chọ cột 1. Sau đó quét lần lượt các hàng 1, 2, 3, 4, 5, 6, 7, 8 + Đèn 1 tắt Æđiện áp đưa vào hàng 1 là 0V + Đèn 2 sáng Æđiện áp đưa vào hàng 2 là 5V + Đèn 3 tắt Æđiện áp đưa vào hàng 3 là 0V + Đèn 4 sáng Æđiện áp đưa vào hàng 4 là 5V + Đèn 5 tắt Æđiện áp đưa vào hàng 5 là 0V + Đèn 6 tắt Æđiện áp đưa vào hàng 6 là 0V + Đèn 7 tắt Æđiện áp đưa vào hàng 7 là 0V + Đèn 8 tắt Æđiện áp đưa vào hàng 8 là 0V

- Tiếp tục quét các cột từ 3 đến 8 bằng cách như trên, sau đó chuyển sang quét đèn led thứ hai và thứ ba một cách tương tự.

- Để mắt người nhận biết được toàn bộ hình ảnh của ma trận ta phải tiến hành quét nhiều lần. Do mắt người không phân biệt được sự thay đổi ảnh nếu ảnh đó quét với tốc độ 24 hình/s nên nếu ta quét ảnh với tốc độ lớn hơn hoặc bằng 24 hình/s thì ảnh sẽ chạy liên tục và không bị giật.

II.1.2 Dch ch trên led ma trn

Sau khi tìm hiểu được cách hiển thị ký tự trên led ma trận, bây giờ ta sẽ tìm hiểu làm thế nào các ký tự có thể nhảy múa trên led thô cứng như vậy ??

Để hiểu rõ hơn vấn đề ta xét ví dụ dịch ký tự A trên led ma trận 5x7 bên dưới. Như bên dưới thì ta thấy có 7 trạng thái của led ma trận, và ta thấy hình như ký tự

A xuất hiện dần từ bên phải sang trái qua các led ma trận, nếu như ta cho các led ma trận xuất hiện một cách riêng lẽ từ lần 0 đến lần 7 với tốc độ rất nhanh thì ta sẽ thấy ký tự A

được dịch từ trái sang phải. Vậy là mắt bạn đã bịđánh lừa. Đấy là trực quang phần cứng, nhưng bây giờ làm thế nào để làm được điều đó??. Lưu ý là ở đây ta không dùng 7 led ma trận, cho mỗi led ma trận sáng như bên dưới và kéo led ma trận đểđánh lừa mắt đâu.

Ởđây ta chỉ có một led ma trận và dĩ nhiên ta không đánh lừa mắt như trên được, mà ta dùng phần cứng làm cho led hiển thị như bên dưới với tốc độ rất nhanh. Ta sẽ thực hiện như sau: sẽ có 7 trạng thái ta quan tâm như bên dưới, thực chất là ta cũng sẽ làm công việc hiển thịđược ký tự A trên led ma trận mà phần trên đã trình bày và bây giờ là dịch ký tự A. Ta thấy lần 0 thì led không hiện gì cả nhưng ta vẫn thực hiện công việc quét hàng như đã trình bày ởđây ta chỉ quét 5 cột thay vì 8 cột. Lần 1 thì cột bên phải sáng tất nhiên là ta cũng sẽ quét 5 cột, tưng tự cho các lần còn lại. Tóm lại khi thiết kế thì ta sẽ

cho led ma trận hiện 7 lần khác nhau từ lần 0 đến lần 6 và trong một lần như vậy ta sẽ

quét 5 cột để led ma trận hiển thị các ký tự mong muốn. Khi thiết kế phầm mềm thì chỉ

việc dịch trái mảng hàng chứa bộ mã hoá ký tựđi 1 ứng với mỗi lần hiển thị là xong.

Hình 29: Dịch chữ trên led ma trận.

Như vậy ta đã tìm hiểu được cách hiển thị và dịch ký tự trên led ma trận. Nếu như

khéo léo trong cách kết nối các led ma trận và mã hoá ký tự kèm theo sự linh hoạt trong phần mền ta có thể làm cho các led ma trận không những hiển thịđược các thông điệp mong muốn mà ta có thể làm cho led ma trận nhảy múa theo các hình dạng ngỗ nghĩnh.

II.2 Nguyên tc truyn nhn d liu t máy tính:

Vấn đề kết nối giữa máy tính và khối xử lý đã được đề cặp ở trên, nên sẽ không được nhắc lại ởđây, phần này chỉđể cập việc nhập ký tự, nhận ký tự và xuất ra led.

Đầu tiên khi ta nhập một ký tự trên máy tính, thông qua một phần mềm có sẵn, thì vi điều khiển sẽ nhận về mã ASCII của ký tự ta nhập VD: mã ASCII của A là 65. Để hiển thị ký tự lên Led thì ta phải tra dịch từ mã ASCII sang bảng mã đã được dịch sẵn sau đó lưu các mã đó vào trong ram.

Để kết thúc quá trình nhập ta ấn phím “ ~ ” trên bàn phím, khi ta ấn phím này sẽ có một cờ báo cho vi điều khiển biết kết thúc quá trình nhập và lưu vào trong ram. Khi đó vi điều khiển sẽ chuyển sang quá trình hiển thị dữ liệu vừa lưu được trong ram ra led.

PHN III

PH LC A

CHƯƠNG TRÌNH ĐIU KHIN

#include <16F887.h> #include <def_88.h>

#fuses hs,NOWDT,NOPROTECT,NOLVP #device 16F877a*=16 ADC=8

#use delay(clock=20000000)

#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=9)

#define latch_573_low PIN_A0 //LATCH cua 573 mang 8 bit dia chi thap #define latch_573_high PIN_A1 //LATCH cua 573 mang 8 bit dia chi cao

#define CE_RAM PIN_A2 //Chip Select enable ram 62256 #define WE_RAM PIN_A3 //Write enable ram 62256

#define OE_RAM PIN_A4 //Read Enable ram 62256

#define clk PIN_c0 #define latch PIN_c2 #define data1 PIN_c1

//= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = // KHAI BAO CHUONG TRINH CON

Một phần của tài liệu đề tài VI ĐIỀU KHIỂN VỚI QUANG BÁO (Trang 34)

Tải bản đầy đủ (PDF)

(56 trang)