Bộ thực hành lập trình vi điều khiển AVR
Bộ thực hành lập trình vi điều khiển AVR LỜI MỞ ĐẦU A Giới thiệu công ty Công ty thiết bị Điện – Tự động hóa (TDP - Electric) công ty trực thuộc tập đoàn Tiến Đại Phát, với đội ngũ nhân viên chuyên viên kỹ thuật có trình độ, sáng tạo, giàu kinh nghiệm mạng lưới nhà cung cấp tiếng toàn Thế giới lĩnh vực TDP – Electric cam kết mang đến cho khách hàng sản phẩm dịch vụ tốt nhất, đáp ứng đầy đủ nhu cầu khách hàng Đặc biệt, TDP – E chuyên tư vấn, sản xuất thiết bị Giáo dục cho trường Đại học, Cao đẳng, Trung cấp nghề Sản phẩm sử dụng trường học nói chung, các/ trường dạy nghề, viện nghiên cứu chuyên môn giáo dục đào tạo đại học Một phương thức sản xuất đại có phạm vi lớn với kết hợp hệ thống quản lý chất lượng cao theo tiêu chuẩn ISO 9001 : 2008 đảm bảo chất lượng phù hợp kéo dài tuổi thọ sản phẩm TDP – E đảm bảo tư vấn giải pháp Công nghệ cho đối tác, tư vấn xây dựng phòng thí nghiệm cách hợp lý lĩnh vực: Điện Công Nghiệp, Kỹ thuật lắp đặt Điều khiển công nghiệp, Đo lường Điện, Vận hành máy điện, Kỹ thuật máy lạnh điều hòa không khí B Giới thiệu module thực hành Kỹ thuật vi điều khiển với tốc độ phát triển nhanh mang đến thay đổi to lớn khoa học công nghệ đời sống hàng ngày Ngày nay, thiết bị máy móc ngày trở nên thông minh hơn, công việc thực với hiệu cao hơn, nhờ phần vi điều khiển Kỹ thuật vi điều khiển kỹ thuật tương lai, chìa khóa vào công nghệ đại Đối với sinh viên chuyên ngành điện tử, lĩnh vực hứa hẹn mở nhiều triển vọng Để góp phần tạo tảng ban đầu cho việc học tập, tìm hiểu kỹ thuật vi điều khiển, xin cung cấp mô hình để học tập thực hành vi điều khiển Trong trình thực hiện, tránh khỏi thiếu sót Rất mong nhận góp ý, phê bình bạn đọc Chúng xin trân thành cảm ơn! Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page Bộ thực hành lập trình vi điều khiển AVR MỤC LỤC LỜI MỞ ĐẦU A Giới thiệu công ty .1 B.Giới thiệu module thực hành .1 MỤC LỤC I TỔNG QUAN VỀ MÔ HÌNH THÍ NGHIỆM 1.1 Mục tiêu thực mô hình 1.2 Mô hình thực thực hành sau: .3 1.4 Chức khối mô hình thí nghiệm 1.5 Lưu ý quy trình thực thực hành II HƯỚNG DẪN SỬ DỤNG PHẦN MỀM 2.1 Phần mềm KeilC Bạn viết code vào hai dấu ngoặc { } .8 2.2 Phần mềm nạp Khazama III CÁC BÀI TẬP THỰC HÀNH VỚI MODUL ỨNG DỤNG 3.1 Thực hành hiển thị led đơn .9 3.2 Thực hành hiển thị led đoạn 12 3.3 Thực hành hiển thị LCD 16x2 14 3.4 Thực hành hiển thị led matrix 15 3.5 Thực hành nhận biết phím đơn .17 3.6 Thực hành nhận biết phím ma trận 4x4 18 3.7 Thực hành xử lý ngắt INT 20 3.8 Thực hành với Timer/Counter 22 3.9 Thực hành giao tiếp ADC 24 3.10 Thực hành giao tiếp DAC 26 3.11 Thực hành điều khiển động chiều 28 3.12 Thực hành điều khiển động bước 30 3.13 Thực hành giao tiếp với RAM 32 3.14 Thực hành giao tiếp với ROM 34 3.15 Thực hành giao tiếp IC thời gian thực DS1307 36 3.16 Thực hành hiển thị GLCD 128x64 .38 3.17 Thực hành giao tiếp với máy tính qua cổng COM/RS232 40 TÀI LIỆU THAM KHẢO 42 Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page Bộ thực hành lập trình vi điều khiển AVR I TỔNG QUAN VỀ MÔ HÌNH THÍ NGHIỆM 1.1 Mục tiêu thực mô hình Học xong học học viên có lực: - Phân tích nguyên lý khả làm việc modul - Khảo sát hoạt động modul - Lắp ráp khảo sát mạch, mô hình, dây truyền sản xuất thực tế - Kiểm tra khắc phục cố trình khảo sát 1.2 Mô hình thực thực hành sau: - Bài thực hành số 1: Thực hành hiển thị led đơn - Bài thực hành số 2: Thực hành hiển thị led đoạn - Bài thực hành số 3: Thực hành hiển thị LCD 16x2 - Bài thực hành số 4: Thực hành hiển thị led matrix - Bài thực hành số 5: Thực hành nhận biết phím đơn - Bài thực hành số 6: Thực hành nhận biết phím matrix 4x4 - Bài thực hành số 7: Thực hành xử lý ngắt INT - Bài thực hành số 8: Thực hành với Timer/Counter - Bài thực hành số 9: Thực hành giao tiếp ADC - Bài thực hành số 10: Thực hành giao tiếp DAC - Bài thực hành số 11: Thực hành điều khiển động DC - Bài thực hành số 12: Thực hành điều khiển động bước - Bài thực hành số 13: Thực hành giao tiếp với RAM - Bài thực hành số 14: Thực hành giao tiếp với ROM - Bài thực hành số 15: Thực hành giao tiếp với IC thời gian thực DS1307 - Bài thực hành số 16: Thực hành hiển thị hình GLCD 128x64 - Bài thực hành số 17: Thực hành giao tiếp máy tính qua cổng RS232 Mô hình thí nghiệm bao gồm khối sau: Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page Bộ thực hành lập trình vi điều khiển AVR Tổng quan mô hình thực hành vi điều khiển 1.4 Chức khối mô hình thí nghiệm TT Tên khối Chức khối LED SEG - Có Led bảy dùng để hiển thị số ký tự - Cọc nối “Scan” quét cột LCD 16x2 - Cọc “Data” quét liệu hàng - Có LCD dùng để hiển thị ký tự, số hiêu - Cọc nối “control LCD ” hiển thị liệu bit 4bit 10 11 12 13 14 15 LED SIGNED LED MATRIX PHÍM MATRIX RTC DS1307 RAM NGOÀI - Có 16 Led đơn dùng để hiển thị, có cổng điều khiển - Có cọc nối liệu - Có led matrix 8x8 dùng để hiển thị chữ - Có cọc nối liệu điều khiển - Bàn phím 4x4 dùng để giao tiếp bàn phím hexa - Có cọc nối liệu - Giao tiếp I2C, đọc thời gian thực - Có cọc nối điều khiển - Thực giao tiếp nhớ Ram PHÍM ĐƠN ANALOG - Có cọc nối liệu, địa điều khiển - Có phím đơn cọc nối liệu - Dùng để đọc tính toán giá trị điện áp DAC0808 - Có cọc kết nối liệu - Chuyển đổi số sang tương tự STEP MOTOR - Có cọc kết nối liệu - Khối tải động bước DC MOTOR - Có cọc nối điều khiển - Khối tải động DC ROM - Có cọc nối điều khiển - Giao tiếp với nhớ ROM theo chuẩn I2C UART - Có cọc nối để giao tiếp - Giao tiếp UART với máy tính, VĐK với Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page Bộ thực hành lập trình vi điều khiển AVR - Có cọc nối để giao tiếp 1.5 Lưu ý quy trình thực thực hành 1.5.1 Quy trình thực a Cấp nguồn Sử dụng nguồn điện 220V AC/DC qua dây nguồn, nguồn cấp đúng, đèn LED báo nguồn sáng, linh kiện không bị nóng, ngược lại bạn cấp không nguồn; cần ngắt nguồn kiểm tra lại nguồn b Cắm IC nạp IC cần cắm chiều chân đế Nguồn cấp cho cấp không tùy thuộc vào răm cấp nguồn từ mạch nạp c Lắp cable liệu - Cắm cáp usb mạch nạp vào máy tính - Nạp chương trình cho IC Vi Điều Khiển d Vận hành Mô đun cho phép bạn sử dụng VĐK để ghép nối điều khiển nhiều board mở rộng (Được thiết kế tương thích có khả ghép nối với Mô đun này) Quy trình vận hành khối : - Lắp ghép Board mở rộng vào Slot - Kiểm tra chế độ làm việc thiết lập cho Vi Điều Khiển - Lắp IC vào khay cắm (không cần sử dụng mạch nạp isp) - Cấp điện cho Mô đune: Chương trình Vi Điều Khiển tự động chạy bạn sử dụng Mạch Reset tự động board Nếu không sử dụng mạch bạn cần nhấn nút Reset để khởi động Vi Điều Khiển Trong trường hợp điện nguồn cấp từ trước (không khuyến khích cách vận hành này), bạn cần nhấn nút Reset sau lần lắp IC (có thể reset phân mềm nạp) 1.5.2 Lưu ý -Ngắt điện tháo lắp IC -Tránh chạm vào chân IC làm cong, gãy chân IC -Thiết bị phải đặt mặt phẳng, vững chắc, tránh va đập học -Nguồn cấp cho thiết bị nguồn xoay chiều fa 220V -Trước cấp nguồn, đo kiểm tra nguồn đủ điện áp 220V cấp -Cần có thói quen kiểm tra an toàn trước dùng thiết bị (thử rò điện vỏ, xem dây dẫn phích cắm có đảm bảo cách điện không…) -Nếu thấy đường dây bị trầy, phích cắm bị hỏng, bọ hở… phải sửa chữa thay -Không sử dụng thiết bị phích cắm, dây điện nguồn thiết bị có dấu hiệu hư hỏng nhìn thấy thiết bị bị rơi Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page Bộ thực hành lập trình vi điều khiển AVR -Không thay dây chảy cầu chì dây điện -Thao tác xong phải ngắt nguồn vào thiết bị Các module thực hành phải gá chiều, chặt trẽ, thực hành xong phải xếp lại ngăn lắp vào tủ đựng -Có kế hoạch vệ sinh, bảo dưỡng cho thiết bị mô hình II HƯỚNG DẪN SỬ DỤNG PHẦN MỀM Hiện nay, song song với việc sản xuất chíp Vi điều khiển, hãng lớn giới đưa thị trường phần mềm lập trình, biên dịch mô chương trình cho Vi điều khiển 2.1 Phần mềm KeilC Khởi động phần mềm MikroC PRO for Pic: Vào Start >> Programs >> Mikroelektronika >> MikroC PRO for PIC double click vào shortcut hình\Desktop - Sau khởi động phần mềm, giao diện xuất sau: Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page Bộ thực hành lập trình vi điều khiển AVR Ban đầu phần mềm load ví dụ có sẵn thư mục cài đặt, ta tắt project cách click vào Tab menu Project >> Close Project - Tạo project cho việc lập trình: Vào lại Tab menu Project >> New Project Sau nhấp chọn để tạo project cửa sổ sau xuất hiện: Đây cửa sổ thiết lập thông số project + Ở ô Project Name: bạn đặt tên cho project (tùy ý), chẳng hạn đặt tên " Vi du 1" + Ở ô Project Folder: chọn đường dẫn để lưu project, để kiểm soát liệu cho công việc bạn nên tạo folder cho project + Ô Device Name: chọn dòng vi điều khiển, bạn sử dụng ATMEGA để lập trình tìm tên " ATMEGA 8" hộp combo box ấn nút xổ xuống + Device clock: chọn tần số hoạt động cho vi điều khiển, tần số tần số thạch anh sử dụng cho vi điều khiển Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page Bộ thực hành lập trình vi điều khiển AVR Cuối nhấn Next để chuyển qua bước Khi cửa sổ sau xuất hiện: Trong bước này, bạn để tiếp tục nhấn Next đến bước sau: Trong cửa sổ này, bạn stick vào nút có dòng chữ " Include None (Advaned)" nhấn nút Next Trong bước cuối bạn để mặc định nhấn nút Finish cửa sổ lập trình xuất hiện, sẵn sàng cho bạn viết code Bạn viết code vào hai dấu ngoặc { } Sau bạn nhấp vào nút Build nhấn tổ hợp phím Ctrl + F9 để tạo file hex Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page Bộ thực hành lập trình vi điều khiển AVR 2.2 Phần mềm nạp Khazama Sau có file hex phần mềm viết code tạo ta tiến hành nạp chương trình vào chip Bước 1: kết nối mạch nạp với chíp máy tính Bước 2: mở phần mềm nạp Khazama III CÁC BÀI TẬP THỰC HÀNH VỚI MODUL ỨNG DỤNG Ghi chú: phần mềm code file hex cấp đĩa CD đính kèm 3.1 Thực hành hiển thị led đơn a) Sơ đồ nguyên lý Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page Bộ thực hành lập trình vi điều khiển AVR D1 5V 1 VCC D2 R1 470 1N4001 GND U1 T0 RB0 T1 RB1 INT2 RB2 RB3 CS RB4 SDO RB5 SDI RB6 SCK RB7 RX RD0 TX RD1 INT0 RD2 INT1 RD3 PWM2 RD4 PWM_DC RD5 ROLE1 RD6 ROLE2 RD7 14 15 16 17 18 19 20 21 RST MOSI MISO SCK VCC R2 10K S1 Y1 RESET C3 RST 104 PD0 (RXD) PD1 (TXD) PD2 (INT0) PD3 (INT1) PD4 (OC1B) PD5 (OC1A) PD6 (ICP) PD7 (OC2) 12 13 11.0592Mhz C4 22p GND PB0 (XCK/T0) PB1 (T1) PB2 (AIN0/INT2) PB3 (AIN1/OC0) PB4 (SS) PB5 (MOSI) PB6 (MISO) PB7 (SCK) PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7) PC0 (SCL) PC1 (SDA) PC2 (TCK) PC3 (TMS) PC4 (TDO) PC5 (TDI) PC6 (TOSC1) PC7 (TOSC2) RESET VCC AVCC AREF XTAL2 XTAL1 GND GND 40 39 38 37 36 35 34 33 RA0 RA1 RA2 RA3 RA4 RA5 RA6 RA7 22 23 24 25 26 27 28 29 RC0 SCL RC1 SDA RC2 RC3 RC4 RC5 RAM_WE RC6 RAM_OE RC7 RAM_ALE VCC 10 30 32 L1 100uH C1 104 31 11 C2 104 GND ATmega16-16PC C5 22p GND MOSI RST SCK MISO P1 VCC 10 RC0 RC1 RC2 RC3 RC4 NAP ISP RA0 RA1 RA2 RA3 RA4 RB0 RB1 RB2 RB3 RB4 ROLE1 ROLE2 PWM_DC PWM2 GND P6 RA5 RA6 RA7 10 PORTA P11 RB5 RB6 RB7 10 RD0 RD1 RD2 RD3 RD4 RE0 RE1 RE2 PORTB P14 10 SCK SDI SDO CS P2 RC5 RC6 RC7 10 PORTC P7 5 RD5 RD6 RD7 10 PORTD P12 10 8 10 VCC RA0 RA1 RA2 RA3 RA4 RA5 RA6 RA7 I2C 10 VCC UART P13 T0 RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7 T1 10 TIMER P16 SCK SDI SDO CS INT0 INT1 INT2 SPI MOTOR DC P3 P8 RX TX RE0 RAM_WE RE1 RAM_OE RE2 RAM_ALE CONTROL RAM P15 SCL SDA P4 VCC P9 10K VCC RD0 RD1 RD2 RD3 RD4 RD5 RD6 RD7 10K 10 P5 RC0 RC1 RC2 RC3 RC4 RC5 RC6 RC7 10K P10 10K INTERRUP MODULE MCU AVR Sơ đồ nguyên lý mạch CPU 89xx LED10 D_LED1 R36 D_LED9 GND 470R R37 LED12 R38 D_LED5 D_LED4 D_LED3 D_LED2 D_LED1 LED14 D_LED3 D_LED10 R39 470R GND 470R R40 GND 470R D_LED13 D_LED12 D_LED11 D_LED10 D_LED9 D_LED2 D_LED11 R41 470R LED16 R42 R44 GND 470R P13 DATA 10 10 D_LED8 D_LED7 D_LED6 LED18 D_LED5 5 P12 DATA D_LED12 R43 470R GND 470R D_LED16 D_LED15 D_LED14 D_LED4 D_LED13 R45 470R LED20 D_LED6 R46 470R GND D_LED14 R47 470R GND D_LED15 R49 470R GND D_LED16 R51 470R LED22 D_LED7 R48 470R LED24 D_LED8 R50 470R LED11 VCC 470R LED13 VCC LED15 VCC LED17 VCC LED19 VCC LED21 VCC LED23 VCC LED25 VCC MODULE LED SINGLE Sơ đồ nguyên lý Mô đune LED đơn Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 10 Bộ thực hành lập trình vi điều khiển AVR Sơ đồ kết nối điều khiển motor DC d) Trình tự thao tác Bước 1: Kết nối MOTOR DC với PORTB Bước 2: Gạt switch cấp nguồn Bước 3: Kết nối mạch nạp nạp chương trình cho chíp (File hex folder: sw-dcmotor-8051/dc.hex) e) Kết khảo sát Motor DC quay trái,phải lặp lại Bài tập cho sinh viên: Bài tập 1: Viết chương trình điều khiển động quay phải giây, dừng giây, quay trái 10 giây, dừng giây lặp lại Bài tập 2: Viết chương trình cài đặt tốc độ động phím bấm Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 29 Bộ thực hành lập trình vi điều khiển AVR 3.12 Thực hành điều khiển động bước a) Sơ đồ nguyên lý step step +12V U9 F_A 330R step R52 1K 1 Q7 TIP41 PC817 GND GND P15 GND STEP_1 STEP_2 STEP_3 STEP_4 P14 GND F_A F_B F_C F_D GND step step step CONTROL R59 1K R58 1K R60 U10 STEP_4 Q8 TIP41 U11 PC817 Q9 TIP41 R63 10K GND CONNECT MT F_D PC817 R61 330R 330R F_C STEP_3 Q6 TIP41 R56 10K R57 10K GND 10 F_B PC817 STEP_2 R54 330R U8 R55 EN R53 1K STEP_1 R62 10K GND GND GND GND GND MODULE MOTOR STEP Sơ đồ nguyên lý mạch động bước b) Nguyên lý hoạt động Vi điều khiển phát xung vào chân kết nối với động theo thứ tự A-B-C-D ngược lại để thay đổi tốc độ chiều quay động bước c) Sơ đồ kết nối tập mô hình Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 30 Bộ thực hành lập trình vi điều khiển AVR Sơ đồ kết nối điều khiển motor STEP d) Trình tự thao tác Bước 1: Kết nối Motor step với PORT1 Bước 2: Gạt switch cấp nguồn Bước 3: Kết nối mạch nạp nạp chương trình cho chíp (File hex folder: sw-motor step /motor step.hex) e) Kết khảo sát Motor step quay trái, phải lặp lại Bài tập cho sinh viên: Bài tập 1: Viết chương trình điều khiển động quay phải giây, dừng giây, quay trái 10 giây, dừng giây lặp lại Bài tập 2: Viết chương trình cài đặt tốc độ động phím bấm Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 31 Bộ thực hành lập trình vi điều khiển AVR 3.13 Thực hành giao tiếp với RAM a) Sơ đồ nguyên lý D1 VCC VCC RAM 1N4007 AD0 AD1 AD2 AD3 AD4 P1 10 AD5 AD6 AD7 ADDRESS DATA/ I/O DATA A8 A9 A10 A11 A12 VCC RAM P2 10 A13 A14 C1 104 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 10 25 24 21 23 26 A0 I/O1 A1 I/O2 A2 I/O3 A3 I/O4 A4 I/O5 A5 I/O6 A6 I/O7 A7 I/O8 A8 UT62256 A9 WE A10 OE A11 A12 VCC A13 CE A14 GND U1 10 LOGIC CONTROL 27 22 RAM_WE RAM_OE 28 20 14 VCC RAM GND RAM_ALE 11 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 GND ADDRESS DATA P3 11 12 13 15 16 17 18 19 RAM_WE RAM_OE RAM_ALE AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 10 GND LE D1 D2 D3 D4 D5 D6 D7 D8 OE GND VCC U2 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 20 19 18 17 16 15 14 13 12 VCC RAM A7 A6 A5 A4 A3 A2 A1 A0 74HC573 MODULE RAM Sơ đồ nguyên lý mạch giao tiếp RAM b) Nguyên lý hoạt động Vi điều khiển giao tiếp song song với Ram thông qua chân địa chỉ, liệu chân điều khiển c) Sơ đồ kết nối tập mô hình Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 32 Bộ thực hành lập trình vi điều khiển AVR Sơ đồ kết nối RAM d) Trình tự thao tác Bước 1: Kết nối CONTROL LCD với PORT3 Bước 2: Kết nối DATA LCD với PORT1 Bước 3: Kết nối P1 với PORT0 Bước 4: Kết nối P2 với PORT2 Bước 5: Kết nối P3 với CONTROL RAM Bước 6: Gạt switch cấp nguồn Bước 7: Kết nối mạch nạp nạp chương trình cho chíp (File hex folder: sw-ram-8051-2/ckxram.hex) e) Kết khảo sát Thực ghi giá trị từ 0-255 vào ô nhớ đọc hiển thị lên LCD Bài tập cho sinh viên: Viết chương trình ghi liệu vào nhiều ô nhớ Ram đọc Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 33 Bộ thực hành lập trình vi điều khiển AVR 3.14 Thực hành giao tiếp với ROM a) Sơ đồ nguyên lý U1 32.768K 2 GND X1 X2 GND VCC SQW/OUT SCL SDA VCC I2C R4 1K SCL SDA DS1307 C2 104 D3 P1 VCC I2C VCC I2C BT1 3V VBAT C1 104 Header SCL SDA VCC I2C GND GND GND SW1 GND R5 R6 R7 4K7 4K7 4K7 4 Select Address GND U3 A0 VCC A1 SCL A2 SDA GND WR AT24CXX VCC I2C P2 10 I2C SCL SDA GND MODULE REALTIME & ROM Sơ đồ nguyên lý mạch giao tiếp ROM b) Nguyên lý hoạt động Vi điều khiển giao tiếp với Rom thông qua giao tiếp I2C, đọc ghi liệu c) Sơ đồ kết nối tập mô hình Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 34 Bộ thực hành lập trình vi điều khiển AVR Sơ đồ kết nối ROM d) Trình tự thao tác Bước 1: Kết nối CONTROL LCD với PORT2 Bước 2: Kết nối DATA LCD với PORT1 Bước 3: Kết nối I2C với PORT3 Bước 4: Gạt switch cấp nguồn chọn địa ROM A0=A1=A2=0 Bước 5: Kết nối mạch nạp nạp chương trình cho chíp (File hex folder: sw-rom24c32-8051 /rom 24c32.hex) e) Kết khảo sát Thực ghi giá trị từ 0-10 vào ô nhớ đọc hiển thị lên LCD Bài tập cho sinh viên: Bài tập 1: Viết chương trình ghi liệu vào nhiều ô nhớ Rom đọc Bài tập 2: Viết chương trình lưu lại kết tính toán, đọc ADC… Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 35 Bộ thực hành lập trình vi điều khiển AVR 3.15 Thực hành giao tiếp IC thời gian thực DS1307 a) Sơ đồ nguyên lý U1 32.768K 2 GND X1 X2 GND VCC SQW/OUT SCL SDA VCC I2C R4 1K SCL SDA DS1307 C2 104 D3 P1 VCC I2C VCC I2C BT1 3V VBAT C1 104 Header SCL SDA VCC I2C GND GND GND SW1 GND R5 R6 R7 4K7 4K7 4K7 4 Select Address GND U3 A0 VCC A1 SCL A2 SDA GND WR AT24CXX VCC I2C P2 10 I2C SCL SDA GND MODULE REALTIME & ROM Sơ đồ nguyên lý mạch DS1307 b) Nguyên lý hoạt động Vi điều khiển giao tiếp với DS1307 theo chuẩn I2C để cài đặt đọc giá trị thời gian thực c) Sơ đồ kết nối tập mô hình Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 36 Bộ thực hành lập trình vi điều khiển AVR Sơ đồ kết nối DS1307 d) Trình tự thao tác Bước 1: Kết nối CONTROL LCD với PORT2 Bước 2: Kết nối DATA LCD với PORT1 Bước 3: Kết nối I2C với PORT3 Bước 4: Gạt switch cấp nguồn chọn địa ROM A0=A1=A2=0 Bước 5: Kết nối mạch nạp nạp chương trình cho chíp (File hex folder: sw-ds1307-8051/ds1307.hex) e) Kết khảo sát Trên LCD hiển thị giá trị ngày/tháng /năm, giờ:phút:giây Bài tập cho sinh viên: Bài tập 1: Viết chương trình cài đặt thời gian Bài tập 2: Viết chương trình đồng hồ vạn niên Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 37 Bộ thực hành lập trình vi điều khiển AVR 3.16 Thực hành hiển thị GLCD 128x64 a) Sơ đồ nguyên lý D1 VCC U1 VCC GLCD VCC GLCD 1N4007 GLCD 128x64 GLCD_D0 GLCD_D1 GLCD_D2 GLCD_D3 GLCD_D4 C1 104 GLCD KS0108 GND 20 A VCC GND RST 17 CS2 16 CS1 15 R2 DB7 14 DB6 13 DB5 12 DB4 11 DB3 10 DB2 DB1 DB0 E R/W RS V0 VEE 18 10K Design By Ngo Dong Y K 19 10 GLCD_D5 GLCD_D6 GLCD_D7 DATA GLCD VCC GLCD R1 P1 10R VCC GLCD GND GND GLCD_RS GLCD_RW GLCD_E GLCD_CS1 GLCD_CS2 P2 10 GLCD_DI GLCD_RST GLCD_CS2 GLCD_CS1 GLCD_D7 GLCD_D6 GLCD_D5 GLCD_D4 GLCD_D3 GLCD_D2 GLCD_D1 GLCD_D0 GLCD_E GLCD_RW GLCD_RS CONTROL GLCD MODULE GLCD 128 X 64 Sơ đồ nguyên lý mạch GLCD 128x64 b) Nguyên lý hoạt động Vi điều khiển ghi lệnh liệu vào GLCD để hiển thị thông tin c) Sơ đồ kết nối tập mô hình Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 38 Bộ thực hành lập trình vi điều khiển AVR Sơ đồ kết nối hiển thị GLCD 128x64 d) Trình tự thao tác Bước 1: Kết nối DATA GLCD vào PORTb Bước 2: Kết nối CONTROL GLCD vào PORTc Bước 3: Gạt switch cấp nguồn Bước 4: Kết nối mạch nạp nạp chương trình cho chíp (File hex folder: glcd12864-89c52/glcd12864-89c52.hex) e) Kết khảo sát Trên hình GLCD hiển thị thông tin dòng chữ Bài tập cho sinh viên: Bài tập 1: Viết chương trình cài đặt thời gian hiển thị GLCD Bài tập 2: Viết chương trình hiển thị file ảnh GLCD Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 39 Bộ thực hành lập trình vi điều khiển AVR 3.17 Thực hành giao tiếp với máy tính qua cổng COM/RS232 a) Sơ đồ nguyên lý VCC GNMT VCC VCC GNMT EN C11 104 GND P11 10 UART RX TX U7 C8 C9 TX RX 1uF 1uF 10 11 12 15 C1+ C1C2+ C2- MAX232 VDD VCC T2IN T2OUT T1IN T1OUT R2OUT R2IN R1OUT R1IN GND VEE 16 C7 VCC GNMT 1uF J1 14 13 GND C10 1uF GND GND MODULE RS232 Sơ đồ nguyên lý mạch giao tiếp RS232 b) Nguyên lý hoạt động Vi điều khiển giao tiếp với máy tính thiết bị thông qua chuẩn UART dùng RS232 c) Sơ đồ kết nối tập mô hình Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 40 Bộ thực hành lập trình vi điều khiển AVR Sơ đồ kết nối giao tiếp RS232 d) Trình tự thao tác Bước 1: Kết nối CONTROL LCD với PORTA Bước 1: Kết nối DATA LCD với PORTB Bước 2: Kết nối UART với UART Bước 3: Nối cổng COM với máy tính Bước 4: Gạt switch cấp nguồn Bước 5: Kết nối mạch nạp, nạp chương trình cho chíp mở phần mềm giao tiếp máy tính (File hex folder: sw-rs232-8051/ rs232.hex.Giao diện máy tính: sw-rs2328051/terminal.exe) e) Kết khảo sát Khi gửi ký tự từ máy tính xuống chip gửi trả lại ký tự vừa nhận “-OK”.Trên LCD hiển thị ký tự vừa nhận từ máy tính Bài tập cho sinh viên: Bài tập 1: Viết chương trình truyền nhận chuỗi liệu với máy tính Bài tập 2: Viết chương trình điều khiển thiết bị từ máy tính Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 41 Bộ thực hành lập trình vi điều khiển AVR TÀI LIỆU THAM KHẢO [1] KS Phạm Đình Bảo - Điện tử tập 1,2 - NXBKHKT [2] KS Đỗ Thanh Hải - Hệ thống thí nghiệm điện tử -NXBKHKT [3.] Đỗ Xuân Thụ - Kỹ thuật điện tử - NXBKHKT [4] Sơ đồ kết nối Protues 7.1 - ĐH Bách Khoa Đà Nẵng [5].Ngô Diên Tập - Vi Điều Khiển Với Lập Trình C- Nxb KHKT [6] Ngô Diên Tập - Kỹ Thuật Vi Điều Khiển Với AVR - Nxb KHKT [7] Đỗ Xuân Tiến, Kỹ thuật vi xử lý lập trình Asembly cho hệ vi xử lý, Nxb KHKT [8] Phạm Lê Phát Toàn, ThS Lê Hải Sâm, Vi xử lý, Nxb Lao động Xã hội [9] Nguyễn Minh Đức, Bộ Vi Xử Lý Thiết Kế Bằng Máy Tính Các Hệ Thống Kỹ Thuật Số, Nxb Thành phố Hồ Chí Minh Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 42 Bộ thực hành lập trình vi điều khiển AVR Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 43 [...]... quay trái,phải lặp lại nhau Bài tập cho sinh vi n: Bài tập 1: Vi t chương trình điều khiển động cơ quay phải 5 giây, dừng 2 giây, quay trái 10 giây, dừng 3 giây và lặp lại Bài tập 2: Vi t chương trình cài đặt tốc độ động cơ bằng phím bấm Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 29 Bộ thực hành lập trình vi điều khiển AVR 3.12 Thực hành điều khiển động cơ bước a) Sơ đồ nguyên lý step step... Nguyên lý hoạt động Vi điều khiển điều khiển 2 role để thực hiện đảo chiều động cơ c) Sơ đồ kết nối bài tập trên mô hình Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 28 Bộ thực hành lập trình vi điều khiển AVR Sơ đồ kết nối điều khiển motor DC d) Trình tự thao tác Bước 1: Kết nối MOTOR DC với PORTB Bước 2: Gạt switch cấp nguồn Bước 3: Kết nối mạch nạp và nạp chương trình cho chíp (File... hồ đo 2 chân đầu ra DAC thấy giá trị điện áp thay đổi từ từ Bài tập cho sinh vi n: Bài tập 1: Vi t chương trình cài đặt điện áp ra dùng phím bấm Bài tập 2: Vi t chương trình đọc giá trị ADC và suất ra DAC Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 27 Bộ thực hành lập trình vi điều khiển AVR 3.11 Thực hành điều khiển động cơ một chiều a) Sơ đồ nguyên lý P9 +12V 1 4 12V VCC 2 3 5V P10 6... e) Kết quả khảo sát Hai hàng led nhấp nháy thay phiên nhau Bài tập cho sinh vi n: Bài tập 1: Vi t chương trình điều khiển led sáng dần, tắt dần từ hai đầu vào Bài tập 2: Vi t chương trình tạo các hiệu ứng nháy led Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 11 Bộ thực hành lập trình vi điều khiển AVR 3.2 Thực hành hiển thị led 7 đoạn a) Sơ đồ nguyên lý Q1 A1015 LED2 R22 100 LED1 LED2 LED3... và nạp chương trình cho chíp (File hex ở folder: sw-led 7/led7.hex) e) Kết quả khảo sát Trên led 7 sẽ hiển thị các số 0000-9999 Bài tập cho sinh vi n: Bài tập 1: Vi t chương trình hiển thị giá trị điện áp lên led 7 Bài tập 2: Vi t chương trình hiển thị thời gian thực lên led 7 Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 13 Bộ thực hành lập trình vi điều khiển AVR 3.3 Thực hành hiển thị... động vào cảm biến, trên màn LCD sẽ hiển thị biến đếm số lần tác động Bài tập cho sinh vi n: Bài tập 1: Vi t chương trình đọc phím bấm sử dụng ngắt Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 21 Bộ thực hành lập trình vi điều khiển AVR Bài tập 2: Vi t chương trình đo tần số sử dụng ngắt 3.8 Thực hành với bộ Timer/Counter a) Sơ đồ nguyên lý VCC VR1 P2 R19 THR TRIG NE555N 6 2 OUT 3 PULSE R18.. .Bộ thực hành lập trình vi điều khiển AVR b) Nguyên lý hoạt động Mạch gồm 16 led đơn, các led nối chung đường nguồn Vi điều khiển thực hiện xuất dữ liệu vào các chân led điều khiển led sáng dần tắt dần c) Sơ đồ kết nối bài tập trên mô hình Sơ đồ kết nối hiển thị led đơn d) Trình tự thao tác Bước 1: Kết nối PORTA và PORTB với modul led đơn Bước 2: Kết nối mạch nạp và nạp chương trình cho chíp... mạch nạp và nạp chương trình cho chíp (File hex ở folder: dotanso+lcd/dotanso+lcd.hex) e) Kết quả khảo sát Tần số đo được hiển thị lên màn LCD Bài tập cho sinh vi n: Bài tập 1: Vi t chương trình tạo thời gian trễ dùng Timer Bài tập 2: Vi t chương tạo xung tần số 100Hz Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 23 Bộ thực hành lập trình vi điều khiển AVR 3.9 Thực hành giao tiếp ADC a) Sơ... hoạt động Vi điều khiển xuất ra giá trị số từ 0-255,mạch DAC thực hiện chuyển giá trị số thành giá trị điện áp c) Sơ đồ kết nối bài tập trên mô hình Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 26 Bộ thực hành lập trình vi điều khiển AVR Sơ đồ kết nối giao tiếp DAC d) Trình tự thao tác Bước 1: Nối DAC với PORT3 Bước 2: Gạt switch cấp nguồn Bước 3: Kết nối mạch nạp và nạp chương trình cho... khảo sát Khi bấm các phím sẽ có 1 led sáng Bài tập cho sinh vi n: Bài tập 1: Vi t chương trình tạo hiệu ứng nháy led theo từng phím bấm Bài tập 2: Vi t chương trình cài đặt dùng phím bấm 3.6 Thực hành nhận biết phím ma trận 4x4 a) Sơ đồ nguyên lý Công ty cổ phần Thiết bị điện – Tự động hóa TDP – E Page 18 Bộ thực hành lập trình vi điều khiển AVR SW1 1 SW2 2 1 SW3 SW4 3 2 4 3 VCC / A P3 SW5 SW6 SW7 4 ... Bài thực hành số 11: Thực hành điều khiển động DC - Bài thực hành số 12: Thực hành điều khiển động bước - Bài thực hành số 13: Thực hành giao tiếp với RAM - Bài thực hành số 14: Thực hành giao... thực hành số 7: Thực hành xử lý ngắt INT - Bài thực hành số 8: Thực hành với Timer/Counter - Bài thực hành số 9: Thực hành giao tiếp ADC - Bài thực hành số 10: Thực hành giao tiếp DAC - Bài thực. .. xuất thực tế - Kiểm tra khắc phục cố trình khảo sát 1.2 Mô hình thực thực hành sau: - Bài thực hành số 1: Thực hành hiển thị led đơn - Bài thực hành số 2: Thực hành hiển thị led đoạn - Bài thực hành