intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Ứng dụng Vi điều khiển - Trần Văn Hùng

Chia sẻ: AAAA AAAA | Ngày: | Loại File: PDF | Số trang:56

113
lượt xem
17
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nội dung bài giảng ứng dụng Vi điều khiển của Trần Văn Hùng: trình bày các hệ đếm và mã hóa, hệ thống vi xử lý, bộ nhớ...

Chủ đề:
Lưu

Nội dung Text: Bài giảng Ứng dụng Vi điều khiển - Trần Văn Hùng

  1. MÔN HỌC Ứng dụng Vi điều khiển (Microcontroller Applications) By Trần Văn Hùng Mechatronics Dept http://www.ntu.edu.vn/ Email: tvh42th@gmail.com Tài liệu tham khảo 1. Microprofessors and microcpmputers hardware and softwware, Ronaid J.Tocci, Frank J.Ambrosio, Prentice Hall, 2003 2. Interfacing Sensors To The Pc, Willis J.Tompkin, Jonh G.webster, Prentice Hall, 1998 3. Vi xử lý, Văn Thế Minh, NXB Giáo Dục. 4. Họ vi điều khiển 8051, Tống Văn On. 5. Kỹ thuật Vi điều khiển AVR, Tống Văn On. 1
  2. Nội dung chương trình n Ch01: Các hệ đếm và mã hoá n Ch02: Hệ thống vi xử lý n Ch03: Bộ nhớ n Ch04: Họ vi điều khiển AVR n Ch05: Ngôn ngữ lập trình CodevisionAVR n Ch06: Input/Output Các bài toán 1. Thiết kế mạch điều khiển ánh sáng theo chương trình định trước 2. Thiết kế mạch trang trí bằng đèn LED 3. Thiết kế mạch nhận dạng điểm phục vụ (thêm ít nhất 2IC) 4. Thiết kế mạch đo lượng mưa 5. Thiết kế mạch điều khiển nhiệt độ không khí 6. Thiết kế mạch điều khiển nhiệt độ dung dịch 7. Thiết kế mạch đồng hồ điện tử 8. Thiết kế mạch tính thời gian cho các môn điền kinh 9. Thiết kế bảng quang báo 10. Thiết kế mạch khoá điện tử 11. Thiết kế mạch điều khiển thiết bị bằng remote 12. Kết nối bàn phím máy tính với VXL, hiển thị ký tự lên LCD 13. Thiết kế mạch điều khiển Robot chạy theo qũy đạo (sd motor bước) 14. Thiết kế mạch điều khiển tốc độ động cơ DC 15. Thiết kế mạch điều khiển góc quay của môtơ, ổn tốc cho motor. 2
  3. Chương 1: Các hệ đếm và mã hoá n Các hệ đếm dùng trong máy tính n Các phép toán số học đối với hệ hai n Mã ASCII 1.1 Các hệ đếm dùng trong máy tính 1.1.1 Hệ mười và hệ hai n Con người thì quen dùng hệ cơ số mười (hệ mười) 1234,56 = 1.103 + 2.102 + 3.101 + 4.100 + 5.10-1 + 6.10-2 n Máy tính thì chỉ làm việc với hệ cơ số hai (hệ hai) 1011,01 = 1.23 + 0.22 + 1.21 + 1.20 + 0.2-1 + 1.2-2 MSB LSB n Nibble gồm 4 bit 3 0 n Byte gồm 8 bit 7 0 n Word gồm 16 bit 15 0 1
  4. 1.1.1 Chuyển đổi giữa hệ mười và hệ hai n Đổi hệ hai sang hệ mười 1011,012 = 1.23 + 0.22 + 1.21 + 1.20 + 0.2-1 + 1.2-2 = 11,2510 n Đổi hệ mười sang hệ hai 4610 = 1011102 46 2 0 23 2 1 11 2 1 5 2 1 2 2 0 1 2 1 0 Hình 1. Một cách đổi hệ mười sang hệ hai 1.1.1 Chuyển đổi giữa hệ mười và hệ hai (tiếp) n Đổi số thập phân hệ mười sang hệ hai 0,12510 = 0,0012 0,125 x 2 = 0 ,250 0,250 x 2 = 0 ,500 0,500 x 2 = 1 ,000 n Số BCD (số hệ mười mã hoá bằng hệ hai) Số BCD thích hợp cho các thiế bị đo có hiển thị số ở đầu ra. 123410 = 0001 0002 0003 0004BCD n Hệ mười sáu 123410 = 0100 1101 00102 = 4D216 2
  5. 1.2 Các phép toán số học đối với hệ hai 1.2.1 Phép cộng ana(n-1) ... a2a1a0 + bmb(m-1) ... b2b1b0 = ckc(k-1) ... c2c1c0 (hệ cơ số x) ci = (ai + bi + (ai-1 + bi-1)%x )/x Ví dụ cộng hệ hai 1101 1001 + 0001 1011 1111 0100 1.2.2 Phép trừ và số bù hai a. Phép trừ ana(n-1) ... a2a1a0 - bmb(m-1) ... b2b1b0 = ckc(k-1) ... c2c1c0 (hệ cơ số x) ci = (ai – Bi-1) – bi (nếu (ai – Bi-1) >= bi và Bi = 0) ci = (ai – Bi-1 + x) – bi (nếu (ai – Bi-1) < bi và Bi = 1) Ví dụ trừ hệ hai 1101 1001 - 0001 1011 1011 1110 1.2.2 Phép trừ và số bù hai (tiếp) b. Số bù hai Ta có thể thay phép trừ bằng phép cộng: cộng số bị trừ với đối số của số trừ. Để tìm số bù hai của một số A ta làm theo các bước sau: + Biểu diễn số A số hệ hai của nó. + Tìm số bù một (bù logic) của số đó (đảo bít). + Cộng một vào số bù một ở trên để nhận được số bù hai của A. 1.2.3 Phép nhân Ví dụ nhân 2 số hệ hai có độ dài 4 bít a b a.b 1 1 01 0 0 0 1 0 01 0 1 0 1 1 01 1 0 0 0 0 0 0 1 1 1 00 0 0 1 10 1 Bảng 1. Quy tắc phép nhân 1 11 0 1 01 3
  6. 1.2.2 Phép chia b. Chia trực tiếp Ví dụ: 35/5 = 7 1 00 01 1 10 1 0 00 01 11 1 00 0 10 1 11 1 10 1 1 01 1 01 0 b. Chia gián tiếp Lấy số bị chia trừ đi số chia, kết quả sẽ là số bị chia của phép toán tiếp theo, lặp lại đến khi số bị chia nhỏ hơn số chia hoặc bằng 0. 4
  7. Chương 2: Hệ thống vi xử lý n Ưu và nhược điểm hệ nhúng n Vi xử lý, vi điều khiển n Các họ vi điều khiển n Ngắt và xử lý ngắt 2.1 Tại sao lại sử dụng hệ nhúng? 2.1.1 Ưu điểm n Khả năng thích nghi cao n Tính linh động n Khả năng thay đổi dễ dàng n Khả năng tái sử dụng tài nguyên (thư viện,…) n Giá thành rẻ n ... 2.1.2 Nhược điểm n Tốc độ phản ứng chậm n Độ ổn định thấp n Không xử lý được gía trị liên tục n ... 1
  8. 2.2 Vi điều khiển, vi xử lý Data bus CPU Timer, General- Wdg, USB, I/O RAM ROM ADC, UARST, Purpose PORT DAC, I2C,… Micro- … processor Address bus TERMINOLOGY n Microcontroller vs. Microprocessor vs. Microcomputer n A microprocessor is a central processing unit on a single chip. n A microprocessor combined with support circuitry , peripheral I/O components and memory (RAM & ROM) used to be called a “microcomputer.” n A microprocessor where all the components mentioned above are combined on the same single chip that the microprocessor is on, is called a microcontroller. 2
  9. 2.3 Kiến trúc vi điều khiển n Đơn vị sử lý số học (ALU) n Bộ nhớ n Input n Output n Đơn vị điều khiển 2.3.1 Đơn vị xử lý số học (ALU) n Thực hiện phép toán và phép logic trên dữ liệu n Dữ liệu có thể lấy trên bộ nhớ hoặc I/O n Kết quả có thể được đưa ra ngoài hoặc vào bộ nhớ (kết quả được lưu lại) General Purpose Registrers ALU 3
  10. 2.3.2 Bộ nhớ n Lưu trữ lệnh hay dữ liệu n Có thể để lưu trữ dữ liệu tạm thời n Có thể ghi/đọc được bởi bộ điều khiển Program Memory Data Memory Data Memory $000 $000 32 Gen. Purpose $0000 Program Flash Working Resisters $001F $0020 EEPROM (4K x 16) 64 I/O Resisters (512 x 8) $005F $0060 $1FF Internal SRAM (512 x 8) $025F $FFF 2.3.3 Input n Thiết bị cho phép thông tin và dữ liệu vào bên trong bộ vi điều khiển n Ví dụ: ADC, I2C, UART, … 2.3.4 Output n Thiết bị chuyển đổi thông tin và dữ liệu từ bộ nhớ ra thiết bị ngoại vi. n Thiết bị ngoại vi: LED, LCD, máy in, … 4
  11. 2.3.5 Đơn vị điều khiển n Cung cấp xung nhịp và điều khiển tín hiệu n Tìm nạp lệnh và dữ liệu n Chuyển dữ liệu tới/từ I/O n Giải mã lệnh n Thực hiện phép tính số học/logic n Đáp ứng tín hiệu ngoài (Reset/Ngắt) 2.3.6 Một số họ vi điều khiển n Vi điều khiển 8051 n 8051, 89Cxx, 89Sxx, 89Dxx,… n Vi điều khiển AVR n AVR 8 bít, AVR 16 bít,… n Vi điều khiển PIC n PIC 8 bít, PIC 16 bít,… n Vi điều khiển MCUs của Philips n P8xCxx,… n … 5
  12. 2.3.6 Các họ vi điều khiển (tiếp – so sánh) n Tốc độ xử lý (clock, clock cycle execution) n Khả năng tích hợp (ADC, DAC, UART, I2C,…) n Dải điện áp hoạt động (Operating Voltages) n Công suất đầu ra (DC current per I/O pin) n Khả năng chống nhiễu (Noise Reduction) n Tập lệnh (Instruction) n Công suất IC (Power consumption) n ... 2.4 Ngắt và xử lý ngắt (Interrupt) 2.4.1 Khái niệm n Ngắt là sự dừng thực hiện chương trình chính (CTC) để thực hiện chương trình con phụ vụ ngắt(ctc) Main Prog ISRj ISRi n: IRQi m: IRQj n + 1: m + 1: iret iret 6
  13. 2.4.2 Cấu trúc ngắt n Xuất hiện không được báo trước n Phục vụ gần giống chương trình con n Tích hợp nhiều loại ngắt n Có ưu tiên ngắt 2.4.3 Xử lý ngắt n Xuất hiện và cho phép ngắt n Hoàn thành lệnh hiện tại n Lưu trữ địa chỉ lệnh tiếp theo vào ngăn xếp n Nạp địa chỉ ISR vào PC n Thực hiện ISR n Kết thúc ISR là lệnh RETI n Khôi phục địa chỉ lệnh tiếp theo trong ngăn xếp, chương trình tiếp tục thực hiện 7
  14. 2.4.4 Phân loại ngắt n Ngắt mềm (software interrupt) Là việc gọi 1 ctc (Subroutine) được xây dựng riêng mà ctc này còn có thể được gọi bởi thiết bị ngoại vi n Ngắt cứng (hardware interrupt) Do port phát tín hiệu đến CPU n Ngắt trong (internal interrupt) Trong một số CPU để bẫy/xử lý các sự kiện trong khi thực hiện n Ngoại lệ (exceptions) Là vấn đề hay điều kiện để CPU dừng công việc đang thực hiện, tìm địa chỉ và thực hiện 1 ctc, được thiết kế để xử lý sự kiện này. 8
  15. Chương 3: Bộ nhớ n Bộ nhớ bán dẫn nhớ dẫ n Giải mã địa chỉ cho bộ nhớ Giả đị chỉ bộ nhớ n Phố ghé bộ nhớ Phối ghép bộ nhớ n Mở rộng bộ nhớ bộ nhớ Bộ nhớ dẫ 3.1 Bộ nhớ bán dẫn n nhó tí hiệ Các nhóm tín hiệu n ROM (read only memory) n RAM (random access memory) Memory Radom Read RAM Access ROM Only Memory Memory SRAM DRAM Programmable ROM PROM Static RAM Dynamic RAM EPROM Erasable PROM EEPROM CACHE Electrically EPROM L1, L2, L3 1
  16. Cá nhó tí hiệ 3.1.1 Các nhóm tín hiệu A0 D0 A1 D1 A2 D2 Address . . . . Data . . An Dm WR WE CS OE Select IC RD Hình 3. Sơ đồ khối của bộ nhớ a. Nhóm tín hiệu địa chỉ Nhó tí hiệ đị chỉ n Có tác dụng chọn ra một ô nhớ cụ thể dụ chọ mộ nhớ thể n Số đường địa chỉ sẽ quyết định có tối đa bao nhiêu ô đườ đị chỉ quyế đị có nhớ. Ví dụ có m đường địa chỉ vậy thì tối đa 2m ô nhớ. nhớ Ví đườ đị chỉ thì nhớ Nhó tí hiệ dữ liệ b. Nhóm tín hiệu dữ liệu n Thường là đầu ra của ROM và là vào/ra đối với RAM Thườ là đầ củ và đố vớ n Các mạch nhớ thường có đầu vào/ra là 3 trạng thái. mạ nhớ thườ có đầ và là trạ thá n Số đường dây dữ liệu quyết định độ dài từ nhớ của đườ dữ liệ quyế đị độ từ nhớ mỗi ô nhớ. nhớ 2
  17. Nhó tí hiệ chọ mạ c. Nhóm tín hiệu chọn vi mạch n Chọn vi mạch sẽ trao đổi dữ liệu. Chọ mạ sẽ đổ dữ liệ n Các tín hiệu này thường được nối với đầu ra của bộ tí hiệ nà thườ đượ nố vớ đầ củ bộ giải mã địa chỉ. giả đị chỉ n Vi mạch không được chọn thì bus dữ liệu của nó bị mạ đượ chọ thì dữ liệ củ nó (ở trạ thá trở khá treo (ở trạng thái trở kháng cao). d. Nhóm tín hiệu điều khiển Nhó tí hiệ điề khiể n phé dữ liệ Cho phép dữ liệu ra bus. n Bus dữ liệu bị treo nếu không có tín hiệu điều khiển. dữ liệ bị nế có hiệ điề khiể n Mạch thường chỉ có một tín hiệu điều khiển đọc/ghi. thườ chỉ tí hiệ điề khiể đọ 3.1.2 ROM n Bộ nhớ có nội dung đã ghi sẵn chỉ để đọc ra nhớ sẵ chỉ để đọ n Chỉ nạp vào một lần duy nhất Chỉ và mộ lầ nhấ n Không bị mất thông tin khi mất điện bị mấ điệ A0 D0 A1 D1 A2 D2 Address . . . . Data . . An Dm WR WE CS OE Select IC RD Hình 3. Bộ nhớ ROM 3
  18. 3.1.3 ROM có thể lập trình được có thể trì đượ a. PROM (Programmable ROM) n Thờ cậ Thời gian truy cập nhanh 120-250ns 120- n Chỉ nạp một lần duy nhất bằng các đốt cháy các cầu chì Chỉ mộ lầ nhấ bằ cá đố chá cá cầ chì n Điện áp khi lập trình khoảng 10-13V Điệ lậ trì khoả 10- VCC A0 Address Address A1 Bus decoder A2 D2 D1 D0 b. EPROM (erasable PROM) n Thờ cậ khoả Thời gian truy cập khoảng 120 – 450 ns n Điện áp lập trình khoảng 10-25V Điệ lậ trì khoả 10- n Nó có thể được xoá toàn bộ bằng tia cực tím. thể đượ xoá toà bộ cự tí Thờ lậ trì mộ nhớ (khoả n Thời gian lập trình cho một ô nhớ lâu (khoảng 50ms) 4
  19. c. EEPROM (electrically EPROM) n Xoá từng đơn vị nhớ bằng điện, không cần tia cực tím. Xoá vị nhớ điệ cầ cự tí n Thờ lậ trì mộ nhớ khoả Thời gian lập trình cho một ô nhớ khoảng 5ms. d. Flash memory n Thời gian truy cập nhanh (khoảng 120ns). n Thời gian ghi nhanh 10µs n Xóa từng khối nhớ 5
  20. 3.1.4 RAM n Bị mất dữ liệu khi mất điện. n Thời gian truy cập nhanh (có loại 15ns). R/W Input buffers Register 0 Register 1 Address Decoder Register 2 input . CS 6 line to 64 line . . Register 62 Register 63 Output buffers Hình 3. Cấu tạo bên trong của 64 x 4 RAM tiế 3.1.4 RAM (tiếp) n SRAM (static RAM) n Chế tạo đơn giản n Dễ dàng bảo trì n Thường được sử dụng trong hệ thống có bộ nhớ nhỏ n DRAM (dynamic RAM) n Giá thành thấp n Đòi hỏi mạch phụ trợ n Phải làm tươi (refresh) thường xuyên n Thường được sử dụng trong hệ thống có bộ nhớ lớn 6
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
5=>2