Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 102 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
102
Dung lượng
3,25 MB
Nội dung
SỞ KHOA HỌC VÀ CÔNG NGHỆ THÀNH ĐOÀN TP. HỒ CHÍ MINH TP. HỒ CHÍ MINH CHƯƠNG TRÌNH VƯỜN ƯƠM SÁNG TẠO KHOA HỌC VÀ CÔNG NGHỆ TRẺ X * W Chủ nhiệm đề tài: NGUYỄN CHÍ NHÂN Cơ quan chủ trì: TRUNG TÂM PHÁT TRIỂN KHOA HỌC VÀ CÔNG NGHỆ TRẺ TP. Hồ Chí Minh, tháng 04 năm 2010 TÀI LIỆU HƯỚNG DẪN THỰC HÀNH TRÊN KIT AVR (M-DE1) v M M Ụ Ụ C C L L Ụ Ụ C C Trang Mục lục Lời giới thiệu 1 Bài 1 : KIT AVR VÀ TRÌNH BIÊN DỊCH CODEVISIONAVR 2 Bài 2 : ĐIỀU KHIỂN VÀO RA (I/O) VỚI LED ĐƠN 17 Bài 3 : ĐIỀU KHIỂN LED 7 ĐOẠN 24 Bài 4 : ĐIỀU KHIỂN LED MA TRẬN 5x7 27 Bài 5 : HIỂN THỊ LCD 16x2 32 Bài 6 : HOẠT ĐỘNG NGẮT VÀ ĐỊNH THỜI CỦA AVR 38 Bài 7 : HOẠT ĐỘNG NỐI TIẾP CỦA AVR & TRUYỀN THÔNG VỚI MÁY TÍNH 47 Bài 8 : GIAO TIẾP VỚI BÀN PHÍM (KEY PAD) 56 Bài 9 : ĐIỀU KHIỂN ĐỘNG CƠ DC MOTOR VÀ STEP MOTOR 60 Bài 10 : GIAO TIẾP I2C 66 1 Lời giới thiệu Trên cơ sở KIT AVR (KIT M-DE1) đã thiết kế chúng tôi tiến hành xây dựng tài liệu hướng dẫn thực hành trên bộ KIT này, nhằm phục cho việc học tập, nghiên cứu, thiết kế ứng dụng vi xử lý nói chung, và các họ vi điều khiển nói riêng đạt hiệu quả cao. Tài liệu hướng dẫn thực hành bao gồm các bài thí nghiệm được thiết kế từ cơ bản đến nâng cao, giúp cho người sử dụng tiếp c ận nhanh với vi điều khiển và cách lập trình điều khiển thiết bị. Bố cục của bài thí nghiệm bao gồm các phần: - Mục đích của bài thí nghiệm - Yêu cầu của bài thí nghiệm - Cơ sở lý thuyết liên quan đến nội dung của bài thí nghiệm - Hướng dẫn thực hành Thông qua các bài thí nghiệm này người sử dụng có thể phát triển các ứng dụng cụ th ể. Cụ thể các bài thí nghiệm như sau: Bài 1 : KIT AVR VÀ TRÌNH BIÊN DỊCH CODEVISIONAVR Bài 2: ĐIỀU KHIỂN VÀO RA (I/O) VỚI LED ĐƠN Bài 3 : ĐIỀU KHIỂN LED 7 ĐOẠN Bài 4 : ĐIỀU KHIỂN LED MA TRẬN 5x7 Bài 5 : HIỂN THỊ LCD 16x2 Bài 6: HOẠT ĐỘNG NGẮT VÀ ĐỊNH THỜI CỦA AVR Bài 7 : HOẠT ĐỘNG NỐI TIẾP CỦA AVR & TRUYỀN THÔNG VỚI MÁY TÍNH Bài 8 : GIAO TIẾP VỚI BÀN PHÍM (KEY PAD) Bài 9 : ĐIỀU KHIỂN ĐỘNG CƠ DC MOTOR VÀ STEP MOTOR Bài 10 : GIAO TIẾP I2C VỚI DS1307 2 Bài 1: KIT AVR VÀ TRÌNH BIÊN DỊCH CODEVISIONAVR I. Mục đích Đưa ra cái nhìn tổng quát các thành phần và cấu trúc của KIT thực tập là KIT chính mà sinh viên sẽ thực tập trong suốt quá trình học môn này. Sử dụng phần mềm CodeVisionAVR để soạn thảo, tổ chức một project cho bất kỳ chip họ AVR nào. II. Yêu cầu 1.Nắm rõ cấu trúc của vi điều khiển Atmega32 2.Hiểu được các module trên schematic của KIT VAR. 3.Các bước để soạn thảo một project (source code) cho chip AVR. III. Cơ sở lý thuyết III.1. Vi điều khiển Atmega32 Một số đặc điểm của Atmega32 • Kiến trúc RISC mở rộng - Tập lệnh với 131 lệnh, hầu hết mỗi lệnh đều được thực thi trong một chu kỳ xung clock. - Một tập thanh ghi với 32 thanh ghi 8 bit, tất cả các chip thuộc họ AVR đều có tập thanh ghi này. - Tần số tối đa có thể lên tới 16Mhz. • Bộ nhớ chương trình và bộ nhớ dữ liệu - 32 Kbyte bộ nhớ lập trình được(flash), có thể nạp lại 10.000 lần. - 1024 Byte EEPROM, có thể nạp lai 100.000 lần. - 2 Kbyte SRAM nội • Giao tiếp chuẩn JTAG(IEEE) - Hỗ trợ chế độ Debug mở rộng trên chip - Lập trình cho Flash, EEPROM, set Fuse bit và lock bit thông qua chuẩn giao tiếp JTAG • Đặc điểm thi ết bị ngoại vi - 2 bộ Timer/Counter 8 bit hoat động riêng biệt - 1 bộ Timer/Counter 16 bit với Compare mode và Capture mode - Bộ đếm thời gian thực với bộ tạo dao động riêng biệt - 4 kênh PWM (Pulse Width Modulator) - 8 kênh 10 bit ADC - Giao tiếp chuẩn nối tiếp 2 dây - Lập trình truyền thông nối tiếp USART - Bộ WatchDog Timer khả trình với bộ tạo dao động riêng biệt trên chip • Những điểm đặc biệt của vi điều khiển - Bao gồm cả ngắt nội lẫn ngắt ngoại - 6 chế độ Sleep: Idle, ADC noise reduction, Power-save, Power-down, Standby, Extended Standby • I/O và hình thức đóng gói - 32 đường I/O lập trình được - 40 pin –PDIP, 44 lead-TQFP, 44 pad MLF • Điện thế hoạt động - 2.7 – 5.5V cho ATmega32L - 4.5- 5.5V cho ATmega32 3 Hình 1: Sơ đồ chân của ATMega32 Hình 2: Sơ khối bên trong của ATMega32 Lưu ý : Chi tiết về cấu trúc của vi điều khiển Atmega32 xem datasheet. III.2. Giới thiệu KIT AVR KIT AVR được thiết kế với mục tiêu phục vụ cho việc giảng dạy và nghiên cứu về vi điều khiển và phát triển các ứng dụng nhúng trên vi điều khiển. KIT AVR bao gồm các môđun sau: III.2.1.Môđun xử lý trung tâm được thiết kế gồm: 4 - Vi điều khiển Atmega32 - Bộ tạo dao động ngoài (thạch anh 16MHz) - Các công tắc nhấn được nối với chân của vi điều khiển như sau: Bảng 1: Bảng sơ đồ chân của Atmega32 kết nối Switch Số TT Chân của Atmega32 Ký hiệu thiết bị 1 RESET SW1 2 INT0 SW3 3 INT1 SW2 PC5(TDI) PD6 PA0 PC6 PB6 PA3 PC1 TxD 16 14 19 10 30 32 21 9 20 13 17 25 12 11 31 1 2 3 4 5 6 7 8 33 40 39 38 37 36 35 34 15 18 26 27 28 29 22 23 24 (INT0)PD2 (RXD)PD0 (OC1A)PD5 VCC AVCC AREF (OC2)PD7 RESET (ICP)PD6 XT1 (INT1)PD3 (TMS)PC3 XT2 GND GND (XCK/T0)PB0 (T1)PB1 (INT2/AIN0)PB2 (OC0/AIN1)PB3 (SS)PB4 (MOSI)PB5 (MISO)PB6 (SCK)PB7 (ADC7)PA7 (ADC0)PA0 (ADC1)PA1 (ADC2)PA2 (ADC3)PA3 (ADC4)PA4 (ADC5)PA5 (ADC6)PA6 (TXD)PD1 (OC1B)PD4 (TDO)PC4 (TDI)PC5 (TOSC1)PC6 (TOSC2)PC7 (SCL)PC0 (SDA)PC1 (TCK)PC2 VCC PA4 PA5 PD7 PD4 PC0 PB3 PB0 PA7 PC4(TDO) VCC RST PB5 PD3 PA1 PA2 PB2 PA6 PC7 R24 10k 104 PB1 PD5 PB7 PC2(TCK) 20P2 RxD PC3(TMS) R22 10k PB4 PD2 20P1 Hình 3: Module bộ xử lý trung tâm III.2.2. Các môđun giao tiếp vào/ra (I/O) III.2.2.1. Các port của vi điều khiển Atmega32 Bảng 2:Bảng ký hiệu các PORT của Atmega32 Số TT Port của Atmega32 Ký hiệu thiết bị 1 PORTA (PA) J13 2 PORTB (PB) J10 3 PORTC (PC) J11 4 PORTD (PD) J12 5 PC7 PC0 PC6 PC5(TDI) PC4(TDO) PC3(TMS) PC1 J11 PORTC 1 2 3 4 5 6 7 8 PC2(TCK) PD5 PD2 PD3 RxD PD7 PD4 PD6 J12 PORTD 1 2 3 4 5 6 7 8 TxD J10 PORTB 1 2 3 4 5 6 7 8 PB2 PB0 PB7 PB3 PB1 PB5 PB4 PB6 PA6 PA7 PA0 PA1 PA3 PA2 PA5 J13 PORTA 1 2 3 4 5 6 7 8 PA4 Hình 4: Các port của vi điều khiển Atmega32 III.2.2.2. Màn hình hiển thị-LCD 16x2 Bảng 3:Bảng kỳ hiệu PORT của LCD Số TT Port của LCD 16x2 Ký hiệu thiết bị 1 LCD 16x2 J2 2 LCD PORT J20 LCD2 LCD4 LCD1 J20 LCD 1 2 3 4 5 6 7 8 LCD0 LCD6 LCD2 LCD0 LCD7 VCC LCD1 LCD5 R99 330 12 LCD6 LCD5 J2 LCD16x2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 LCD4 LCD7 Hình 5:Môđun màn hình hiển thị-LCD 16x2 III.2.2.3. Led đơn: có 8 led đơn Bảng 4: Bảng ký hiệu LED đơn Số TT LED đơn Ký hiệu thiết bị 1 LED0 D4 2 LED1 D5 3 LED2 D6 4 LED3 D7 5 LED4 D8 6 LED5 D9 7 LED6 D10 8 LED7 D11 6 R4 PA6 PB0 D5 LED R3 R11 PA4 PA0 D4 LED PA1 D9 LED PA2 R5 D6 LED D8 LED R6 D10 LED PA3 VCC U11 74LS373 3 4 7 8 13 14 17 18 1 11 2 5 6 9 12 15 16 19 2010 D0 D1 D2 D3 D4 D5 D6 D7 OE LE Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 VCCGND D11 LED PA7 PA5 D7 LED R9 R10R7 Hình 6:Môđun LED đơn III.2.2.4. Led 7 đoạn (7-SEGMENT LED) Bảng 5: Bảng ký hiệu LED 7 đoạn Số TT LED 7 đoạn Ký hiệu thiết bị 1 LED7SEG0 J21 2 LED7SEG1 J22 3 LED7SEG2 J23 4 LED7SEG3 J24 R59 300 G U13 74LS373 3 4 7 8 13 14 17 18 1 11 2 5 6 9 12 15 16 19 2010 D0 D1 D2 D3 D4 D5 D6 D7 OE LE Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 VCCGND C R63 300 R61 300 A R66 300 PB1 R60 300 PA4 Q6 PNP Q8 PNP C J22 LED 1 2 3 4 5 6 7 8 9 10 D F J23 LED 1 2 3 4 5 6 7 8 9 10 E D A Q9 PNP DP C R64 300 A DP B F G PA0 Q7 PNP PB6 DP G R62 300 C PA6 R43 1K J21 LED 1 2 3 4 5 6 7 8 9 10 PB5 PA7 PA3 PA2 VCC E F D E PB4 PA5 R42 1K R41 1K R44 1K DP BB PB7 PA1 A J24 LED 1 2 3 4 5 6 7 8 9 10 D G F B R65 300 E VCC Hình 7:Môđun Led 7 đoạn III.2.2.5. Switch DIP-8: được kết nối như hình sau, có ký hiệu là SW10 7 PC6 R51 4.7K PC4(TDO) U16 74LS373 3 4 7 8 13 14 17 18 1 11 2 5 6 9 12 15 16 19 2010 D0 D1 D2 D3 D4 D5 D6 D7 OE LE Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 VCCGND VCC PC5(TDI) PC2(TCK) R40 4.7K R50 4.7K PC3(TMS) R53 4.7K R58 4.7K VCC PC0 R39 4.7K R52 4.7K PB2 R49 4.7K PC7 SW10 SW DIP-8 PC1 Hình 8:Môđun Switch DIP-8 III.2.2.6. Ma trận LED 5x7: được kết nối như hình sau, có ký hiệu là U6 PA4PC4(TDO) R19 R18 PC0 R13 R17 PA1 PA5 PA6 R14 PA2 PC3(TMS) R15 PC2(TCK) PA0 PC1 R16 U6 MATRIX 5x7 (2 COLORs) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 PA3 Hình 9:Môđun Ma trận LED 5x7 III.2.3. Môđun giao tiếp theo chuẩn UART Môđun này được thiết kế để truyền thông giữa máy tính với vi điều khiển thông qua chuẩn UART. Môđun này được kết nối như hình sau, có ký hiệu là DB9 C1 104 TxD C4 104 13 14 15 7 6 2 8 16 12 11 1 10 3 4 9 5 R1I T1O GND T2O Vs- Vs+ R2I VCC R1O T1I C1+ T2I C1- C2+ R2O C2- C3 104 DB9 5 9 2 7 3 6 4 1 8 C2 104 RxD VCC Hình 10:Môđun UART/ISP III.2.4. Môđun điều khiển động cơ DC và động cơ bước (STEP MOTOR) Dưới đây là sơ đồ mạch được thiết kế để ghép nối động cơ DC và động cơ bước với Vi điều khiển. 8 VCC DK1A C11 104 C9 104 15 VCC 1 DK2A DK2B GND DK1B OUT1A U6 LM7805 1 2 3 VI GND VO +12V GND VCC C12 100u OUT1A J1 L298 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 VCCVCC OUT2B VCC OUT1B OUT2A C10 100u Hình 11:Môđun động cơ DC J8 1 2 3 4 +12V J9 1 2 3 4 J11 1 2 3 J7 1 2 3 4 U1 ULN2803 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2 3 4 5 6 7 8 GND 10 11 12 13 14 15 16 17 18 J10 1 2 3 4 Hình 12:Môđun động cơ bước III.2.5. Môđun giao tiếp theo chuẩn I 2 C Môđun này được thiết kế để giao tiếp giữa vi điều khiển với các chip ngoại vi như: EEPROM, Real Time Clock(RTC), thông qua chuẩn giao tiếp I 2 C. [...]... CodeVisionAVR Đây là chương trình hỗ trợ lập trình cho vi điều khiển AVR bằng ngôn ngữ C, nó hỗ trợ nhiều thư viện lập trình, thuận lợi cho việc phát triển các ứng dụng lớn trên AVR Khởi động chương trình CodeVisionAVR bằng cách click chuột vào ICON của CodeVision trên Desktop hoặc vào đường dẫn sau: 10 Hình 18: Khởi động chương trình CodeVisionAVR Xuất hiện cửa sổ chính của chương trình CodeVisionAVR như... chip AVR hoạt động như các port vào/ra dữ liệu -Điều khiển các LED đơn trên KIT theo ý muốn thông qua các port vào/ra của AVR II Yêu cầu 1 Cấu hình khởi tạo cho vi điều khiển ATMega32 hoạt động với thạch anh 16Mhz 2 Cấu hình PORT A và PORT B là xuất dữ liệu ra, PORT C là nhập dữ liệu 3 Sáng tất cả các LED đơn 4 Sáng 4 LED đơn D4-D7 5 Cho các LED đơn sáng từ phải sang trái 6 Đọc dữ liệu 8 bit trên SW10... LED 7 đoạn -Điều khiển các LED 7 đoạn trên KIT theo ý muốn thông qua các port vào/ra của AVR II Yêu cầu 1.Đưa số bất kỳ ra LED 7 đoạn 2.Phản ánh trạng thái của SW10 lên LED 7 đoạn (J21) 3.Hiển thị một số có kiểu là integer được đếm tăng dần ra 4 LED 7 đoạn 4.Hiển thị trên led 7 đoạn (J21) các số thập phân từ 0 – 9 được điều chỉnh từ các Switch SW10 5 Hiển thị trên led 7 đoạn (J22) các số thập lục phân... thị trên LED ma trận -Điều khiển các LED ma trận trên KIT theo ý muốn thông qua các port vào/ra của AVR II Yêu cầu 1 Tạo bảng giãi mã các số thập phân từ 0-9, các chữ cái A-Z 2 Hiển thị lần lượt các số từ 0-9, mỗi lần hiển thị cách nhau đúng 3 giây 3 Hiển thị lần lượt các số từ A-Z, mỗi lần hiển thị cách nhau đúng 3 giây 4 Hiển thị lần lượt các ký tự V-I-D-I-E-U-K-H-I-E-N 5 Di chuyển chuỗi “AB” trên. .. phải là biến kiểu 1byte Trên một port bất kỳ, đã được cấu hình là xuất 8 bit dữ liệu ra ngoài, như vậy có thể trong một lệnh xuất dữ liệu ra ngoài ta có thể xuất 1 bit dữ liệu mà thôi còn 7 bit dữ liệu còn lại không bị ảnh hưởng Ngoài ra, chúng ta có thể sử dụng CodeWizardAVR để thiết lập cấu hình cho các PORT Hình 27: Thiết lập cấu hình cho các PORT bằng CodeWizardAVR Ví dụ như trên hình:các bit 0,1,2,4,7... trình CodeVisionAVR như sau: Hình 19: Cửa sổ chính của chương trình CodeVisionAVR Tạo Project mới chọn File -> New sẽ xuất hiện cửa sổ Create New File Sau đó chọn Project -> nhấn OK Chương trình sẽ yêu cầu xác nhận việc tạo project mới sử dụng CodeWizardAVR 11 Kích vào Yes để xác nhận Tiếp theo sẽ xuất hiện cửa sổ CodeWizardAVR (Hình P3_2.20), cho phép chúng ta khởi tạo cấu hình cho chip vi điều khiển... là một việc quan trọng vì tùy theo mục đích sử dụng các cổng nào làm cổng vào ra, thì ta phải thiết lập đúng lúc đó mới có thể sử dụng được III.2 Cấu hình phần cứng của các PORT, LED đơn và Switch trên KIT AVR a Các port của vi điều khiển Atmega32 Bảng 5:Bảng ký hiệu các PORT của Atmega32 Số TT 1 2 3 4 Port của Atmega32 PORTA (PA) PORTB (PB) PORTC (PC) PORTD (PD) Ký hiệu thiết bị J13 J10 J11 J12 J11... 6 Đọc dữ liệu 8 bit trên SW10 và xuất ra 8 LED đơn (D4-D11) III Cơ sở lý thuyết Tất cả các port của AVR đều có chức năng Read-Modify-Write (Đọc-Ghi và Chỉnh sửa), được sử dụng như các port vào/ra Trong AVR có sẵn mức điện áp ra ở các chân đủ để điều khiển LED trực tiếp Thêm vào đó ở mỗi chân của chip AVR đều có diot phân cực nghịch và tụ điện lọc thành phần AC Chức năng cơ bản của các PORT là các cổng... III.1 Các thanh ghi dùng cho điều khiển các Port vào ra Khi xem xét đến các cổng I/O của AVR thì ta phải xét tới 3 thanh ghi sau: Port x DDRx Vi điều khiển AVR PORTx PINx Hình 26: Các thanh ghi điều khiển các port vào/ra Trong đó x cho biết tên port trong vi điều khiển là A, B, C, D, Các thanh ghi bất kỳ của AVR bây giờ được xem như một biến kiểu 1 byte và ta có thể truy xuất như một biến bình thường... Các tín hiệu điều khiển hàng PA0 - PA6 ( Port A ) nối vào Anode của tất cả các LED trên cùng một hàng Các tín hiệu điều khiển cột PC0 -PC4 (Port B) nối vào Cathode của tất cả các LED trên cùng một cột Khi có 1 cặp tín hiệu điều khiển hàng và cột ví dụ như khi PA0 = 1 và PC0 = 1, các Anode của hàng LED thứ nhất RW1 (hàng trên cùng) được cấp điện thế cao Đồng thời các Cathode của cột LED thứ nhất CL1 (bìa . I2C 66 1 Lời giới thiệu Trên cơ sở KIT AVR (KIT M-DE1) đã thiết kế chúng tôi tiến hành xây dựng tài liệu hướng dẫn thực hành trên bộ KIT này, nhằm phục cho việc học tập, nghiên cứu,. nhiệm đề tài: NGUYỄN CHÍ NHÂN Cơ quan chủ trì: TRUNG TÂM PHÁT TRIỂN KHOA HỌC VÀ CÔNG NGHỆ TRẺ TP. Hồ Chí Minh, tháng 04 năm 2010 TÀI LIỆU HƯỚNG DẪN THỰC HÀNH TRÊN KIT AVR (M-DE1). III.2. Giới thiệu KIT AVR KIT AVR được thiết kế với mục tiêu phục vụ cho việc giảng dạy và nghiên cứu về vi điều khiển và phát triển các ứng dụng nhúng trên vi điều khiển. KIT AVR bao gồm các