Mục lục Bài 1: Hướng dẫn cài đặt Keil C Bài 2: Truy xuất Port IO Bài 3: Điều khiển đơn giản led 7 đoạn Bài 4: Ngắt Timer Bài 5: Dùng ngắt Timer viết ứng dụng Bài 6: Chống rung cho phím Bài 7: Quét led điều khiển led 7 đoạn v.v...
Hướng dẫn sử dụng Kit 89 Mục lục Bài : Hướng dẫn cài đặt Keil C Flash Magic 1.1 Cài đặt Keil C 1.2 Cài đặt Flash Magic 1.3 Cấu hình cho Flash Magic 14 Bài : Truy xuất Port I/O 20 2.1 Tạo project Keil C 20 2.2 Viết chương trình đơn giản 30 2.2.1 Kết nối phần cứng 30 2.2.2 Viết chương trình 31 2.2.3 Nạp chương trình 32 Bài : Điều khiển đơn giản Led đoạn 34 3.1 Kết nối phần cứng: 34 3.2 Viết chương trình 35 3.2.1 Hàm init_main() 35 3.2.2 Hàm main() 35 3.3 Một số lỗi quan trọng 37 Bài : Ngắt Timer 38 4.1 Khai báo ngắt timer 38 4.2 Viết chương trình 39 4.2.1 Hàm init_timer1() 39 4.2.2 Hàm start_timer1() 39 4.2.3 Hàm timer1_isr() 39 4.2.4 Hàm delay_ms(unsigned int duration) 40 4.2.5 Hàm stop_timer1() 40 Bài : Dùng ngắt timer viết ứng dụng LED RIVER 41 5.1 Kết nối phần cứng 41 5.2 Viết chương trình 41 Bài : Chống rung cho phím 43 6.1 Nguyên lý chống rung 43 6.2 Kết nối phần cứng 44 6.3 Viết chương trình 45 6.3.1 Hàm initKey() 45 6.3.2 Hàm getKey() 45 Bài : Quét led điều khiển Led đoạn 47 7.1 Nguyên lý quét led đoạn 47 7.2 Kết nối phần cứng 48 7.3 Viết chương trình 48 7.3.1 Hàm init_led7() 48 7.3.2 Hàm clear_led7() 49 7.3.3 Hàm set_position(unsigned int pos) 49 7.3.4 Hàm get_position() 49 7.3.5 Hàm put_Number(unsigned int num) 50 7.3.6 Hàm put_string(char strNum[]) 50 7.3.7 Hàm scan_led7 50 BKIT HARDWARE CLUB – www.bkit4u.com Hướng dẫn sử dụng Kit 89 Bài : Điều khiển Ma trận led 52 8.1 Nguyên lý điều khiển ma trận led 52 8.2 Kết nối phần cứng 52 8.3 Viết chương trình 52 8.3.1 Hàm init_led_matrix() 53 8.3.2 Hàm scan_led_matrix() 53 8.3.3 Hàm update_display_led_matrix() 53 Bài : Chạy chữ Ma trận led 55 9.1 Nguyên lý chạy chữ ma trận led 55 9.2 Kết nối phần cứng 56 9.3 Viết chương trình 56 9.3.1 Hàm set_message(char strMsg[]) 56 9.3.2 Hàm main() 57 Bài 10 : Ngắt 58 10.1 Nguyên lý điều khiển ngắt 58 10.2 Kết nối phần cứng 58 10.3 Viết chương trình 58 10.3.1 Hàm init_ext_int0() 58 10.3.2 Hàm init_ext_int1() 58 10.3.3 Hàm ext0_isr() 59 10.3.4 Hàm ext1_isr() 59 Bài 11 : Điều khiển encoder 60 11.1 Nguyên lý điều khiển encoder 60 11.2 Kết nối phần cứng 61 11.3 Viết chương trình 61 Bài 12 : Giao tiếp UART 63 12.1 Nguyên lý giao tiếp UART 63 12.2 Giao tiếp UART với máy tính 64 12.3 Viết chương trình 65 12.3.1 Thanh ghi điều khiển truyền nhận nối tiếp 65 12.3.2 Dùng Timer1 tạo Baud rate 67 12.3.3 Chương trình truyền nhận UART 8051 67 Bài 13 : Giao tiếp PS2 với bàn phím 70 13.1 Nguyên lý giao tiếp PS2 70 13.2 Kết nối phần cứng 71 13.3 Viết chương trình 72 Bài 14 : PWM điều khiển motor 73 14.1 Khái niệm PWM 73 14.2 Lập trình PWM 89V51 74 Bài 15 : Giao tiếp LCD character 75 15.1 Chức chân LCD 75 15.2 Kết nối hình LCD 76 15.3 Bộ nhớ CGROM 76 15.4 Các lệnh LCD 77 15.5 Kết nối LCD với vi điều khiển 78 15.6 Khởi tạo LCD 79 BKIT HARDWARE CLUB – www.bkit4u.com Hướng dẫn sử dụng Kit 89 Bài 16 : Giao tiếp I2C – DS1307 80 BKIT HARDWARE CLUB – www.bkit4u.com Hướng dẫn sử dụng Kit 89 Bài : Hướng dẫn cài đặt Keil C Flash Magic Mục đích : Cài đặt Keil C để soạn thảo chương trình Cài đặt Flash Magic để nạp chương trình Cấu hình cho Flash Magic 1.1 Cài đặt Keil C Keil C chương trình hỗ trợ đầy đủ để người dùng soạn thảo chương trình dành cho vi điều khiển thuộc họ 8051 Để cài đặt bạn tiến hành theo bước sau: Bước : Click vào file c51v815.exe CD kèm, hình sau xuất BKIT HARDWARE CLUB – www.bkit4u.com Hướng dẫn sử dụng Kit 89 Bước : Chọn Next, hình sau xuất Bước : Click chọn I agree chọn Next, hình sau xuất BKIT HARDWARE CLUB – www.bkit4u.com Hướng dẫn sử dụng Kit 89 Bước : Bạn để mặc định chọn Next Tuy nhiên bạn thay đổi Destinatioin Folder, thư mục chứa số thư viện hỗ trợ việc lập trình Keil C Màn hình sau xuất để bạn điền số thông tin cá nhân BKIT HARDWARE CLUB – www.bkit4u.com Hướng dẫn sử dụng Kit 89 Bước : Chọn Next để bắt đầu cài đặt Bước : Khi cài đặt xong, hình sau xuất bạn nhấn Finish để hoàn tất trình cài đặt BKIT HARDWARE CLUB – www.bkit4u.com Hướng dẫn sử dụng Kit 89 Bước : Trang web sau hiển thị để giới thiệu KeilC phiên Các bước cấu hình cho Keil C để dịch chương trình file Hex trình bày thực hành BKIT HARDWARE CLUB – www.bkit4u.com Hướng dẫn sử dụng Kit 89 1.2 Cài đặt Flash Magic Đây chương trình dùng để nạp file Hex cho 89V51 Để cài đặt bạn làm theo bước sau : Bước : Double click vào file FlashMagic.exe, hình sau xuất Bước : Chọn Next BKIT HARDWARE CLUB – www.bkit4u.com Hướng dẫn sử dụng Kit 89 Bước : Click chọn I accept chọn Next BKIT HARDWARE CLUB – www.bkit4u.com 10 Hướng dẫn sử dụng Kit 89 SM1 SM0, SM1 00 SCON.6 01 10 11 SCON.5 SM2 SCON.4 REN SCON.3 TB8 SCON.2 RB8 SCON.1 TI SCON.0 RI Cùng với SM0, xác định chế độ làm việc cổng nối tiếp Chế độ UART UART Baud Rate CCLK/16 (chế độ mặc định sau RESET) 1: UART 8-bit Thay đổi 2: UART 9-bit CCLK/32 CCLK/16 3: UART 9-bit Thay đổi Cho phép truyền thông đa xử lý Ở Mode 3, SM2 lập, RI không tích cực bit liệu nhận thứ (RB8) ‘0’ Ở Mode 0, SM2 nên ‘0’, mode 1, SM2 phải ‘0’ Cho phép thu cổng nối tiếp Thiết lập phần mềm phép thu Xóa phần mềm không cho phép thu,REN = tất chế độ tuyền nhận Bit liệu thứ phát mode 3, lập/xóa phần mềm muốn Bit liệu thứ nhận mode Ở mode 1(SM2=0), RB8 bit dừng nhận, mode 0, RB8 không định nghĩa Cờ ngắt phát(truyền nối tiếp), lập phần cứng cuối bit thứ mode 0, bit dừng chế độ lại, phải xóa phần mềm (Xem thêm bit INTL0 ghi SSTAT) Cờ ngắt thu, lập phần cứng cuối bit thứ mode 0, hay khoảng bit dừng mode với mode mode 3, SMOD0=0, lập gần khoảng bit liệu thứ (bit 8) Nếu SMOD0=1, lập gần khỏang bit dừng Phải xóa phần mềm 0: ghi dịch Các chế độ truyền nối tiếp: • Chế độ 0: chế độ chân RxD vửa làm nhiệm vụ thu phát liệu chân TxD làm nhiệm vụ phát xung dịch bit(Shift Clock) vói tốc độ sung 1/12 tốc độ xung XTAL.Dữ liệu truyền gồm bit với bit LSB truyền nhận trước Ứng dụng chế độ mở rộng ngõ cho 8051 từ đường TxD,RxD tạo đường mở rộng. 8051 TxD(P3.1) CLOCK Data Shift register RxD(P3.0) BKIT HARDWARE CLUB – www.bkit4u.com 66 Hướng dẫn sử dụng Kit 89 • • • Chế độ 1: chế độ truyền với frame có 10 bits (bit start – bits data – bit stop) ,tốc độ baud rate thay đổi tùy vào cách khởi tạo ban đầu.Có thể nhân đôi tốc độ truyền cách bật PCON.7 = 1. Chế độ 2: chế độ truyền với frame có 11 bits (bit start – bits data – bit parity – bit stop),bit parity đặt TB8 phát đặt RB8 thu, tốc độ baud rate chế độ không thay đổi 1/64 dao động XTAL (1/32 dao động XTAL PCON.7 = 1). Chế độ 3: có chức tương tự chế độ tốc độ baud rate thay đổi chể độ 1. Tốc độ Baud : Tốc độ (Baud) cổng 8051 phải phù hợp với máy tính: 100, 150, 300, 600, 1200, 2400, 4800, 9600, 19200 Khuyến cáo dùng thạch anh có tần số 11.0592Mhz để tạo tốc độ Baud với sai số thấp (gần 0) 12.3.2 Dùng Timer1 tạo Baud rate Timer dùng để tạo tốc độ baud cho truyền nối tiếp ,cần phải đặt Timer Mode – bit tự nạp lại, đặt chế độ khác tốn vài chu kỳ máy cho trình thiết lập lại giá trị cho TH1,TL1 Đặt TH1 theo bảng để có tốc độ Baud tương ứng với SMOD = (bit D7 ghi PCON, XTAL = 11.0592 MHz) : Tốc độ Baud TH1 (Thập phân) TH1 (Hexa) 9600 -3 ED 4800 -6 FA 2400 -12 F4 1200 -24 E8 Tốc độ Baud rate nhân SMOD = 12.3.3 Chương trình truyền nhận UART 8051 Hàm InitTimer1ForUart() thiết lập Timer1 tạo tốc độ baud cho truyền nối tiếp void InitTimer1ForUart() { TMOD |= 0x20; // Timer mode 2-autoreload TL1 = 0; /* if PCON.7 = 0, TH1 = 256 - ((Crystal / 384) / Baud) */ PCON &= ~(1 >= 1; if(DATA) scan_code |= 0x80; } if(count_bit_input > 10) { //Add your code here count_bit_input = 0; //reset } } Biến count_bit_input dùng để đếm số bit gửi về, count_bit_input = 11 ta có liệu scan_code từ bàn phím truyền lên Bạn phải xử lý để phân loại mã make_code hay break_code, có nhấn kèm với phím shift hay caps lock hay không để chuyển sang mã ascii cho kí tự nhấn Chi tiết code bạn xem thêm Bai 13 BKIT HARDWARE CLUB – www.bkit4u.com 72 Hướng dẫn sử dụng Kit 89 Bài 14 : PWM điều khiển motor Mục đích: Nắm vững kĩ thuật điều xung PWM Yêu cầu: Viết ứng dụng điều khiển motor chạy nhiều tốc độ khác 14.1 Khái niệm PWM PWM viết tắt từ Pulse Width Modulation PWM sử dụng nhiều hệ thống điều khiển tự động ngày Nó ứng dụng điều khiển tốc độ động cơ, độ sáng tối led, hình LCD, pha màu cho bang quang báo, sử dụng thuật toán điều khiển vận tốc cho Robot PI, PD, PID … Hiểu đơn giản PWM hoạt động công tác đóng mở nhiều lần giây Nếu tần số đóng mở nhanh điện áp cấp trung bình lớn Một số khái niệm PWM : Tần số (Hz, Khz…) Chu kỳ T, thời gian xung mức cao TH + thời gian xung mức thấp TL Duty Cycle: tỉ lệ thời gian xung mức thời gian xung mức thấp Như hình ta có Duty Cycle 0%, 25%, 50%, 75%, 100% Một số công thức : BKIT HARDWARE CLUB – www.bkit4u.com 73 Hướng dẫn sử dụng Kit 89 Chu kì : TTotal = TOn + TOff Duty Cycle : D = TOn/TOff Volt Output : V = Vinput x D Khi TOn = VoltOutput = (V) TOn = TTotal VoltOutput = VoltInput Trong thực tế ta có IC chuyên dụng để dùng cho việc điều xung có vi điều khiển có tích hợp sẵn PWM bên Vi điều khiển 89V51 hỗ kênh điều xung (P1.3 – P1.7) sử dụng linh hoạt cho việc điều xung, người dùng cần ghi giá trị thích hợp vào ghi để có tín PWM mong muốn 14.2 Lập trình PWM 89V51 Khởi tạo kênh điều xung sau: void initPWM() { CCAPM0 = 0x42; CCAPM1 = 0x42; CCAPM2 = 0x42; CCAPM3 = 0x42; CCAPM4 = 0x42; CMOD = 0x00; //set P1.3 pwm mode //set P1.4 pwm mode //set P1.5 pwm mode //set P1.6 pwm mode //set P1.7 pwm mode // setup to devide frequency by CCAP0H = 0xff; CCAP1H = 0xff; CCAP2H = 0xff; CCAP3H = 0xff; CCAP4H = 0xff; CCON |= (1[...]... Project… BKIT HARDWARE CLUB – www.bkit4u.com 20 Hướng dẫn sử dụng Kit 89 Bước 3 : Chọn đường dẫn và gõ tên project và khung File name, chọn Save, khung cửa số sau đây xuất hiện BKIT HARDWARE CLUB – www.bkit4u.com 21 Hướng dẫn sử dụng Kit 89 Bước 4 : Chọn chip tương ứng với board của bạn, trong board của chúng tôi sử dụng 89V51RB2 Browse tới NXP, và chọn P89V51RB2 BKIT HARDWARE CLUB – www.bkit4u.com... dẫn sử dụng Kit 89 Bước 5 : Sau khi nhấn OK, màn hình sau sẽ xuất hiện, bạn chọn No Bước 6 : Project được tạo ra như sau: BKIT HARDWARE CLUB – www.bkit4u.com 23 Hướng dẫn sử dụng Kit 89 Bước 7 : Cấu hình để tạo ra file Hex, bạn chọn menu Project, chọn Option for Target BKIT HARDWARE CLUB – www.bkit4u.com 24 Hướng dẫn sử dụng Kit 89 Bước 8 : Màn hình sau xuất hiện BKIT HARDWARE CLUB – www.bkit4u.com 25...Hướng dẫn sử dụng Kit 89 Bước 4 : Bạn có thể để mặc định và chọn Next, hoặc thay đổi đường dẫn của thư mực cài đặt nếu bạn muốn Khi click Next màn hình sau sẽ xuất hiện Bước 5 : Để mặc định và chọn Next BKIT HARDWARE CLUB – www.bkit4u.com 11 Hướng dẫn sử dụng Kit 89 Bước 6 : Chọn Next BKIT HARDWARE CLUB – www.bkit4u.com 12 Hướng dẫn sử dụng Kit 89 Bước 7 : Chọn Install để cài đặt... Manage BKIT HARDWARE CLUB – www.bkit4u.com 17 Hướng dẫn sử dụng Kit 89 Bước 6 : Màn hình sau xuất hiện, bạn chọn Device Manager Bước 7 : Cắm dây cổng COM nếu bạn đang dùng USB to COM, mở rộng Ports (COM &LPT), bạn sẽ biết được tên cổng COM đang dùng (trong ví dụ này là COM 9) BKIT HARDWARE CLUB – www.bkit4u.com 18 Hướng dẫn sử dụng Kit 89 Bước 9 : Kích hoạt lại Flash Magic và chọn cổng COM tương ứng BKIT... là chip tương ứng mà bạn dùng Check chọn Verify after programming và Erase blocks used by Hex File BKIT HARDWARE CLUB – www.bkit4u.com 15 Hướng dẫn sử dụng Kit 89 Bước 3 : Chọn menu Option và chọn Advance Option, màn hình sau sẽ xuất hiện : BKIT HARDWARE CLUB – www.bkit4u.com 16 Hướng dẫn sử dụng Kit 89 Bước 4 : Chọn qua tab Hardware Config và check chọn Assert DTR and RTS while COM Port open Nhấn OK... sau sẽ xuất hiện, bạn nhấn Finish để kết thúc cài đặt BKIT HARDWARE CLUB – www.bkit4u.com 13 Hướng dẫn sử dụng Kit 89 1.3 Cấu hình cho Flash Magic Bước 1 : Khởi động Flash Magic từ màn hình Desktop (hoặc vào Start\Program Files\Flash Magic và chọn Flash Magic), màn hình sau sẽ xuất hiện BKIT HARDWARE CLUB – www.bkit4u.com 14 Hướng dẫn sử dụng Kit 89 Bước 2 : Bạn chọn Baud Rate là 9600, Device là chip... để chạy chương trình BKIT HARDWARE CLUB – www.bkit4u.com 27 Hướng dẫn sử dụng Kit 89 Bước 11 : Tạo mới 1 file bằng cách chọn menu File rồi chọn New Chọn tiếp menu File rồi chọn Save, khung cửa sổ sau sẽ hiện lên, bạn nhập tên file vào và nhấn Save Bước 12 : Click phải vào group Main, và chọn Add Files to Group Main BKIT HARDWARE CLUB – www.bkit4u.com 28 Hướng dẫn sử dụng Kit 89 Bước 13 : Chỉ đường... Khi cửa sổ sau hiện lên, nhấn OK để tiếp tục BKIT HARDWARE CLUB – www.bkit4u.com 32 Hướng dẫn sử dụng Kit 89 Bước 6 : Nhấn Browse để chọn đường dẫn tới file Hex cần nạp rồi nhấn Start Bước 7 : Khi thấy Status là Finished, bạn có thể nhấn nút Reset trên board để bắt đầu chạy chương trình của bạn BKIT HARDWARE CLUB – www.bkit4u.com 33 Hướng dẫn sử dụng Kit 89 Bài 3 : Điều khiển đơn giản Led 7 đoạn Mục... – www.bkit4u.com 25 Hướng dẫn sử dụng Kit 89 Bước 9 : Chọn tab Output, và click chọn Click Hex File Bước 10 : Chép thư file REG51F.H (nếu cài mặc định sẽ nằm trong thư mục C:\Keil\C51\INC\Philips hoặc bạn có thể copy trong CD đi kèm) là file define các thanh ghi của 89V51 vào cùng cấp với file project BKIT HARDWARE CLUB – www.bkit4u.com 26 Hướng dẫn sử dụng Kit 89 Bước 11 : Bạn có thể chọn và nhấn Delete... ra cùng cấp với file project BKIT HARDWARE CLUB – www.bkit4u.com 31 Hướng dẫn sử dụng Kit 89 2.2.3 Nạp chương trình Bước 1 : Kết nối mạch nạp với board thông qua jack 4, với chân số 1 là VCC, chân 2 là GND, chân 3 là TX và chân 4 là RX Bước 2 : Gắn nguồn cho kit thí nghiệm Bước 3 : Khởi động Flash Magic Bước 4 : Chọn menu ISP và chọn Erase Flash Pages để xoá code cũ trong 89V51RB2 Bạn cần phải làm bước