Bài tập lớn vi điều khiển

26 123 0
Bài tập lớn vi điều khiển

Đ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

Khối điều khiển ngắt với 2 nguồn ngắt ngoài và 4 nguồn ngắt trongBộ lập trình (ghi chương trình lên Flash ROM) cho phép người sử dụng có thể nạp các chương trình cho chíp mà không cần đến bộ nạp chuyên dụngBộ chia tần số với hệ số chia là 12 4 cổng xuất nhập với 32 chân

Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Phần : Giới thiệu chung vi điều khiển 8051 Vi điều khiển 8051 Khối điều khiển ngắt với nguồn ngắt nguồn ngắt Bộ lập trình (ghi chương trình lên Flash ROM) cho phép người sử dụng nạp chương trình cho chíp mà khơng cần đến nạp chun dụng Bộ chia tần số với hệ số chia 12 cổng xuất nhập với 32 chân Port (P0.0 – P0.7 ) : Port gồm chân, chức xuất nhập, port bú liệu địa (AD0 – AD7), chức sử dụng 8051 giao tiếp với thiết bị ngồi có kiến trúc bú ngư vi mạch nhớ … Port (P1.0 – P1.7) : Có chức xuất nhập theo bit theo byte Bên cạnh chân P1.5, P1.6, P1.7 dùng để nạp ROM theo chuẩn ÍP, chan P1.0 P1.1 dùng cho Timer Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Port2: cổng vào/ra byte cao bus địa sử dụng nhớ Port 3: chức xuất nhập có chức riêng Bit P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 Tên RXD TXD INT0 INT1 T0 T1 /WR /RD Chức Dữ liệu nhận cho port nối tiếp Dữ liệu truyền cho port nối tiếp Ngắt bên Ngắt bên Ngõ vào Timer/counter Ngõ vào Timer/counter Xung ghi nhớ liệu Xung đọc nhớ liệu Chân / PSEN ( Program Store Enable) : chân điều khiển đọc chương trình nhớ ngồi phép đọc byte mã lệnh ROM ngoài/ PSEN mức thấp thời gian đọc lệnh Mã lệnh đọc từ nhớ qua bus liệu (port 0) ghi lệnh để giải mã Khi thực chương trình ROM nội thi /PSEN mức cao Chân ALE (Address Latch Enable) : ALE tín hiệu điều khiển chốt địa có tần số 1/6 tần số dao động vi điều khiển Tín hiệu ALE dùng phép vi mạch chốt bên 74373,74573 chốt byte địa thấp khỏi bus đa hợp địa chỉ/dữ liệu (port 0) Chân /EA(External Access) : tín hiệu cho phép chọn nhớ chương trình nhớ ngồi hay vi điều khiển Nếu /EA mức cao (nối với Vcc) vi điều khiển thi hành chương trình ROM nội Nếu /EA mức thấp (nối GND) vi điều khiển thi hành chương trình nhớ ngồi XTAL1,XTAL2 : AT89S52 có dao động chíp, thường nối với dao động thạch anh có tần số lớn 33MHz, thông thường 12MHZ Vcc,GND : AT89S52 dùng nguồn chiều có độ dài điện áp từ 4V đến 5,5V cấp qua chân 40 20 Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Cấu trúc bên AT89S52 HOẠT ĐỘNG ĐỊNH THỜI CỦA AT89S52 Vi điều khiển AT89S52 có định thời 16 bit timer có chế độ hoạt động, timer có chế độ hoạt động Các định thời dùng để định khoảng thời gian ( hẹn giờ), đếm kiện xảy bên vi điều khiển tạo tốc độ baud cho cổng nối tiếp vi điều khiển CÁC THANH GHI CỦA BỘ ĐỊNH THỜI Các ghi Timer Timer Thanh ghi chế độ định thời (TMOD) Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Thanh ghi TMOD chứa nhóm bit dùng để đặt chê độ làm việc cho Timer Timer Thanh ghi TMOD GATE1 C/#T1 Bit Ký hiệu GATE1 C/#T1 M1 M0 GATE0 C/#T0 M1 M0 M1 M0 GATE0 C/#T0 M1 M0 Chức Bit điều khiển cổng Khi set lên 1, định thời hoạt động INT1 mức cao Bt chọn chức đếm định thời 1= đếm kiện 0= định thời khoảng thời gian Bit chọn chế độ thứ Bit chọn chế độ thứ 00 chế độ – Timer 13 bit 01 chế độ – Timer 16 bit 10 chế độ – bit tự động nạp lại 11 chế độ – tạch Timer Bit điều khiển cổng cho định thời Bit chọn chức đện định thời cho đình thời Bit chọn chế độ thứ cho định thời Bit chọn chế độ thứ cho định thời Thanh ghi điều khiển Timer (TCON) Thanh ghi TCON chứa bit trạng thái bit điều khiển cho Timer Timer TF1 TR1 Bit TCON TCON.7 TF1 TCON.6 TR1 TF0 TR0 IT1 IE1 IT0 IE0 Chức Điều khiển định thời Cờ tràn định thời Cờ set phần cứng tràn, xóa phần mềm, phần cứng xử lý trỏ đến trình phục vụ ngắt Bit điều khiển hoạt động định thời Bit Ký hiệu Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] TCON.1 IE0 set hay xóa phần mềm để điều khiển định thời hoạt động hay ngưng Cờ tràn định thời Bit điều khiển hoạt động định thời Cờ ngắt bên ngồi ( kích khởi cạnh) Cờ set phần cứng có cạnh âm ( cuống) xuất chan INT1, xóa phần mềm, phần cứng CPU trỏ đến trình phục vụ ngắt Cờ ngắt bên ngồi (kích khởi cạnh mức) Cờ set hay xóa phần mềm xảy cạnh âm mức thấp chân ngắt ngồi Cờ ngắt bên ngồi 0( kích khởi cạnh) TCON.0 IT0 Cờ ngắt bên ( kích khởi cạnh mức ) TCON.5 TF0 TCON.4 TR0 TCON.3 IE1 TCON.2 IT1 CÁC CHẾ ĐỘ ĐỊNH THỜI CỦA TIMER VÀ 1 Chế độ : chế độ định thời 13 bit, chế độ tương thích với vi điều khiển trước đó, ứng dụng chế độ khơng thích hợp Trong chế độ định thời dùng 13 bit (8 bit TH bit cao TL) để chứa cấc giá trị đếm, bit thấp TL không sử dụng Chế độ : Trong chế độ này, timer dùng ghi TH TL để chứa giá trị đếm, chế độ gọi chế độ định thời 16 bit Bit MSB la bit D7 TH bit LSB D0 TL Chế độ : Trong chế độ 2, định thời dung TL để chứa giá trị đếm TH để chứa giá trị nạp chế độ gọi chế độ tự nạp lại bit Sau đếm 255 xảy tràn, TF đặt đồng thời giá trị timer tự động nạp lại bằn nội dung TH Chế độ : Trong chế độ 3, Timer tách thành Timer hoạt động độc lập chế độ cung cấp cho vi điều khiển thêm Timer TỔ CHỨC NGẮT Ở AT89S52 Bảng tóm tắt ngắt AT89S52 sau: STT Tên Mô tả Cờ ngắt ngắt Thanh ghi Vector ngắt Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] INT0 Ngắt ngồi có tín hiệu tích cực theo kiểu chọn chân P3.2 Timer Ngắt tràn timer giá trị timer tràn từ giá trị max giá trị INT1 Ngắt ngồi có tín hiệu tích cực theo kiểu chọn chân P3.3 Timer Ngắt tràn timer giá trị timer1 tràn từ giá trị max giá trị Serial Ngắt cổng nối tiếp vi Port điều khiển nhận truyền xong byte cổng nối tiếp Timer2 Ngắt tràn timer giá trị timer tràn Thanh ghi IE EA - ET2 É ET1 IE0 chứa cờ TCON 0x0003 TF0 TCON 0x000B IE1 TCON 0x00013 TF1 TCON 0x001B TI, RI SCON 0x0023 TX2 EXT2 T2CON 002BH EX1 ET0 EX0 Bit IE.7 IE.6 IE.5 IE.4 IE.3 IE.2 Ký hiệu EA ET2 ES ET1 EX1 Địa bit AFH AEH ADH ACH ABH AAH Mơ tả Cho phép/ cấm tồn Khơng miêu tả Cho phép ngắt từ timer (8052) Cho phép ngắt từ port nối tiếp Cho phép ngắt từ Timer1 Cho phép ngăt IE.1 IE.0 ET0 EX0 A9H A8H Cho phép ngắt từ Timer Cho phép ngắt ngồi Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Ngắt timer AT89S52 có Timer la Timer Timer Các Timer la Timer 16 bit, giá trị đếm mã 65535 (đếm từ đến 65535) Ba timer có ngun lý hoạt động hồn tồn giống độc lập Các ngắt Timer xảy kiện tràn Timer, cờ tràn TFx đặt Khi ISR đáp ứng, cờ TFx tự động xóa phần mềm Ngắt cổng nối tiếp Ngắt cổng nối tiếp xảy cờ phát ngắt (TI) cờ ngắt thu (RI) đặt 1, ngắt phát xảy đệm truyền rỗng, ngắt thu xảy ký tự nhận xong đợi SBUF để đọc Các ngắt cổng nối tiếp khác ngắt timer, cờ gây ngắt port nối tiếp không bị xóa phần cứng CPU chuyển tới Ỉ có nguồn ngắt cổng nối tiếp TI RI, nguồn ngắt phải xác định ISR cờ tạo ngắt xóa phần mềm Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Phần : Bộ tạo xung IC NE 555 Khái quát IC 555 Cấu tạo nguyên lý hoạt động IC 55 Cấu tạo NE555 gồm OP-amp so sánh điện áp, mạch lật transistor để xả điện cấu tạo IC đơn giản hoạt động tốt Bên gồm điện trở mắc nối tiếp chia điện áp Vcc thành phần Cấu tạo tạo nên điện áp chuẩn Điện áp 1/3 Vcc nối vào chân dương Op-amp điện áp 2/3 Vcc nối vào chân âm Op-amp Khi điện áp chân nhỏ 1/3 Vcc, chân S= [1] FF kích Khi điện áp chân lớn 2/3 Vcc, chân R FF= [1] FF reset Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Chân : GND ( nối đất ) Chân : Trigger Input Chân : Out put (ngõ ra) Chân : Reset ( hồi phục) Chân : Control Voltage ( điện áp điều khiển) Chân : Threshold ( thềm ngưỡng) Chân : Discharge ( phóng điện) Chân : +Vcc ( nguồn dương)  Giải thích dao động : Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Ký hiệu mức mức thấp 0V, mức cao gần Vcc Mạch FF loại RS Flip-flop Khi S= [1] Q= [1] Ǭ = [0] Sau đó, S = [0] Q = [1] Ǭ = [0] Khi R = [1] Ǭ = [1] R = [1] Q = [0] Ǭ = [1], transistor mở dẫn, cực C nối đất Cho nên điệ áp không nạp vào tụ C, điện áp chân không vượt V2 Do lối Op-amp mức 0, FF không reset Giai đoạn ngõ mức : Khi bấm công tắc khởi động, chân mức điện áp chân (V-) nhỏ V1(V+), ngõ Op-amp mức nên S = [1] Q = [1] Ǭ = [0] Ngõ IC mức Khi Ǭ = [0], transistor tắt, tụ C tiếp tục nạp vào R, điện áp tụ tăng.Khi nhấn cơng tắc lần Op-amp có V- = [1] lớn V+ nên Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Phần : Hiển thị LCD -Hình dáng kết cấu chân LCD Hình dáng LCD thực tế - Kết cấu chân LCD -Cách ghép nối LCD với vi điều khiển 8051 sau: +Chân P2.0 đến P2.7 nối với chân liệu D0 –D7 LCD +Chân P2.0 nối tới chân RS LCD Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] +Chân P2.1 nối với chân R/W LCD +Chân P2.2 nối với chân E LCD + Chân P2.4 nối với chân D4 LCD + Chân P2.5 nối với chân D5 LCD + Chân P2.6 nối với chân D6 LCD + Chân P2.7 nối với chân D7 LCD -Phương pháp gửi mã lệnh liệu tới LCD  LCD 8051 hoạt động không đồng với nhau, 8051 xử lý nhanh LCD, sau lệnh cho LCD, 8051 phải đợi LCD thực xong lệnh trớc lệnh Để chờ LCD thực xong lệnh trớc ta có phương pháp đợc sử dụng để gửi mã lệnh liệu đến LCD:  - Phương pháp 1: Gửi lệnh liệu đến LCD với độ trễ, tức sau lện, 8051 phải đợi khoảng thời gian cố định, thời gian phải dài thời gian làm việc LCD (do nhà sản xuất quy định khoảng từ 37 us đến 1,52 ms) Phương pháp mô tả lưu đồ sau Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] BEGIN DBx = Data RW = [0] RS = [1] : Dữ liệu RS = [0] : Lệnh E = [1] E = [0] END  -Phương pháp 2: - Phương pháp 2:Gửi lệnhvà liệu đến LCD có kiểm tra cờ bận (ở phương pháp ta không cần pahir đặt độ trễ lớn trình xuất liệu hay lệnh cho LCD mà cầnhiện thị cờ bận (đọc cờ bận BF thông qua chân DB7) từ LCD trớc xuất lệnh liệu tới LCD) Phương pháp mô tả lưu đồ sau Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] BEGIN RS = [0] RW = [1] BF = E = [0] E = [1] BF =1 END Lưu ý phương pháp để gửi lệnh tới LCD ta phải đa chân RS Đối với liệu bật RS =1 sau gửi sườn xung cao xuống thấp đến chân E phép chốt liệu LCD Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Sơ đồ nguyên lý , mạch in mạch đo tần số  Mạch ghép nối vi điều khiển LCD  Mạch tạo xung IC NE555 Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] ** Xung từ chân số IC NE 555 gửi tới chân số P3.2 ( chân số 12 ) vi điều khiển 89s52 Code chương trình #include #define RS P2_0 // khai bao chan RS cua lCD #define RW P2_1 //khai bao chan RW cua LCD #define E P2_2 #define DATA P2 //dinh nghi PORTD lam chan du lieu cho LCD void lcd_set(unsigned char lenh); //setting LCD void lcd_command(unsigned char lenh1); //ghi lenh vao LCD void lcd_write(unsigned char lenh2); //ghi du lieu vao LCD void lcd_init(); void lcd_putnum(unsigned long info); //viet so vao LCD void lcd_Gotoxy(unsigned char x,unsigned char y); //nhay den vi tri x,y LCD void lcd_clear();//ham xoa man hinh LCD void lcd_putchar(unsigned char *s); LCD unsigned int Millisec; unsigned int so_xung; unsigned int frequency; //ham ghi chuoi ky tu vao //bien dem ms Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] void delay_ms(unsigned int ms) //ham delay { unsigned int i,j; for(i=0;i

Ngày đăng: 05/04/2019, 12:02

Từ khóa liên quan

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

Tài liệu liên quan