ứng dụng vi điều khiển

56 209 0
ứng dụng vi điều khiển

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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. 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ếtkếmạch điềukhiểnánhsángtheochươngtrình địnhtrước 2. Thiếtkếmạchtrangtríbằng đènLED 3. Thiếtkếmạchnhậndạng điểmphụcvụ(thêm ít nhất 2IC) 4. Thiếtkếmạch đolượngmưa 5. Thiếtkếmạch điềukhiểnnhiệ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. 1 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.10 3 + 2.10 2 + 3.10 1 + 4.10 0 + 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.2 3 + 0.2 2 + 1.2 1 + 1.2 0 + 0.2 -1 + 1.2 -2 n Nibble gồm 4 bit n Byte gồm 8 bit n Word gồm 16 bit 03 7 0 15 0 MSB LSB 2 1.1.1 Chuyển đổi giữa hệ mười vàhệhai n Đổi hệ hai sang hệ mười 1011,01 2 = 1.2 3 + 0.2 2 + 1.2 1 + 1.2 0 + 0.2 -1 + 1.2 -2 = 11,25 10 n Đổi hệ mười sang hệ hai 46 10 = 101110 2 Hình 1. Một cách đổi hệ mười sang hệ hai 0 1 46 2 23 2 11 2 5 2 2 2 1 2 0 1 1 0 1 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,125 10 = 0,001 2 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. 1234 10 = 0001 0002 0003 0004 BCD n Hệ mười sáu 1234 10 = 0100 1101 0010 2 = 4D2 16 0,125 x 2 = 0,250 x 2 = 0,500 x 2 = ,250 ,500 ,000 0 0 1 3 1.2 Các phép toán số học đối với hệ hai 1.2.1 Phép cộng a n a (n-1) a 2 a 1 a 0 + b m b (m-1) b 2 b 1 b 0 = c k c (k-1) c 2 c 1 c 0 (hệ cơ số x) c i = (a i + b i + (a i-1 + b i-1 )%x )/x Vídụcộng hệ hai 1.2.2 Phép trừ vàsốbùhai a. Phép trừ a n a (n-1) a 2 a 1 a 0 -b m b (m-1) b 2 b 1 b 0 = c k c (k-1) c 2 c 1 c 0 (hệ cơ số x) c i = (a i –B i-1 ) –b i (nếu (a i –B i-1 ) >= b i vàB i = 0) c i = (a i –B i-1 + x) –b i (nếu (a i –B i-1 ) < b i vàB i = 1) Vídụtrừ hệ hai 1101 1001 0001 1011 1111 0100 + 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 Bảng 1. Quy tắc phép nhân a.bba 1 0 0 0 11 01 10 00 1011 0000 11 0 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 1 1 1 1 4 1.2.2 Phép chia b. Chia trực tiếp Vídụ: 35/5 = 7 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. 0 101 1 0 1 1 1 101 111 1 0 0 0 0 0 1 0 0 1 11 0 101 1 01 00 1 Chương2: Hệ thốngvi xử lý n Ưu vànhược điểmhệnhúng n Vi xử lý, vi điềukhiển n Cáchọvi điềukhiển n Ngắtvàxửlýngắt 2.1 Tạisaolạisửdụnghệnhúng? 2.1.1 Ưu điểm n Khả năngthíchnghicao n Tínhlinh động n Khả năngthay đổidễdàng n Khả năngtáisửdụngtàinguyên(thư viện,…) n Giáthànhrẻ n . . . 2.1.2 Nhược điểm n Tốc độ phản ứngchậm n Độổnđịnhthấp n Không xử lý đượcgíatrị liêntục n . . . 2 2.2 Vi điềukhiển, vi xử lý CPU General- Purpose Micro- processor RAM ROM I/O PORT Timer, Wdg, ADC, DAC, … USB, UARST, I 2 C,… Data bus 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. 3 2.3 Kiếntrúcvi điềukhiển n Đơn vị sử lýsốhọc(ALU) n Bộ nhớ n Input n Output n Đơn vịđiềukhiển 2.3.1 Đơnvịxửlýsốhọc(ALU) n Thựchiệnphéptoánvàphéplogic trêndữliệu n Dữ liệucóthể lấytrênbộnhớ hoặcI/O n Kếtquả cóthểđược đưarangoàihoặcvàobộnhớ (kếtquảđượclưulại) General Purpose Registrers ALU 4 2.3.2 Bộ nhớ n Lưu trữ lệnhhay dữ liệu n Cóthểđể lưutrữ dữ liệutạmthời n Cóthể ghi/đọc đượcbởibộđiềukhiển Program Flash (4K x 16) Program Memory $000 $FFF 32 Gen. Purpose Working Resisters 64 I/O Resisters Internal SRAM (512 x 8) $025F $005F $0060 $001F $0020 $0000 Data Memory EEPROM (512 x 8) Data Memory $000 $1FF 2.3.3 Input n Thiếtbịchophépthôngtin vàdữliệuvàobêntrong bộ vi điềukhiển n Vídụ: ADC, I 2 C, UART, … 2.3.4 Output n Thiếtbịchuyển đổithôngtin vàdữliệutừbộnhớ ra thiếtbịngoạivi. n Thiếtbịngoạivi: LED, LCD, máyin, … [...]...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 n Vi điều khiển AVR n n PIC 8 bít, PIC 16 bít,… Vi điều khiển MCUs của Philips n n AVR 8 bít, AVR 16 bít,… Vi điều khiển PIC n n 8051,... ghi điều khiển Cho phép điều khiển toàn bộ vi điều khiển n Chức năng này gồm: n Truy cập bộ nhớ SRAM n Chế độ ngủ n Chế độ ngắt ngoài n 6 f Một số thanh ghi khác Thanh ghi trạng thái bộ xử lý n Các thanh ghi điều khiển timer/counter0 n Các thanh ghi điều khiển timer/counter1 n Thanh ghi điều khiển Watchdog n Các thanh ghi điều khiển vào ra EEPROM n Các thanh ghi điều khiển SPI n Các thanh ghi điều khiển. .. nhớ 2 c Nhóm tín hiệu chọn vi mạch Nhó tí hiệ chọ mạ 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ó treo (ở trạng thái trở kháng cao) (ở trạ thá trở khá n d Nhóm tín hiệu điều khiển Nhó tí hiệ điề khiể... R/W RAM-0 16 x 4 CS I/03 I/02 I/01 A3 A1 A0 RAM-1 16 x 4 CS I/00 A2 I/03 I/02 I/01 I/00 Data bus (DB0 – DB3) Hình 3 Kết hợp hai bộ nhớ 16 x 4 thành 32 x 4 12 Chương 4: Họ vi điều khiển AVR n n n Giới thiệu chung Các chức năng điều khiển Tập lệnh và ngôn ngữ lập trình 4.1 Giới thiệu chung n AVR - Kiến trúc RISC Khoảng hơn 100 lệnh, hầu hết thực hiện một chu kỳ máy n 32 thanh ghi đa năng 8 bit n Có thể... 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... trở kháng cao) (ở trạ thá trở khá n d Nhóm tín hiệu điều khiển Nhó tí hiệ điề khiể Cho phép dữ liệu ra bus phé dữ liệ 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ể đọ n 3.1.2 ROM 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ấ... khiển 8051 n n Vi điều khiển AVR n n PIC 8 bít, PIC 16 bít,… Vi điều khiển MCUs của Philips n n AVR 8 bít, AVR 16 bít,… Vi điều khiển PIC n n 8051, 89Cxx, 89Sxx, 89Dxx,… P8xCxx,… … 5 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... Flag 8 4.2 Các chức năng điều khiển n Timer/Counter n WatchDog Timer n Các cổng vào ra n ADC n UART n EEPROM 4.2.1 Timer/Counter Có 3 bộ đếm/định thời gian n T/C0 : 8 bit n Nguồn đồng hồ từ mạch chia thời gian hoặc từ chân T0 (theo sườn lên/xuống) n Ngắt tràn n n T/C1: 16 bit n Nguồn đồng hồ từ mạch chia thời gian hoặc từ chân T1 (theo sườn lên/xuống) n Có ngắt tràn, ngắt thích ứng so sánh và ngắt cho... tạo bên trong của 64 x 4 RAM 3.1.4 RAM (tiếp) tiế n SRAM (static RAM) n n Dễ dàng bảo trì n n Chế tạo đơn giản Thường được sử dụng trong hệ thống có bộ nhớ nhỏ 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 3.2 Giải mã địa chỉ cho bộ nhớ Giả đị chỉ bộ nhớ n Phân định không gian tổng thể thành các... chọ n Khi thiết kế thường có dự phòng (spare) để có thể mở rộng thiế kế thườ có thể mà không phải thiết kế lại mạch phả thiế kế mạ Tín hiệu địa chỉ Mạch giải mã địa chỉ Các tín hiệu chon chip Tín hiệu điều khiển Hình 3 Mạch giải mã địa chỉ 3.2.1 Giải mã bằng các mạch NAND Giả bằ cá mạ n Mạch giải mã địa chỉ đơn giản với đầu ra hạn chế giả đị chỉ giả vớ đầ hạ chế A0 – A10 Memory CE D0 - D7 OE A11 – A19 . 89Cxx, 89Sxx, 89Dxx,… n Vi điềukhiểnAVR n AVR 8 bít, AVR 16 bít,… n Vi điềukhiểnPIC n PIC 8 bít, PIC 16 bít,… n Vi điềukhiểnMCUscủaPhilips n P8xCxx,… n … 6 2.3.6 Cách vi điềukhiển(tiếp–so sánh) n. Cungcấpxungnhịpvà điềukhiểntínhiệu n Tìmnạplệnhvàdữliệu n Chuyểndữliệutới/từ I/O n Giảimãlệnh n Thựchiệnphéptínhsốhọc/logic n Đáp ứngtínhiệungoài(Reset/Ngắt) 2.3.6 Mộtsốh vi điềukhiển n Vi điềukhiển8051 n. 0. 0 101 1 0 1 1 1 101 111 1 0 0 0 0 0 1 0 0 1 11 0 101 1 01 00 1 Chương2: Hệ thốngvi xử lý n Ưu vànhược điểmhệnhúng n Vi xử lý, vi điềukhiển n Cách vi điềukhiển n Ngắtvàxửlýngắt 2.1 Tạisaolạisửdụnghệnhúng? 2.1.1 Ưu điểm n Khả năngthíchnghicao n

Ngày đăng: 10/02/2015, 14:36

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan