Nội dung chính: 1/ Cơ bản về vi điều khiển 8051 2/ Ứng dụng vi điều khiển 8051 để mô phỏng đồng hồ thể thao Mục lục Chương I: Lý thuyết vi điều khiển 8051: Phần I: Giới thiệu vi điều khiển Intel 8051 Phần II: Cấu tạo của vi điều khiển 8051 Phần III: Các thanh ghi của bộ vi điều khiển 8051 Phần IV: Phân đoạn bộ nhớ của vi điều khiển 8051 Phần V: Tập lệnh của vi điều khiển 8051 Phần VI: Ngắt trong vi điều khiển 8051 Chương II: Ứng dụng vi điều khiển 8051 mô phỏng đồng hồ thể thao Phần I: Linh kiện Phần II:Thiết kế mạch
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THÔNG TIN BÀI TẬP KỸ THUẬT VI XỬ LÍ Đề tài: “Mơ đồng hồ bấm thể thao sử dụng vi điều khiển 8051” Giảng viên hướng dẫn : Thực : Lớp : KỸ THUẬT VI XỬ LÍ Khố : Hệ : ĐẠI HỌC CHÍNH QUY Hà Nội, tháng 11 /201X HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THƠNG TIN ĐỀ TÀI BÀI TẬP TỔ : Khố: Ngành đào tạo: Cơng Nghệ Thơng Tin Hệ đào tạo: Chính quy 1/ Tên tập: Mô đồng hồ bấm thể thao xử dụng vi điều khiển 8051 2/ Nội dung chính: 1/ Cơ vi điều khiển 8051 2/ Ứng dụng vi điều khiển 8051 để mô đồng hồ thể thao 3/ Ngày giao tập: 4/ Ngày nộp tập: GIÁO VIÊN HƯỚNG DẪN (Ký, ghi rõ họ tên) NHẬN XÉT (Của giảng viên hướng dẫn) ………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… Page Nhóm thực hiện:Tổ 09 Page Nhóm thực hiện:Tổ 09 DANH MỤC HÌNH VẼ Page Hình 1.1.1 IC 8051 Hình 1.1.2 Sơ đồ chân IC 8051 Hình 1.2.1 Sơ đồ tổng quát khối chức 8051 Hình 1.3.1 Các ghi đặc biệt Hình 1.3.2 Thanh ghi trạng thái chương trình PSW Hình 1.4.1 Tổ chức nhớ 12 Hình 2.1.1 Sơ đồ cấu tạo IC AT89C51 22 Hình 2.1.2: IC AT89C51 23 Hình 2.1.3: Sơ đồ chân IC AT89C51 23 Hình 2.1.4: Hình ảnh led đoạn thực tế mơ 25 Hình 2.1.5: Sơ đồ chân led đoạn Anode chung 25 Hình 2.1.6 Sơ đồ chân LED Cathode chung .26 Hình 2.1.7: Led đoạn anode chung mơ 27 Hình 2.1.8: Cổng NOT 28 Hình 2.1.9: Nút Ấn 28 Hình 2.1.10: Mạch Mơ Đồng hồ thể thao dùng 8051 29 Nhóm thực hiện:Tổ 09 Page Kĩ thuật vi xử lí Nhóm thực hiện:Tổ 09 Kĩ thuật vi xử lí Vi điều khiển 8051 họ vi điều khiển bit Intel phát triển vào năm 1981 Đây họ vi điều khiển phổ biến sử dụng tồn giới Bộ vi điều khiển cịn gọi hệ thống chip có 128 byte RAM, 4Kbyte ROM, Timers, cổng nối tiếp cổng chip CPU hoạt động cho bit liệu thời điểm 8051 xử lý bit Trong trường hợp liệu lớn bit, phải chia thành phần để CPU xử lý dễ dàng Hầu hết nhà sản xuất có chứa 4Kbyte ROM số lượng ROM vượt 64 K byte -Một ALU 8-bit, ghi tích lũy ghi 8-bit, vi điều khiển 8-bit -Bus liệu 8-bit - truy cập bits liệu hoạt động -Bus địa 16-bit - truy cập 216 vị trí nhớ 64kB (65536 vị trí) cho nhớ RAM ROM -RAM chip - 128 bytes (bộ nhớ liệu) -ROM chip - kbytes (bộ nhớ chương trình) -Hai định thời/đếm 16-bit -Đơn vị thu/phát bất đồng phổ biến UART hồn tồn song cơng -Sáu nguyên nhân ngắt với mức ưu tiên -Chế độ tiết kiệm lượng (trên số phiên bản) -32 chân I/O riêng biệt (4 nhóm nhóm chân I/O) truy cập riêng rẽ Sơ đồ chân 8051: Nhóm thực hiện:Tổ 09 Page Hình 1.1.1 IC 8051 Kĩ thuật vi xử lí Page Hình 1.1.2 Sơ đồ chân IC 8051 Nhóm thực hiện:Tổ 09 Page Kĩ thuật vi xử lí Nhóm thực hiện:Nhóm 09 Hình 1.2.1 Sơ đồ tổng qt khối chức 8051 Kĩ thuật vi xử lí Page 20 Nếu EA = khơng có ngắt đáp ứng cho dù bit tương ứng IEcó giá trị cao Bit D7 - EA ghi IE phải bật lên cao phép bit lại ghi hoạt động Nếu EA = tất ngắt phép đáp ứng bit tương ứng chúng IE có mức cao Kĩ thuật vi xử lí CHƯƠNG II MÔ PHỎNG ĐỒNG HỒ THỂ THAO SỬ DỤNG VĐK 8051 Phần 1: Linh kiện a IC AT89C51 Mô tả: AT9C51 hệ vi tính bit đơn chíp CMOS có hiệu suất cao,cơng suất nguồn tiêu thụ thấp có 4Kbyte nhớ ROM Flash xố lập trình Chip sản xuất dựa vào cơng nghệ nhớ khơng nội dung có độ tích hợp cao Atmel Các đặc điểm AT89C51 tóm tắt sau: - KB nhớ, lập trình, có khả tới 1000 chu kỳ ghi xoá - Tần số hoạt động từ: 0Hz đến 24 MHz - mức khóa nhớ lập trình - Timer/counter 16 Bit - 128 Byte RAM nội - Port xuất /nhập I/O bit - Giao tiếp nối tiếp - 64 KB vùng nhớ mã - 64 KB vùng nhớ liệu ngoại - Xử lý Boolean (hoạt động bit đơn) - 210 vị trí nhớ định vị bit - s cho hoạt động nhân chia Page 21 Cấu tạo: Hình 2.1.1 Sơ đồ cấu tạo IC AT89C51 Kĩ thuật vi xử lí Sơ đồ chân: Hình 2.1.2: IC AT89C51 IC AT89C51 Hình 2.1.3: Sơ đồ chân Vi điều khiển 89C51 có tất 40 chân( DIP 40), có 24 chân có tác dụng kép ( chân có chức ), đường hoạt động đường nhập xuất điều khiển IO phần bus liệu bus địa để tải địa liệu giao tiếp với nhớ Các Port: - Port 0: chân 32-39 (P0.0-P0.7) có chức Xuất liệu khơng dùng nhớ ngồi Bus địa byte thấp liệu có sử dụng nhớ ngồi - Port 1: chân 1-8(P1.0-P1-7) có chức làm đường điều khiển nhập xuất IO - Port 2: chân 21-28(P2.0-P2.7) có chức Xuất liệu khơng dùng nhớ ngồi Bus địa byte cao có sử dụng nhớ ngồi - Port 3: chân 10-17(P3.0-P3.7) có nhiều chức có liên hệ với tính đặc biệt IC P3.5 T1 P3.6 P3.7 T0 Chức Ngõ vào Port nối tiếp Ngõ Port nối tiếp Ngõ vào ngắt Ngõ vào ngắt Ngõ vào bên định thời Ngõ vào bên định thời Điều kiện ghi nhớ liệu Điều kiện đọc nhớ liệu 22 Tên RxD TxD Page Chân P3.0 P3.1 P3.2 P3.3 P3.4 Kĩ thuật vi xử lí Bảng 2.1.1 Chức chân Port Page 23 Các tín hiệu điều khiển: - Ngõ tín hiệu PSEN (Program store enable): chân 29 Cho phép đọc nhớ chương trình mở rộng Nối với chân OE RD EPROM để điều khiển đọc mã lệnh Khi giao tiếp với nhớ chương trình mở rộng dùng PSEN, khơng chân SPEN bỏ trống Các mã lệnh chương trình đọc từ EPROM qua bus liệu đưa vào ghi lệnh bên 89C51 để giải mã lệnh - Ngõ tín hiệu điều khiển ALE( Address Latch Enable) chân 30: Khi dùng nhớ mở rộng, ALE điều khiển mạch giải mã đa hợp để tách đường địa (A0-A7) liệu (D0-D7) Khi xung ALE có tần số = 1/6 Tần số thạch anh Có thể dùng làm xung Clock cấp cho IC khác - Ngõ tín hiệu EA (External Access) chân 31 Nếu EA mức cao VDK thực chương trình nhớ Nếu EA mức thấp VDK thực chương trình nhớ ngồi - Ngõ tín hiệu RST( Reset) chân :Mức cao chân hai chu kỳ máy dao động hoạt động reset AT89C51 - Chân VCC : chân 40 nối lên nguồn 5v - Chân GND : Chân 20 nối đất - Chân XTAL XTAL :Là hai ngõ vào khuyếch đại đảo mạch dao động , cấu hình dùng dao động chip b Led đoạn Led đơn: LED (viết tắt Light Emitting Diode, có nghĩa điốt phát quang) diốt có khả phát ánh sáng hay tia hồng ngoại, tử ngoại Cũng giống điốt, LED cấu tạo từ khối bán dẫn loại p ghép với khối bán dẫn loại n Led đoạn: tạo từ LED đơn mắc chung chân Anod Cathode chung với nối lên nguồn đất, chân lại cấp mức logic LED hoạt động Kĩ thuật vi xử lí Hình 2.1.4: Hình ảnh led đoạn thực tế mô Đối với dạng Led anode chung, chân COM phải có mức logic muốn sáng Led tương ứng chân a – g, dp mức logic Page 24 Hình 2.1.5: Sơ đồ chân led đoạn Anode chung Kĩ thuật vi xử lí Số a b c d e f g dp Mã hex 0 0 0 1 03h 1 0 1 1 9Fh 0 0 1 25h 0 0 1 0Dh 0 1 0 99h 0 0 49h 0 0 41h 0 1 1 1Fh 0 0 0 01h 0 0 0 09h Bảng 2.1.2 Bảng mã cho Led Anode chung(a MSB, dp LSB) Số dp g f e d c b a Mã hex 1 0 0 0 0C0h 1 1 1 0 0F9h 1 0 0 0A4h 1 0 0 0B0h 0 1 0 99h 0 0 92h 0 0 82h 1 1 0 0F8h 0 0 0 80h 0 0 0 90h Bảng 2.1.3 Bảng mã cho Led Anode chung (a LSB, dp MSB) 25 Đối với dạng Led Cathode chung, chân COM phải có mức logic muốn sáng Led tương ứng chân a – g, dp mức logic Page Hình 2.1.6 Sơ đồ chân LED Cathode chung Số a b c d e 1 1 Kĩ thuật vi xử lí 1 0 1 1 B 1 1 ả 1 0 n 1 g 1 1 1 0 1 1 1 1 2.1.4 Bảng mã cho Led Cathode Số dp g f e d c 0 1 1 0 0 1 0 1 1 0 1 1 1 1 0 0 1 1 1 1 2.1.5 Bảng mã cho Led Cathnode chung b a Mã hex 1 3Fh 06h 1 5Bh 1 4Fh 66h 6Dh 7Dh 1 07h 1 7Fh 1 6Fh (a LSB, dp MSB) Modul Led đoạn: led đoạn nối chung chân a-g , chân COM nối với chân 1-4 Hình 2.1.7: Led đoạn anode chung mơ 26 c Cổng Logic NOT: có chức thực phép đảo logic , gọi cổng inverter Page B ả n g f g dp Mã hex 0 0FCh 0 60h 0DAh 0F2h 1 66h 1 0B6h 1 0BEh 0 0E0h 1 0FEh 1 0F6h chung (a MSB, dp LSB): Kĩ thuật vi xử lí Hình 2.1.8: Cổng NOT d Nút ấn: dùng để đóng ngắt mạch điện Hình 2.1.9: Nút Ấn Page 27 Phần 2:Thiết kế mạch a Sơ đồ mạch Kĩ thuật vi xử lí Hình 2.1.10: Mạch Mô Đồng hồ thể thao dùng 8051 Mô tả: Mạch sử dụng IC AT89C51, Led đoạn số dùng để hiển thị, cổng NOT, nút ấn với chức năng: Start, Pause, Reset Mạch sử dụng Timer cho quét Led đoạn, Time cho việc delay xử lí nút ấn đơn giản b Phần mềm sử dụng: Proteus cho phép mô hoạt động mạch điện tử bao gồm phần thiết kế mạch viết chương trình điều khiển cho họ vi điều khiển, mô cho hầu hết linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho MCU PIC, 8051, AVR, Motorola Phần mềm bao gồm chương trình: ISIS cho phép mô mạch ARES dùng để vẽ mạch in Proteus công cụ mô cho loại Vi Điều Khiển tốt, hỗ trợ dòng VĐK PIC, 8051, PIC, dsPIC, AVR, HC11, MSP430, ARM7/LPC2000 … giao tiếp I2C, SPI, CAN, USB, Ethenet,… cịn mơ mạch số, mạch tương tự cách hiệu Keil C chương trình hỗ trợ đầy đủ việc lập trình cho vi điều khiển họ 8051 việc biên dịch ngơn ngữ C bạn biên dịch dạng ASM c Lưu đồ thuật toán Start Quét Led, Hiển thị Đ RESET RESET Bộ đếm S S Thoát PAUSE End SĐ Đ Page START 28 S Đ Bắt đầu đếm Tạm dừng Kĩ thuật vi xử lí Page 29 d Code: #include sbit b1 =P1^5 ; // set cac nut an sbit b2 =P1^6; sbit b3 =P1^7; int phut,giay; unsigned char Quet[4]={1,2,4,8}; //Quet Anot led doan unsigned char Data[4], q; unsigned int dem=0; unsigned char code led[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//M ang LED doan void delay(int time){// delay 50ms int j=0; for(j=0;j4)q=0; } Kĩ thuật vi xử lí void chuyen_doi(){ //Ham chuyen doi so dem sang phut giay phut=dem/60; giay=dem%60; Data[0]=led[phut/10]; Data[1]=led[phut%10]; Data[2]=led[giay/10]; Data[3]=led[giay%10]; } void quet_nut_an() { if(b1==0){ if(b1==0)while(b1==0); // chong an nut nhiêu lan while(b2&&b3) { dem++; chuyen_doi(); delay(20); } } if(b2==0){ if(b3==0) while(b3==0) while(b1&&b3) { ET0=1; // dung timer EA=1; // ngat timer chuyen_doi(); } } if(b3==0){ if(b2==0) while(b2==0); while(b1){ ET0=1; EA=1; dem=0; chuyen_doi();} } } Page 30 void main(){ TMOD=0x12;//Timer0 mode 16bit TH0=0xf6; //Khoi tao gia tri cho timer TL0=0x3c; //delay(5); TR0=1;//Khoi dong timer0 ET0=1;//Ngat timer0 EA=1;//Cho phep ngat Kĩ thuật vi xử lí while(1){ quet_nut_an(); } Page 31 } Kĩ thuật vi xử lí KẾT LUẬN Trên đây, em hồn thành nội dung tập lớn, chưa thực hoàn thiện song đạt kết theo đề cương đề ra, tóm tắt lại sau: Chương giới thiệu tổng quan vi điều khiển 8051.Trong gồm có phần : +Cấu tạo vi điều khiển 8051 +Tập lệnh +Các chế độ định địa +Tập ghi +Hệ thống ngắt Chương thứ hai, nhóm em trình mơ sản phẩm đồng hồ thể thao sử dụng vi điều khiển 8051 Nội dung đề tài nhiều nhược điểm nhiều phần thiếu sót, chúng em mong nhận nhận xét, bổ sung thầy để đề tài hoàn thiện đầy đủ Một lần nữa, chúng em xin chân thành cảm ơn! Kĩ thuật vi xử lí DANH MỤC TÀI LIỆU THAM KHẢO -Tiếng việt: +Tài liệu 8051: https://www.slideshare.net/dtrhung_vtbk/cu-trc-v-lp-trnh-vi-iu-khin-8051 +Tài liệu tổ chức nhỡ vi điều khiển 8051: https://sites.google.com/site/machdientu/1.1t %E1%BB%95ch%E1%BB%A9cb%E1%BB%99nh%E1%BB%9Bh%E1%BB%8Dvi %C4%91i%E1%BB%81ukhi%E1%BB%83n80512 +Tài liệu ghi đặc biệt 8051: https://sites.google.com/site/machdientu/1.2c%C3%A1cthanhghi%C4%91%E1%BA%B7cbi %E1%BB%87t -Tiếng Anh: https://www.edsim51.com/8051Notes/8051/serial.html Kĩ thuật vi xử lí ... IC 8051 Kĩ thuật vi xử lí Page Hình 1.1.2 Sơ đồ chân IC 8051 Nhóm thực hiện:Tổ 09 Page Kĩ thuật vi xử lí Nhóm thực hiện:Nhóm 09 Hình 1.2.1 Sơ đồ tổng quát khối chức 8051 Kĩ thuật vi xử lí PHẦN... 09 Page Kĩ thuật vi xử lí Nhóm thực hiện:Tổ 09 Kĩ thuật vi xử lí Vi điều khiển 8051 họ vi điều khiển bit Intel phát triển vào năm 1981 Đây họ vi điều khiển phổ biến sử dụng toàn giới Bộ vi điều... chung (a MSB, dp LSB): Kĩ thuật vi xử lí Hình 2.1.8: Cổng NOT d Nút ấn: dùng để đóng ngắt mạch điện Hình 2.1.9: Nút Ấn Page 27 Phần 2:Thiết kế mạch a Sơ đồ mạch Kĩ thuật vi xử lí Hình 2.1.10: Mạch