Hướng dẫn lập trình 8051 cơ bản trên kit thí nghiệm E51DK1

29 367 0
Hướng dẫn lập trình 8051 cơ bản trên kit thí nghiệm E51DK1

Đ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

E51DK1 Examples Tutorial Hướng dẫn lập trình 8051 Kit thí nghiệm E51DK1 Mar 2013, HMTT08 Rev 1.0 Hoang Thuan I Giới thiệu: Với phát triển ngành công nghiệp công nghệ bán dẫn nói chung,và tự động hóa nói riêng, dòng vi điều khiển phổ biến rộng rãi hiệu ổn định,giá phải hỗ trợ từ nhà sản xuất.Cùng với đời dòng chip với giá hiệu ngày cải thiện dòng PIC,ARM… ,vẫn dòng chip cũ tính thân thiện dễ sử dụng cho bắt đầu làm quen voi giới vi điều khiển dòng 8051 Trong phạm vi tài liệu này, thực ví dụ nhỏ để sử dụng ngoại vi LED(đơn ma trận), UART, LCD(Text ), nút nhấn… Hay nâng cao chút giao tiếp voi nhớ EEPROM RTC sản phẩm kit phát triển 8051 E51DK1 sản phẩm Titans Technology phân phối Để đặt mua Kit thí nghiệm đa E51DK1 xem sản phẩm khác, vào website www.titans.com.vn Rất vui phục vụ bạn trình hoc tập nghiên cứu Thân II Lập trình giao tiếp ngoại vi 8051: Giới thiệu kit phát triển 8051 E51DK1 kit phát triển cho dòng VĐK 8051 Titans Technology phân phối E51DK1 gồm main board đính kèm chung voi ngoại vi như: LCD,UART,Matrix Button,ADC,EEPROM,RTC E51DK1 cho phép ta thực hành thí nghiệm với ngoại vi, ứng dụng thông thường,bao gồm khối hình sau: E51DK1 Tutorial -Lập trình ngoại vi với Kit phát triển 8051 Hình 1: Kit phát triển 8051 E51DK1  Thông tin khối E51DK1: : Khối vi điều khiển 8051 gói : Khối vi điều khiển 8051 gói : Khối đo nhiệt độ : Khối bàn phím ma trận 4x4 : Khối nhớ EEPROM / RTC sử dụng chuẩn giao tiếp I2C : Khối Text LCD 16x2 : Khối programming : Khối hồng ngoại : Khối RS232 10 : Khối Buzzer 11 : Khối ADC bit 12 : Khối nguồn 13 : Khối I/O mở rộng Toàn code examples xây dựng tảng phần cứng E51DK1 sử dụng vi điều khiển vi điều khiển 89V51RB2 (đang phổ biến thị trường nay) phát triển với trình biên dịch Keil C giúp bạn tiếp cận với việc lập trình vi điều khiển tối ưu nhanh có thể,trình biên dịch/tools cung cấp đĩa CD ROM bạn mua sản phẩm Titans Technology | www.titans.com.vn Copyright © 2013, Titans Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi với Kit phát triển 8051  Sử dụng Console PC: Hấu hết demo đính kèm xuất kết hình Terminal PC để bạn dễ theo dõi.Do bạn mua sản phẩm đính kèm phần mềm “Siow” để hỗ trợ chức Để sử dụng Siow thực bước sau:  Khởi động chương trình “Siow” Hình 10 :Khởi động chương trình Siow (Terminal PC)  Chọn tab Configuration  “Set port options” để cấu hình cổng COM Titans Technology | www.titans.com.vn Copyright © 2013, Titans Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi với Kit phát triển 8051 Hình 11 :Bảng cấu hình thông số cổng COM        + ComPorts: chọn cổng COM mà PC bạn nhận diện (như hình PC COM 4) + Baud rate: chọn tốc độ Baud 19200 để test example code + Software flow control: chọn hình + Parity: None + Data bits: bit + Stop bit: + Hardware flow control: hình Example điều khiển bàn phím ma trận 4x4: a) Mô tả phần cứng: E51DK1 trang bị bàn phím ma trận 4x4 hỗ trợ phát triển ứng dụng điều khiển đòi hỏi sử dụng nhiều nút nhấn giảm thiểu việc chiếm chân pin vi điều khiển Titans Technology | www.titans.com.vn Copyright © 2013, Titans Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi với Kit phát triển 8051 Hình : khối bàn phím ma trận E51DK1 Khối bàn phím kết nối với vi điều khiển sau: Hình : sơ đồ kết nối bàn phím ma trận với vi điều khiển 8051 Titans Technology | www.titans.com.vn Copyright © 2013, Titans Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi với Kit phát triển 8051 Keypad RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7 89V51Rx2 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 b) Mô tả example demo: Mở folder “E51DK1-test-KeyPad”, chạy file “E51DK1.uvproj”,nhấn F7 để build project nạp file “E51DK1.hex” Trên hình Console xuất dòng giới thiệu,sau bạn nhấn phím khối bàn phím ma trận xem kết hình Các hàm sử dụng demo: Hàm main( ) InitSerial() demo_scankey( ) Chức Hàm hệ thống Khởi tạo giao tiếp UART (cổng COM) Hàm giao tiếp bàn phím ma trận Ghi Tham khảo file “serial.c” Tham khảo file “main.c” Code điều khiển bàn phím ma trận #include #include #include "serial.h" #include "lcd.h" #include //===================== MAIN ===================================// void main(void) { InitSerial(); // Initialize serial port init_LCD(); DelayMs(250); lcd_puts(1,"www.Hlab.com.vn"); lcd_puts(2,"E51DK1 Demo rev1.0"); while(1) { menu(); } } Titans Technology | www.titans.com.vn Copyright © 2013, Titans Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi với Kit phát triển 8051 //================ DEMO =======================================// char demo_scankey() { unsigned char but_value,old_but_value; char c; while(1) { KeyPad_Port=0xff; //quet hang KeyCol0=0; KeyCol1=1; KeyCol2=1; KeyCol3=1; but_value=0; if(KeyRow0==0) { while(KeyRow0==0); but_value='1'; } else if(KeyRow1==0) { while(KeyRow1==0); but_value='2'; } else if(KeyRow2==0) { while(KeyRow2==0); but_value='3'; } else if(KeyRow3==0) { while(KeyRow3==0); but_value='A'; } //quet hang KeyCol0=1; KeyCol1=0; KeyCol2=1; KeyCol3=1; if(KeyRow0==0) { while(KeyRow0==0); but_value='4'; } else if(KeyRow1==0) { while(KeyRow1==0); Titans Technology | www.titans.com.vn Copyright © 2013, Titans Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi với Kit phát triển 8051 but_value='5'; } else if(KeyRow2==0) { while(KeyRow2==0); but_value='6'; } else if(KeyRow3==0) { while(KeyRow3==0); but_value='B'; } //quet hang KeyCol0=1; KeyCol1=1; KeyCol2=0; KeyCol3=1; if(KeyRow0==0) { while(KeyRow0==0); but_value='7'; } else if(KeyRow1==0) { while(KeyRow1==0); but_value='8'; } else if(KeyRow2==0) { while(KeyRow2==0); but_value='9'; } else if(KeyRow3==0) { while(KeyRow3==0); but_value='C'; } //quet hang KeyCol0=1; KeyCol1=1; KeyCol2=1; KeyCol3=0; if(KeyRow0==0) { while(KeyRow0==0); but_value='*'; } else if(KeyRow1==0) { while(KeyRow1==0); but_value='0'; Titans Technology | www.titans.com.vn Copyright © 2013, Titans Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi với Kit phát triển 8051 } else if(KeyRow2==0) { while(KeyRow2==0); but_value='#'; } else if(KeyRow3==0) { while(KeyRow3==0); but_value='D'; } if(but_value!=0) { if(but_value!=old_but_value) { printf("\n\rReadkey: "); putc(but_value); printf(" -> Press [e] to exit!"); old_but_value=but_value; } } else old_but_value=0; //neu nhan phim esc thi quay lai demo chinh if(kbhit())//lay fim nhan non-block { c=getc(); if(c=='e') return 0; } } }  Ghi : Code lược bỏ số hàm phụ,để có source code đầy đủ, vui lòng xem CDROM Example giao tiếp với Text LCD 16x2: a) Mô tả phần cứng: E51DK1 có tích hợp “Text LCD 16x2” rõ nét hỗ trợ cho việc debug hay hiển thị thông số trình lập trình Titans Technology | www.titans.com.vn Copyright © 2013, Titans Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi với Kit phát triển 8051 Hình 4: Khối LCD 16x2 Khối LCD kết nối với vi điều khiển 8051 sau: Hình 5: Sơ đồ kết nối LCD LCD LCD RW LCD RS LCD D4 LCD D5 LCD D6 LCD D7 Titans Technology | www.titans.com.vn Copyright © 2013, Titans Technology 89V51Rx2 P0.0 P0.1 P0.4 P0.5 P0.6 P0.7 E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi với Kit phát triển 8051 } //================ ADC DEMO=============================// void menu() { char c; c=0; buzz=1; demo_adc(); } unsigned char ADC_read() { unsigned char temp; ADC_CS = 0; ADC_WR = 0; ADC_WR = 1; while(ADC_INT); ADC_RD = 0; temp = ADC_buffer; while(temp!=ADC_buffer); ADC_RD = 1; return temp; } char demo_adc () { char a; int t; unsigned char temp; temp = ADC_read(); while(1) { printf("\n\rADC read: "); temp = ADC_read(); putnum(temp); printf(" -> Press [e] to exit!"); t = 0; while(t>4]; p++; *p = ASCII[0x0f & TIME.DATE]; p++; *p = '/'; p++; *p = ASCII[(0xf0 & TIME.MONTH)>>4]; p++; *p = ASCII[0x0f & TIME.MONTH]; p++; *p = '/'; p++; *p = '2'; p++; *p = '0'; p++; *p = ASCII[(0xf0 & TIME.YEAR)>>4]; p++; *p = ASCII[0x0f & TIME.YEAR]; Titans Technology | www.titans.com.vn Copyright © 2013, Titans Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi với Kit phát triển 8051 p++; *p = ' '; p++; *p = ' '; p++; *p = ASCII[(0xf0 & TIME.HOUR)>>4]; p++; *p = ASCII[0x0f & TIME.HOUR]; p++; *p = ':'; p++; *p = ASCII[(0xf0 & TIME.MIN)>>4]; p++; *p = ASCII[0x0f & TIME.MIN]; p++; *p = ':'; p++; *p = ASCII[(0xf0 & TIME.SEC)>>4]; p++; *p = ASCII[0x0f & TIME.SEC]; }  Ghi : Code lược bỏ số hàm phụ,để có source code đầy đủ, vui lòng xem CDROM Trên demo chức hàm giao tiếp / cấu hình ngoại vi sản phẩm E51DK1 Titans Technology.Chúng Hy vọng giúp bạn có nhìn tổng quát vi điều khiển bit nói chung dòng chip 8051 nói riêng cách đơn giản nhanh Chúc bạn thành công 25 Titans Technology | www.titans.com.vn Copyright © 2013, Titans Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi với Kit phát triển 8051 Reference Google.com Internet source 26 Titans Technology | www.titans.com.vn Copyright © 2013, Titans Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi với Kit phát triển 8051 Mục lục E51DK1 Examples Tutorial Hướng dẫn lập trình 8051 Kit thí nghiệm E51DK1 I Giới thiệu: II Lập trình giao tiếp ngoại vi 8051: Giới thiệu kit phát triển 8051 Example điều khiển bàn phím ma trận 4x4: a) Mô tả phần cứng: b) Mô tả example demo: Example giao tiếp với Text LCD 16x2: a) Mô tả phần cứng: b) Mô tả firmware: 10 Example ADC: 12 a) Mô tả phần cứng: 12 b) Mô tả firmware: 13 Example Giao tiếp UART: 15 a) Mô tả phần cứng: 15 b) Mô tả firmware: 16 Example lập trình giao tiếp chuẩn I2C với EEPROM IC ds1307(Real Time Clock) : 18 a) Mô tả phần cứng: 18 b) Mô tả firmware: 20 Reference 26 Mục lục 27 27 Titans Technology | www.titans.com.vn Copyright © 2013, Titans Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi với Kit phát triển 8051 Copyright © 2009 Titans Technology Tài liệu thuộc quyền Titans Technology (www.titans.com.vn), hy vọng bạn sử dụng với mục đích hình thức bao gồm chép, in, copy, trích dẫn… cần phải ghi rõ xuất xứ nguồn gốc từ website Hãy truy xuất trang web thường xuyên để có cập nhật thiết bị website www.titans.com.vn 28 Nếu có ý kiến đóng góp cần hỗ trợ, tư vấn thêm thông tin sản phẩm, vui lòng gởi mail đến địa email: support@titans.com.vn Titans Technology | www.titans.com.vn Copyright © 2013, Titans Technology E51DK1 Tutorial [...]... Tutorial E51DK1 Tutorial -Lập trình ngoại vi cơ bản với Kit phát triển 8051 Reference 1 Google.com 2 Internet source 26 Titans Technology | www.titans.com.vn Copyright © 2013, Titans Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi cơ bản với Kit phát triển 8051 Mục lục E51DK1 Examples Tutorial 0 Hướng dẫn lập trình 8051 cơ bản trên Kit thí nghiệm E51DK1 0 I Giới thiệu:... Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi cơ bản với Kit phát triển 8051 Hình 15: Sơ đồ kết nối của EEPROM Hình 16: sơ đồ kết nối của RTC 19 I2C SDA SCL 89V51Rx2 P3.7 P3.6 Titans Technology | www.titans.com.vn Copyright © 2013, Titans Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi cơ bản với Kit phát triển 8051 b) Mô tả firmware:  EEPROM: Mở folder tên E51DK1- test-Epprom”,chạy... Titans Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi cơ bản với Kit phát triển 8051  Ghi chú : Code đã lược bỏ một số hàm phụ,để có source code đầy đủ, vui lòng xem trong CDROM  RTC: Mở folder tên E51DK1- test- Ds1307”,chạy file E51DK1. uvproj”,nhấn F7 để build project,cuối cùng là nạp file E51DK1. hex” Sau khi nạp xong file hex các bạn tiến hành theo dõi kết quả trên màn hình Console... Titans Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi cơ bản với Kit phát triển 8051 ADC ADC D0 ADC D1 ADC D2 ADC D3 ADC D4 ADC D5 ADC D6 ADC D7 ADC INT ADC CS ADC RW ADC RD 89V51Rx2 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P3.2 P3.3 P3.6 P3.7 b) Mô tả firmware: Mở folder E51DK1- test-ADC”, chạy file E51DK1. uvproj”,nhấn F7 để build project và nạp file E51DK1. hex” Trên màn hình Console... www.titans.com.vn Copyright © 2013, Titans Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi cơ bản với Kit phát triển 8051  Ghi chú : Code đã lược bỏ một số hàm phụ,để có source code đầy đủ, vui lòng xem trong CDROM 6 Example lập trình giao tiếp chuẩn I2C với EEPROM và IC ds1307(Real Time Clock) : a) Mô tả phần cứng: Khối External EEPROM ngoài của E51DK1 cho phép lưu các thông tin quan trọng.. .E51DK1 Tutorial -Lập trình ngoại vi cơ bản với Kit phát triển 8051 b) Mô tả firmware: Mở folder E51DK1- test-LCD”, chạy file E51DK1. uvproj”,nhấn F7 để build project và nạp file E51DK1. hex” Trên màn hình Console sẽ xuất hiện các dòng giới thiệu,sau đó bạn quan sát màn hình LCD để xem kết quả Các... www.titans.com.vn Copyright © 2013, Titans Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi cơ bản với Kit phát triển 8051 void menu() { char c; c=0; buzz=1; demo_rtc(); } 23 char demo_rtc() { char a; unsigned char temp; char array[20]; printf("\n\r//=========================================\\"); printf("\n\r| |"); printf("\n\r| Test Realtime clock E51DK1 Kit rev1.0 |"); printf("\n\r| |"); printf("\n\r|... 2013, Titans Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi cơ bản với Kit phát triển 8051 5 Example Giao tiếp UART: a) Mô tả phần cứng: E51DK1 trang bị 1 bộ ngoại vi giao tiếp nối tiếp UART (RS232) có thể sử dụng cho việc giao tiếp với máy tính,các ngoại vi khác,cảm biến… Hình 8 :Khối RS232 Để truy xuất UART,ta sử dụng cấu hình theo phần cứng giữa UART và chip 8051 như sau: 15 Titans... 16 6 Example lập trình giao tiếp chuẩn I2C với EEPROM và IC ds1307(Real Time Clock) : 18 a) Mô tả phần cứng: 18 b) Mô tả firmware: 20 Reference 26 Mục lục 27 27 Titans Technology | www.titans.com.vn Copyright © 2013, Titans Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi cơ bản với Kit phát triển 8051 Copyright ©... InitSerial(); // Initialize serial port init_LCD(); DelayMs(250); lcd_puts(1,"www.Hlab.com.vn"); lcd_puts(2, "E51DK1 Demo rev1.0"); while(1) { menu(); Titans Technology | www.titans.com.vn Copyright © 2013, Titans Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi cơ bản với Kit phát triển 8051 } //================ ADC DEMO=============================// void menu() { char c; c=0; buzz=1; demo_adc(); ... Technology E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi với Kit phát triển 8051 Mục lục E51DK1 Examples Tutorial Hướng dẫn lập trình 8051 Kit thí nghiệm E51DK1 I Giới thiệu:.. .E51DK1 Tutorial -Lập trình ngoại vi với Kit phát triển 8051 Hình 1: Kit phát triển 8051 E51DK1  Thông tin khối E51DK1: : Khối vi điều khiển 8051 gói : Khối vi điều khiển 8051 gói :... P0.7 E51DK1 Tutorial E51DK1 Tutorial -Lập trình ngoại vi với Kit phát triển 8051 b) Mô tả firmware: Mở folder E51DK1- test-LCD”, chạy file E51DK1. uvproj”,nhấn F7 để build project nạp file E51DK1. hex”

Ngày đăng: 29/02/2016, 09:37

Từ khóa liên quan

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

Tài liệu liên quan