intTypePromotion=1

Bài giảng Ứng dụng vi điều khiển - Microcontroller Applications

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

0
81
lượt xem
2
download

Bài giảng Ứng dụng vi điều khiển - Microcontroller Applications

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Với kết cấu nội dung gồm 6 chương, bài giảng "Ứng dụng vi điều khiển - Microcontroller Applications" trình bày về các hệ đếm và mã hoá, hệ thống vi xử lý, bộ nhớ, họ vi điều khiển AVR, ngôn ngữ lập trình CodevisionAVR. Đây là tài liệu tham khảo hữu ích cho các bạn chuyên ngành Công nghệ thông tin.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Ứng dụng vi điều khiển - Microcontroller Applications

  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ớ nhớ bán dẫ dẫn n Giải mã đị Giả địa chỉ chỉ cho bộ bộ nhớ nhớ n Phối ghé Phố bộ nhớ ghép bộ nhớ n Mở rộng bộ bộ nhớ nhớ Bộ nhớ 3.1 Bộ nhớ bán dẫ dẫn n Các nhó nhó m tí hiệu tín hiệ 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. 3.1.1 Cá Các nhó nhóm tí hiệu tín hiệ 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ó Nhóm tí hiệu đị tín hiệ địa chỉ chỉ n dụng chọ Có tác dụ chọn ra mộ một ô nhớ nhớ cụ thể thể n Số đườ đường đị địa chỉ chỉ sẽ quyế quyết đị định có có tối đa bao nhiêu ô nhớ. Ví nhớ Ví dụ có m đườ đường đị địa chỉ chỉ vậy thì thì tối đa 2m ô nhớ nhớ. b. Nhó Nhóm tí hiệu dữ tín hiệ dữ liệ liệu n Thường là Thườ là đầ đầu ra củ của ROM và và là vào/ra đố đối vớ với RAM n mạch nhớ Các mạ nhớ thườ thường có có đầ đầu và vào/ra là trạng thá là 3 trạ thái. n Số đườ đường dây dữ dữ liệ liệu quyế quyết đị định độ độ dài từ từ nhớ nhớ của mỗi ô nhớ nhớ. 2
  17. c. Nhó Nhóm tí hiệu chọ tín hiệ chọn vi mạ mạch n Chọn vi mạ Chọ mạch sẽ sẽ trao đổ đổi dữ dữ liệ liệu. n Các tí hiệu nà tín hiệ thường đượ này thườ được nố nối vớ với đầ đầu ra củ của bộ bộ giải mã đị giả địa chỉ chỉ. mạch không đượ n Vi mạ được chọ chọn thì dữ liệ thì bus dữ liệu củ của nó nó bị (ở trạ treo (ở trạng thá trở khá thái trở kháng cao). d. Nhó Nhóm tí hiệu điề tín hiệ điều khiể khiển n Cho phé phép dữdữ liệ liệu ra bus. dữ liệ n Bus dữ liệu bị bị treo nế nếu không có hiệu điề có tín hiệ điều khiể khiển. n Mạch thườ thường chỉchỉ có một tí hiệu điề tín hiệ điều khiể khiển đọ đọc/ghi. 3.1.2 ROM n Bộ nhớ nhớ có nội dung đã ghi sẵ sẵn chỉ chỉ để để đọ đọc ra Chỉ nạp và n Chỉ một lầ vào mộ lần duy nhấ nhất bị mất thông tin khi mấ n Không bị mất điệ điện 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ì có thể trình đượ được a. PROM (Programmable ROM) n Thời gian truy cậ Thờ cập nhanh 120- 120-250ns n Chỉ nạp mộ Chỉ một lầ lần duy nhấ nhất bằ bằng cá các đố đốt chá cháy cá cầu chì các cầ chì n Điệ Điện áp khi lậ lập trì khoảng 10- trình khoả 10-13V VCC A0 Address Address A1 Bus decoder A2 D2 D1 D0 b. EPROM (erasable PROM) n Thời gian truy cậ Thờ cập khoả khoảng 120 – 450 ns n Điệ Điện áp lậ lập trì khoảng 10- trình khoả 10-25V thể đượ n Nó có thể được xoáxoá toà bộ bằng tia cự toàn bộ cực tí tím. Thời gian lậ n Thờ lập trì một ô nhớ trình cho mộ nhớ lâu (khoả (khoảng 50ms) 4
  19. c. EEPROM (electrically EPROM) n Xoá từng đơn vị Xoá vị nhớ nhớ bằng điệ điện, không cầ cần tia cự cực tí tím. n Thời gian lậ Thờ lập trì một ô nhớ trình cho mộ nhớ khoả 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ếp) 3.1.4 RAM (tiế 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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