Đăng ký Đăng nhập
Trang chủ Thiết kế hệ vi xử lý...

Tài liệu Thiết kế hệ vi xử lý

.PDF
50
56
139

Mô tả:

Thiết kế hệ vi xử lý
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN KỸ THUẬT ĐIỆN TỬ CHƯƠNG 4 Thiết kế hệ vi xử lý Bùi Minh Thành – Bộ môn Kỹ thuật Điện tử 1 Nội dung 1. 2. 3. 4. Giao tiếp với LCD Giao tiếp A/D Giao tiếp D/A Động cơ bước Bộ môn Kỹ Thuật Điện Tử - ĐHBK 2 Nội dung 1. 2. 3. 4. Giao tiếp với LCD Giao tiếp A/D Giao tiếp D/A Động cơ bước Bộ môn Kỹ Thuật Điện Tử - ĐHBK 3 Giới thiệu • Dùng để hiển thị thông tin linh hoạt và tiết kiệm năng lượng. • Có nhiều loại module LCD, phổ biến nhất là loại 2 hàng, 16 k{ tự • Module LCD đã được thiết kế chuẩn để cho phép ta có thể giao tiếp với LCD do một hãng bất kz sản xuất với điều kiện là các LCD có sử dụng cùng IC điều khiển HD44780 Bộ môn Kỹ Thuật Điện Tử - ĐHBK 4 Giới thiệu • Phần lớn các module LCD sử dụng giao tiếp 14 chân trong đó có 8 đường dữ liệu, 3 đường điều khiển và 3 đường cấp nguồn. Kết nối được bố trí dưới dạng 1 hàng 14 chân hoặc 2 hàng 7 chân. Bộ môn Kỹ Thuật Điện Tử - ĐHBK 5 Chức năng các chân của LCD • Khi RS = 0 thì dữ liệu ghi vào LCD được hiểu là các lệnh, dữ liệu đọc từ LCD được hiểu là trạng thái của nó. • Chân 5 là đường điều khiển đọc ghi R/nW, mức thấp sẽ cho phép ghi vào LCD, mức cao cho phép đọc ra từ LCD. Chân 6 là đường điều khiển cho phép E. Các chân còn lại chứa dữ liệu 8-bit vào hoặc ra LCD. Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chân số 1 2 3 4 Tên VSS VDD VEE RS Chức năng Đất Cực + của nguồn điện Tương phản (constrast) Register Select (Chọn thanh ghi) 5 6 7 8 9 10 11 12 13 14 R/W E D0 D1 D2 D3 D4 D5 D6 D7 Read/Write Cho phép (Enable) Bit 0 của dữ liệu Bit 1 của dữ liệu Bit 2 của dữ liệu Bit 3 của dữ liệu Bit 4 của dữ liệu Bit 5 của dữ liệu Bit 6 của dữ liệu Bit 7 của dữ liệu 6 Lệnh điều khiển LCD Command RS RW (Lệnh) NOP(No operation = không làm gì cả) Clear display(xóa hiển thị) Nhị phân Hex D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 1 01 Display & Cursor home (hiển thị và đặt cursor ở góc trái phía trên) Character Entry mode (Chế độ nhập ký tự) Display On/Off & Cursor (Tắt mở hiển thị và cursor) 0 0 0 0 0 0 0 0 1 x 02 hoặc 03 0 0 0 0 0 0 0 1 I/D S 04 đến 07 0 0 0 0 0 0 1 D U B 08 đến 0F Display/Cursor Shift (Dịch curson/hiển thị) Function set (Đặt chức năng) Set CGRAM address (Đặt địa chỉ CGRAM) Set DDRAM address (Đặt địa chỉ DDRAM) 0 0 0 0 0 1 D/C R/L x x 10 đến 1F 0 0 0 0 1 8/4 2/1 10/7 x x 20 đến 3F 0 0 0 1 A A A A A A 40 đến 7F 0 0 1 A A A A A A A 80 đến FF Busy Flag & Addr(Cờ bận và bộ đếm địa chỉ) Read Data(Đọc dữ liệu từ CGRAM hoặc DDRAM) Write Data(Ghi dữ liệu vào CGRAM hoặc DDRAM) 0 1 BF 1 1 Dữ liệu đọc 1 0 Dữ liệu ghi Bộ môn Kỹ Thuật Điện Tử - ĐHBK Bộ đếm địa chỉ 7 Chú thích I/D: 1 =Increment *, 0=Decrement R/L: 1 = Right shift, 0 = Left shift S: 1 = Display shift on, 0 = Display shift off * 8/4: 1 = 8 bit interface *, 0 = 4 bit interface D: 1 = Display on, 0 = Diaplay off * 2/1: 1 = chế độ 2 hàng, 0 = chế độ 1 hàng * U: 1 = Cursor underline on, 0=Underline off * 10/7: 1=5x10 dot format, 0=5x7 dot format * B: 1 = Cursor blink on, 0 = cursor blink off * x = don’t care * = đặt ban đầu D/C: 1 = Display shift, 0 = cursor move Bộ môn Kỹ Thuật Điện Tử - ĐHBK 8 Bảng ký tự chuẩn của LCD Bộ môn Kỹ Thuật Điện Tử - ĐHBK 9 Địa chỉ trên LCD 16x2 Bộ môn Kỹ Thuật Điện Tử - ĐHBK 10 Kết nối phần cứng • LCD được thiết kế để hoạt động với cơ chế 3 bus. • 8 đường dữ liệu D0-D7 chứa dữ liệu hiển thị hoặc lệnh điều khiển LCD được ghi vào LCD thông qua vi mạch chốt 74x573, trong đó tín hiệu cho phép chốt CS được tạo ra từ mạch giải mã địa chỉ. Bộ môn Kỹ Thuật Điện Tử - ĐHBK 11 Ví dụ • Viết chương trình hiển thị “Hello World” lên màn hình LCD Bộ môn Kỹ Thuật Điện Tử - ĐHBK 12 Chương trình chính ORG 2000H EN BIT P3.4 RS BIT P3.5 MOV TMOD, #01H LCALL LCD_INIT MOV R1, #0 HTHI: MOV A, R1 MOV DPTR, #MESSAGE MOVC A, @A+DPTR CALL WR_DATA CALL DELAY_400MS INC R1 CJNE R1, #12, HTHI SJMP $ MESSAGE: DB 'Hello World!' Bộ môn Kỹ Thuật Điện Tử - ĐHBK 13 Các chương trình con ;; Chuong trinh con khoi dong LCD LCD_INIT: CLR EN CLR RS CALL DELAY_1S MOV DPTR, #8000H MOV A, #38H ; 8bit data + 2line + 5*7 LCALL WR_INSTR MOV A, #0EH ; Display on + Cursor on LCALL WR_INSTR MOV A, #06H ; Increase the cursor after each byte written to display LCALL WR_INSTR MOV A, #80H ; Cursor to addr 0 LCALL WR_INSTR MOV A, #01H ; Clear display LCALL WR_INSTR LCALL DELAY_4MS RET Bộ môn Kỹ Thuật Điện Tử - ĐHBK 14 ; Chuong trinh con write instruction WR_INSTR: CLR RS SETB EN MOVX @DPTR, A ACALL DELAY_160US CLR EN RET Bộ môn Kỹ Thuật Điện Tử - ĐHBK ; Chuong trinh con write data WR_DATA: SETB RS SETB EN MOV DPTR, #8000H MOVX @DPTR, A ACALL DELAY_160US CLR EN RET 15 Chương trình con delay ; Chuong trinh con tao DELAY DELAY_160US: PUSH 03 MOV R3, #80 DJNZ R3, $ POP 03 RET DELAY_4MS: CLR TR0 MOV TH0, #HIGH(-4000) MOV TL0, #LOW(-4000) SETB TR0 JNB TF0, $ CLR TF0 RET Bộ môn Kỹ Thuật Điện Tử - ĐHBK DELAY_400MS: PUSH 04 MOV R4, #100 LOOP1: CALL DELAY_4MS DJNZ R4, LOOP1 POP 04 RET DELAY_1S: PUSH 04 MOV R4, #250 LOOP2: CALL DELAY_4MS DJNZ R4, LOOP2 POP 04 RET 16 LCD2 C2 33p 33p X1 U1 19 12MHz D0 D1 D2 D3 D4 D5 D6 D7 7 8 9 10 11 12 13 14 RS RW E GND VDD 18 9 1 2 3 4 5 6 7 8 XTAL1 AD[0..7] AD[0..7] A[8..15] A[8..15] AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 C1 RS 4 5 EN 6 1 2 3 VSS VDD VEE LM032L XTAL2 RST ALE EA PSEN P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD U2 3 4 7 8 13 14 17 18 30 31 29 10 11 12 13 14 EN 15 RS 16 17 1 11 D0 D1 D2 D3 D4 D5 D6 D7 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 2 5 6 9 12 15 16 19 OE LE 74LS373 8051 PROGRAM=lcd.hex U4 A13 1 A14 2 A15 3 6 4 5 A B C E1 E2 E3 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 15 14 13 12 11 10 9 7 U3:A 2 1 3 74LS28 74LS138 Bộ môn Kỹ Thuật Điện Tử - ĐHBK 17 Bài tập Bài tập 1: Viết chương trình con khởi tạo LCD chế 8-bit, 2-line, con trỏ bắt đầu ở dòng thứ 2 và xóa màn hình. Bài tập 2: Viết chương trình hiển thị Hello World! My name is David Bộ môn Kỹ Thuật Điện Tử - ĐHBK 18 Nội dung 1. 2. 3. 4. Giao tiếp với LCD Giao tiếp A/D Giao tiếp D/A Động cơ bước Bộ môn Kỹ Thuật Điện Tử - ĐHBK 19 Giới thiệu • Vi mạch ADC (Analog to Digital Converter) được sử dụng để chuyển đổi các tín hiệu từ dạng tương tự sang dạng số. • Tín hiệu tương tự là các tín hiệu liên tục trong miền thời gian và biên độ. Trong thực tế, hầu hết các tín hiệu vật lý đều tồn tại dưới dạng tương tự. Muốn xử lý được các tín hiệu này bằng các hệ thống số thì cần phải chuyển đổi các tín hiệu tương tự này sang dạng số. Bộ môn Kỹ Thuật Điện Tử - ĐHBK 20
- Xem thêm -

Tài liệu liên quan