Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
718,85 KB
Nội dung
Chương 4: Điềukhiểncấpnguồncholedmatrận Chương này sẽ trình bày về cách điềukhiểncấpnguồnchomatrận sử dụng phương pháp cấpnguồn theo từng cột. Việc điềukhiểncấpnguồncho các cột được thực hiện bằng cách sử dụng IC 74HC138. Các hàng của matrận sẽ được cậpnguồn bằng cách sử dụng bộ ghi dịch 74HC595. Các dữ liệu mã hóa font được truyền nối tiếp từ vi điềukhiển tới bộ ghi dịch bằng cách sử dụng SPI . 4.1) Điềukhiểncấpnguồncho cột dùng 74HC138 4.1.1) Chức năng của 74HC138 Sơ đồ chân của 74HC138 [4] : Hình 4 - Sơ đồ chân 74HC138 IC 74HC138 là bộ giả mã 3 đầu vào ( A0,A1,A2) 8 đầu ra phủ định (Y0 đến Y7 ). Nó có 3 đầu vào cho phép : 2 đầu vào tích cực thấp ( 1 E , 2 E ) và một đầu vào tích cực mức cao (E3). Tất cả các đầu ra của 74HC138 sẽ ở mức cao trừ khi 1 E , 2 E ở mức thấp và E3 ở mức cao. Khi các đầu vào 1 E , 2 E ở mức thấp và E3 ở mức cao thì đầu ra của 74HC138 sẽ được quyết định bởi đầu vào . 47 Bảng 4 - Chức nămg hoạt động của 74HC138 Đầu vào Đầu ra 1 E 2 E E3 A0 A1 A2 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 H X X X H X X X X X X X X X X X X X H H H H H H H H H H H H H H H H H H H H H H H H L L L L L L L L L L L L L L L L H H H H H H H H L L L L H H H H L L H H L L H H L H L H L H L H L H H H H H H H H L H H H H H H H H L H H H H H H H H L H H H H H H H H L H H H H H H H H L H H H H H H H H L H H H H H H H H L 4.1.2) Sử dụng 74HC138 để cấpnguồncho các cột matrận Theo nguyên tắc quét matrậnled thì tại mỗi thời điểm ta chỉ cấpnguồncho một cột của matrận do đó có thể dung 74HC138 để cấpnguồncho các cột của matrận . Các đầu vào ( A0,A1,A2) của 74HC138 sẽ được nối với các chân của vi điều khiển, các đầu ra của 74HC138 được nối với các cột của matrậnled thông qua một cổng phủ định ( hoặc các bộ đệm dòng cấpnguồncho cột ), còn các chân 1 E , 2 E được nối đất, E3 nối dương nguồn .Thông qua việc gửi tín hiệu từ vi điềukhiển tới các chân đầu vào của 74HC138 ta có thể chọn được cột cần cấpnguồn . 48 Hình 4 - Ghép nối 74HC138 với vi diềukhiển dể cấpnguồncho cột của matrận Khi mở rộng matrận ta tăng thêm số lượng IC để cấpnguồncho tất cả các cột, các IC này có thể cùng nối chung hoặc riêng chân điều khiển. Hoặc chỉ sử dụng một IC nhưng cấpnguồn đồng thời cho tất cả các ma trận, khi đó một chân của IC sẽ được nối với các cột của các matrận khác nhau . 49 4.2) Điềukhiểncấpnguồncho hàng dùng 74HC595 4.2.1) Chức năng của 74HC595 74HC595 [5] là bộ ghi dịch 8 bít gồm có : 1 đầu vào cho phép ( OE ) 1 đầu vào chọn thanh ghi dịch ( MR ) 1 đầu vào dữ liệu nối tiếp (DS) 1 đầu vào cấp xung cho thanh ghi dịch (SH_CP) 1 đầu vào cấp xung cho thanh ghi chứa (ST_CP) 8 đầu ra 3 trạng thái ( Q1 đến Q7 và Q7’) Hình 4 - Sơ đồ chân 74HC595 50 Bảng 4 - Chức năng hoạt động của 74HC595 Đầu vào Đầu ra Chức năng SH_CP ST_CP OE MR DS Q7’ Qn X X L L X L kđ MR mức thấp dữ liệu chỉ dịch trong thanh ghi dịch đầu ra không đổi trạng thái X ↑ L L X L L Xóa thanh ghi dich nạp dữ liệu vào thanh ghi chứa X X H L X L Z Xóa thanh ghi dịch đầu ra ở trạng thái trở kháng cao ↑ X L H H Q6’ kđ Dịch chuyển trạng thái cao vào thanh ghi dịch, giá trị trước đó của bít thứ 6 trong thanh ghi dịch được chuyển sang đầu ra Q7’ X ↑ L H X kđ Qn’ Nội dụng của thanh ghi dịch được chuyển sang thanh ghi chứa và chuyển sang đầu ra ↑ ↑ L H X Q6’ Qn’ Dịch chuyển nội dung của thanh ghi dịch đồng thời nội dung của thanh ghi dịch cũ được chuyển vào thanh ghi chứa và các đầu ra song song 4.2.2) Sử dụng 74HC595để cấpnguồncho các hàng của matrận Khi dùng 74HC595 để cấpnguồnchomatrậnled ta nối các đầu ra song song của 74HC595 với các chân cấpnguồncho hàng của ma trận. Đồng thời phải sử 51 dụng 3 chân của vi điềukhiển để nối với các chân DS,SH_CP,ST_CP của 74HC595. Các bit dữ liệu mã hóa mức logic cần cấpcho các hàng của 1 cột matrận sẽ được truyền liên tiếp DS của 74HC595. Để đồng bộ bit thì vi điềukhiển mỗi khi xuất 1 bit tới chân DS sẽ phát một xung có sườn dương vào chân SH_CP. Sau khi truyền xong hết dữ liệu, để các led trên cột sáng thì ta phải chuyển dữ liệu trong thanh ghi dịch vào các đầu ra của 74HC595 bằng cách cấp 1 xung sườn dương vào chân ST_TP. Chú ý để IC có thể hoạt động và đẩy dữ liệu ra các chân đầu ra thì chân OE phải nối đất, chân MR nối dương nguồn. Hình 4 - Ghép nối 74HC595 với vi điềukhiển để cấpnguồncho hàng của matrận Khi mở rộng matrậnled ta ghép nhiều 74HC595 nối tiếp nhau: các chân SH_CP được nối chung với 1 nguồncấp xung, các chân ST_CP cũng được nối chung với nhau, đầu ra Q7’ của IC phía trước được nối với đầu vào DS của IC tiếp theo. Khi đó dữ liệu sẽ được dịch đồng bộ từ IC này sang IC khác và đầu ra của các IC cũng được chốt đồng bộ. 52 Hình 4 - Ghép nối tiếp các IC 74HC595 53 4.3) Truyền dữ liệu cấpnguồncho hàng sử dụng SPI 4.3.1) Atmega16 SPI Để truyền dữ liệu từ vi điềukhiển vào bộ ghi dịch ta có thể dùng một đoạn chương trình phần mềm lập trình cho vi điềukhiển truyền từng bit của dữ liệu. Tuy nhiên Atmega16 có phần cứng hỗ trợ việc truyền dữ liệu nối tiếp với các thiết bị ngoại vi (SPI). a) Sơ đồ khối và các chế độ SPI [3] : Hình 4 - Sơ đồ khối của SPI Ta có thể thiết lập SPI ở 2 chế độ Master và Slave : Ở chế độ Slave, chân Slave Select ( SS ) phải đặt là đầu vào .Khi chân này bị kéo xuống mức thấp thì SPI sẽ hoạt động, chân MISO có thể đặt làm đầu ra, các chân khác là đầu vào. Khi chân SS được kéo lên mức cao ở mức cao SPI ngừng nhận dữ liệu từ bên ngoài vào. Chân SS có tác dụng đồng bộ byte, gói giúp cho bộ 54 đếm bit của slave đồng bộ với bộ phát xung của master. Khi SS bị kéo lên mức cao thì SPI slave sẽ tái lập lại mức logic truyền và nhận, đồng thời xóa dữ liệu đã nhận trong thanh ghi dịch. Ở chế độ Master, ta có thể đặt SS làm đầu ra hay vào tùy ý : Nếu SS được đặt làm đầu ra thì nó không làm ảnh hưởng tói SPI , nó chỉ có tác dụng điềukhiển mức logic cho chân SS của SPI slave. Nếu SS được đặt làm đầu vào thì nó phải được giữ ở mức cao để đảm bảo các hoạt động của SPI master. Nếu SPI bị kéo xuống mức thấp bởi thiết bị ngoại vi thì nó sẽ hiểu đó là một Master khác nên sẽ đặt lại SPI ở chế độ Slave và bắt đầu truyền dữ liệu. Để tránh xung đột trong quá trình này SPI tiến hành các thủ tục sau: - Xóa bit MSTR trong thanh ghi SPCR để SPI ở chế độ Slave. Do đó các chân MOSI và SCK trở thành đầu vào. - Thiết lập mức cao cho cờ SPIF trong thanh ghi SPCR. Nếu ngắt SPI và ngắt toàn cục được cho phép thì quá trình ngắt sẽ được thực hiện. b) Các thanh ghi SPI: * Thanh ghi diềukhiển - SPCR : Bit 7 6 5 4 3 2 1 0 Read/Write R/W R/W R/W R/W R/W R/W R/W R/W Khởi tạo 0 0 0 0 0 0 0 0 Bit 7 - SPIE : SPI Interupt Enable Ngắt SPI sẽ được thực hiện nếu cờ SPIF trong SPSR được thiết lập và ngắt toàn cục được cho phép. Bit 6 - SPE : SPI Enable Bit này phải được đặt ở mức cao để SPI có thể hoạt động Bit 5 - DORD : Data Order Khi DORD ở mức cao thì bit LSB được truyền trước Khi DORD ở mức thấp thì bit MSB được truyền trước SPIE SPE DORD MSTR CPOL CPHA SPR1 SPR0 55 Bit 4 - MSTR : Master/Slave Select Bit có tác dụng chọn chế độ cho SPI : Master nếu ở mức cao, Slave nếu ở mức thấp. Nếu chân SS được đặt làm đầu vào thì khi chân này bị kéo xuống mức thấp thì MSTR sẽ bị xóa và SPIF được thiết lập mức cao. Do dó người dùng sẽ phải đặt MSTR trở lại mức cao nếu muốn tiếp tục sử dụng chế độ Master. Bit 3 – CPOL :Clock Polarity: Khi bit này được ghi 1 thì SCK ở mức cao khi rỗi, ngược lại thì SCK ở mức thấp khi rỗi. Bảng 4 - Chức năng của bit CPOL CPOL Leading Edge Trailing Edge 0 Rising Failing 1 Failing Rising Bit 2 – CPHA : Clock Phase Xác định việc lấy mẫu dữ liệu trên sườn trước hay sau của SCK : Bảng 4 - Chức năng của bit CPHA CPHA Leading Edge Trailing Edge 0 Sample Setup 1 Setup Sample Bit1,0 – SPR1,SPR0 :SPI Clock Rate Select 1 and 0 Điềukhiển tốc độ của SCK ở chế độ Master . Quan hệ giữa SCK và tần số giao động (fosc) được thể hiện như sau: Bảng 4 - Quan hệ giữa tần số SCK và tần số giao động 56 [...]... điềukhiển để trực tiếp điềukhiển việc cấpnguồnchomatrận Với matrận lớn thì cần phải dùng các IC hỗ trợ cho việc điềukhiển cấp nguồnchomatrận Khi cấpnguồnchomatrận theo từng cột thì ta có thể sử dụng các IC có tác dụng chọn kênh để cấpnguồn cho ma trận, tại mỗi thời điểm mỗi IC này chỉ cấpnguồncho 1 cột của matrận Đối với các hàng trong cột thì ta có thể dùng các bộ ghi dịch để cấp. .. spi(byte) ; Lệnh này cho phép gửi 1 byte từ vi điềukhiển qua chân MOSI tới thiết bị ngoại vi.Sau đó nếu muốn chốt dữ liệu ta cần phải sử dụng 1 thủ tục để gửi 1 sườn dương tới chân ST_CP của 74HC595 thông : void latchdata( ) { PORTB.3=0; PORTB.3=1; } 4.3) Kết luận Khi cấpnguồn cho matrận tùy theo kích thước của matrậnmà ta có thể sử dụng nhiều phương pháp khác nhau Với các matrận đủ nhỏ ta có thể... truyền dữ liệu cho 74HC595 Để kết nối SPI giữa Atmega16 và 74HC595 ta cần nối chân SCK của vi điềukhiển với chân SH_CP của 74HC595, nối chân MOSI của vi điềukhiển với chân DS của 74HC595 Ngoài ra còn phải dùng 1 chân của vi điềukhiển nối với chân ST_CP của 74HC595 để chốt dữ liệu tại đầu ra của 74HC595 Hình 4 - Ghép nối vi điềukhiển với 74HC595 sử dụng SPI Do việc giao tiếp giữa vi điềukhiển và 74HC595... điềukhiển và 74HC595 chỉ là quá trình truyền dữ liệu từ vi điềukhiển đến 74HC595 nên ta có thể thiết lập cho SPI ở chế độ master với cách sắp xếp dữ liệu theo trật tự bit có trọng số cao thì mã hóa cho hàng ở trên và các đầu ra của 74HC595 cũng được nối với các chân của ma trậnled theo trật tự trên thì ta đặt bit DORD=0 Các giá trị cần nạp cho thanh ghi : 58 SPCR=0x50 SPSR=0x00 Sau đó trong chương... cho ma trận, tại mỗi thời điểm mỗi IC này chỉ cấpnguồncho 1 cột của matrận Đối với các hàng trong cột thì ta có thể dùng các bộ ghi dịch để cấpnguồn Khi cấpnguồn thì ta cần chú ý việc cấp phát dữ liệu của các hàng phải tương ứng với cột được cấpnguồn 59 ... R R R R R R R/W 0 0 0 0 0 0 0 0 - 1 SPIF Read/Write - 2 - SPI2X Bit 7 – SPIF: SPI Interrupt Flag Sau khi kết thúc việc dữ liệu, cờ SPIF được thiết lập Ngắt sẽ xảy ra nếu ngắt SPI và ngắt toàn cục được cho phép Bit 6 – WCOL: Write COLision flag Được thiết lập nếu SPDR được ghi dữ liệu khi đang truyền dữ liệu Sẽ được xóa sau khi thanh ghi trạng thái được kiểm tra Bit 5 1 : Không được dùng trong Atmega16 . vi điều khiển để trực tiếp điều khiển việc cấp nguồn cho ma trận. Với ma trận lớn thì cần phải dùng các IC hỗ trợ cho việc điều khiển cấp nguồn cho ma trận. . Chương 4: Điều khiển cấp nguồn cho led ma trận Chương này sẽ trình bày về cách điều khiển cấp nguồn cho ma trận sử dụng phương pháp cấp nguồn theo từng