ĐỀ BÀI: Ứng dụng họ vi điều khiển 8051 ghép nối 04 LED 7 thanh để hiển thị số đo và cảnh báo tần số lưới điện công nghiệp, khoảng đo 4555Hz. Hệ thống gồm có : + 01 Vi điều khiển 89C51RD2. + Ghép nối 04 LED bảy thanh. + Ghép nối mạch chuẩn hóa đo tần số. + Ghép nối 2 đèn LED cảnh báo ngưỡng thấp , ngưỡng cao. + Hai nút ấn RUN, STOP. Hoạt động: Khi ấn RUN ,hệ thống thực hiện đo tần số; còn khi ấn, STOP hệ thống lưu lại giá trị đo cuối cùng.
BÀI TẬP LỚN:VI XỬ LÝ GVHD: Đỗ Duy Phú TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA ĐIỆN ĐỒ ÁN MÔN: VI XỬ LÝ VÀ ĐO LƯỜNG ĐIỆN ĐỀ TÀI: Ứng dụng họ vi điều khiển 8051 ghép nối với LED để hiển thị số đo tần số lưới điện công nghiệp với khoảng đo (45 – 55) Hz Giáo viên hướng dẫn: Đỗ Duy Phú ĐỀ BÀI: Ứng dụng họ vi điều khiển 8051 ghép nối 04 LED để hiển thị số đo cảnh báo tần số lưới điện công nghiệp, khoảng đo [45-55]Hz Hệ thống gồm có : + 01 Vi điều khiển 89C51RD2 + Ghép nối 04 LED bảy + Ghép nối mạch chuẩn hóa đo tần số + Ghép nối đèn LED cảnh báo ngưỡng thấp , ngưỡng cao + Hai nút ấn RUN, STOP Hoạt động: Khi ấn RUN ,hệ thống thực đo tần số; ấn, STOP hệ thống lưu lại giá trị đo cuối SVTH: Nhóm Page BÀI TẬP LỚN:VI XỬ LÝ GVHD: Đỗ Duy Phú MỤC LỤC Chương : Cơ sở lý thuyết 1.1.mục đích yêu cầu 1.2.khái quát họ vđk 8051 1.3.các linh kiện sử dụng 1.3.1.led 1.3.2.điện trở 1.3.3.tụ điện 1.3.4.opto 1.3.5.ic max 232 1.4.phương pháp đo Chương 2.Xây dựng hệ thống 2.1.sơ đồ khối, nguyên lý 2.2.xây dựng thuật toán 2.3.viết chương trình Chương : kết luận 3.1.về sở lý thuyết 3.2.về thực nghiệm SVTH: Nhóm Page BÀI TẬP LỚN:VI XỬ LÝ GVHD: Đỗ Duy Phú Chương I: Cơ sở lý thuyết 1.1.mục đích yêu cầu Ứng dụng họ vi điều khiển 8051 ghép nối 04 LED để hiển thị số đo cảnh báo tần số lưới điện công nghiệp, khoảng đo [45-55]Hz Hệ thống gồm có : + 01 Vi điều khiển 89C51RD2 + Cổng truyền thông + Ghép nối 04 LED bảy + Ghép nối mạch chuẩn hóa đo tần số + Ghép nối đèn LED cảnh báo ngưỡng thấp , ngưỡng cao + Hai nút ấn RUN, STOP Hoạt động: Khi ấn RUN ,hệ thống thực đo tần số; ấn, STOP hệ thống lưu lại giá trị đo cuối 1.2 Khái quát họ Vi điều khiển 8051 AT89C51 vi điều khiển bit, chế tạo theo công nghệ CMOS chất lượng cao, công suất thấp với KB PEROM (Flash Programeable and erasable read only memory) Các đặc điểm 8951 tóm tắt sau: - 4KB nhớ, lập trình lại nhanh, có khả ghi xóa tới 1000 chu kỳ - Tần số hoat động từ Hz đế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 - Xử lý Boolean (hoạt động bit đơn) - 210 vị trí nhớ định vị bit SVTH: Nhóm Page BÀI TẬP LỚN:VI XỬ LÝ GVHD: Đỗ Duy Phú • Sơ đồ khối sơ đồ chân AT89C51 INT1\ INT0\ SERIAL PORT TEMER0 TEMER1 TEMER2 8032\8052 128 byte RAM 8032\8052 INTERRUPT CONTROL OTHER REGISTER128 byte RAM ROM 0K: 8031\8032 4K:8951 8K:8052 TEMER2 8032\8052 TEMER1 TEMER1 CPU BUS CONTROL OSCILATOR EA\ RST ALE\ PSEN\ P0 P1 P2 P3 Address\Data Sơ đồ khối AT89C51 Sơ đồ chân AT89C51 SVTH: Nhóm Page TXD RXD BÀI TẬP LỚN:VI XỬ LÝ GVHD: Đỗ Duy Phú • Chức chân AT89C51 + Port (P0.0 – P0.7 hay chân 32 – 39): Ngoài chức xuất nhập ra, port bus đa hợp liệu địa (AD0 – AD7), chức sử dụng AT89C51 giao tiếp với thiết bị ngồi có kiến trúc bus Port + Port (P1.0 – P1.7 hay chân – 8): có chức xuất nhập theo bit byte Ngoài ra, chân P1.5, P1.6, P1.7 dùng để nạp ROM theo chuẩn ISP, chân P1.0 P1.1 dùng cho Timer Port + Port (P2.0 – P2.7 hay chân 21 – 28): port có cơng dụng kép Là đường xuất nhập byte cao bus địa thiết kế dùng nhớ mở rộng SVTH: Nhóm Page BÀI TẬP LỚN:VI XỬ LÝ GVHD: Đỗ Duy Phú Port + Port (P3.0 – P3.7 hay chân 10 – 17): chân port ngồi chức xuất nhập cịn có số chức đặc biệt sau: 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 chuyển đổi 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 ngồi Port SVTH: Nhóm Page BÀI TẬP LỚN:VI XỬ LÝ GVHD: Đỗ Duy Phú + RST (Reset – chân 9): mức tích cực chân mức 1, để reset ta phải đưa mức (5V) đến chân với thời gian tối thiểu chu kỳ máy (tương đương 2µs thạch anh 12MHz + XTAL 1, XTAL 2: AT89S52 có dao động chip, thường nối với dao động thạch anh có tần số lớn 33MHz, thôn thường 12MHz + EA (External Access): EA thường mắc lên mức cao (+5V) mức thấp (GND) Nếu mức cao, vi điều khiển thi hành chương trình từ ROM nội Nếu mức thấp, chương trình thi hành từ nhớ mở rộng + ALE (Address Latch Enable): ALE tín hiệu để chốt địa vào ghi bên nửa đầu chu kỳ nhớ Sau đường port dùng để xuất nhập liệu nửa chu kỳ sau nhớ + PSEN (Program Store Enable): PSEN điều khiển phép nhớ chương trình mở rộng thường nối với đến chân /OE (Output Enable) EPROM phép đọc bytes mã lệnh PSEN mức thấp thời gian đọc lệnh Các mã nhị phân chương trình đọc từ EPROM qua Bus chốt vào ghi lệnh vi điều khiển để giải mã lệnh Khi thi hành chương trình ROM nội, PSEN mức thụ động (mức cao) + Vcc, GND: AT89S52 dùng nguồn chiều có dải điện áp từ 4V – 5.5V cấp qua chân 40 (Vcc) chân 20 (GND) 1.3 Các linh kiện sử dụng 1.3.1 led • Tổng quan SVTH: Nhóm Page BÀI TẬP LỚN:VI XỬ LÝ GVHD: Đỗ Duy Phú Led đoạn có cấu tạo bao gồm led đơn có dạng xếp theo hình có thêm led đơn hình trịn nhỏ thể dấu chấm trịn góc dưới, bên phải led đoạn led đơn led đoạn có Anode(cực +) Cathode(cực -) nối chung với vào điểm, đưa chân để kết nối với mạch điện cực lại led đơn đưa thành chân riêng, đưa để kết nối với mạch điện Nếu led đoạn có Anode(cực +) chung, đầu chung nối với +Vcc, chân lại dùng để điều khiển trạng thái sáng tắt led đơn, led sáng tín hiệu đặt vào chân mức Nếu led đoạn có Cathode(cực -) chung, đầu chung nối xuống Ground (hay Mass), chân lại dùng để điều khiển trạng thái sáng tắt led đơn, led sáng tín hiệu đặt vào chân mức SVTH: Nhóm Page BÀI TẬP LỚN:VI XỬ LÝ GVHD: Đỗ Duy Phú Vì led đoạn chứa bên led đơn, kết nối cần đảm bảo dòng qua led đơn khoảng 10mA-20mA để bảo vệ led Nếu kết nối với nguồn 5V hạn dòng điện trở 330Ω trước chân nhận tín hiệu điều khiển Sơ đồ vị trí led Các điện trở 330Ω điện trở bên ngồi kết nối để giới hạn dịng điện qua led led đoạn nối với nguồn 5V Chân nhận tín hiệu a điều khiển led a sáng tắt, ngõ vào b để điều khiển led b Tương tự với chân led cịn lại • Kết nối với Vi điều khiển Ngõ nhận tín hiệu điều khiển led đoạn có đường, dùng Port Vi điều khiển để điều khiển led đoạn Như led đoạn nhận liệu bit từ Vi điều khiển để điều khiển hoạt động sáng tắt led led đơn nó, liệu xuất điều khiển led đoạn thường gọi "mã hiển thị led đoạn" Có hai kiểu mã hiển thị led đoạn: mã dành cho led đoạn có Anode(cực +) chung mã dành cho led đoạn có SVTH: Nhóm Page BÀI TẬP LỚN:VI XỬ LÝ GVHD: Đỗ Duy Phú Cathode(cực -) chung Chẳng hạn, để thị số cần làm cho led vị trí b c sáng, sử dụng led đoạn có Anode chung phải đặt vào hai chân b c điện áp 0V(mức 0) chân lại đặt điện áp 5V(mức 1), sử dụng led đoạn có Cathode chung điện áp(hay mức logic) hồn tồn ngược lại, tức phải đặt vào chân b c điện áp 5V(mức 1) Bảng mã hiển thị led đoạn: • • Phần cứng kết nối với Port Vi điều khiển, để thuận tiện cho việc xử lí sau phần cứng nên kết nối sau: Px.0 nối với chân a, Px.1 nối với chân b, theo thứ tự Px.7 nối với chân h Dữ liệu xuất có dạng nhị phân sau : hgfedcba Bảng mã hiển thị led đoạn dành cho led đoạn có Anode chung (các led đơn sáng mức 0): Số hiển thị led Mã hiển thị led đoạn Mã hiển thị led đoạn dạng đoạn dạng nhị phân thập lục phân hgfedcba 11000000 C0 11111001 F9 10100100 A4 10110000 B0 10011001 99 10010010 92 11000010 82 11111000 F8 10000000 80 10010000 90 A 10001000 88 B 10000011 83 C 11000110 C6 D 10100001 A1 E 10000110 86 F 10001110 8E 10111111 BF SVTH: Nhóm Page 10 BÀI TẬP LỚN:VI XỬ LÝ GVHD: Đỗ Duy Phú 2.3 Viết chương trình ; -bai tap lon nhom -; -vector -org 0000h ljmp main ;nhay den chuong trinh main sau MCU chay ; -chuong trinh phuc vu ngat SVTH: Nhóm Page 21 BÀI TẬP LỚN:VI XỬ LÝ org 0003h ljmp INT_EX0 GVHD: Đỗ Duy Phú ;ngat ngoai INT0 org 000bh ljmp INT_T0 hien thi gia tri tan so duoc ;nhay den ngat Timer0 se tinh toan va ; -khai bao bien FREQ_H equ 30h FREQ_L equ 31h FH equ 32h FL equ 33h X2 X1 X0 equ equ equ 40h 41h 42h Y2 Y1 Y0 equ equ equ 43h 44h 45h Z0 Z1 Z2 Z3 Z4 Z5 equ equ equ equ equ equ 46h 47h 48h 49h 4ah 4bh shf equ 34h ;chon led de quet thp2 equ thp1 equ dv equ ch equ digit equ T_up equ T_lm equ F_Max F_Min 50h 51h 52h 53h 54h 36h 37h equ equ ;hang chuc cua tan so ;hang don vi cua tan so ;chu so sau dau ',' thu nhat ;chu so sau dau ',' thu hai ZOV equ ON equ 00h P1.4 SVTH: Nhóm ;100:9 11 du 1*100=100/911 38h 58h ;100*10 ms lay mau mot lan ;nguong tren ;nguong duoi Page 22 BÀI TẬP LỚN:VI XỬ LÝ OFF equ CB_Cao CB_Thap P1.5 equ P1.6 equ P1.7 GVHD: Đỗ Duy Phú ;LED bao vuot nguong cao ;LED bao vuot nguong thap ; chuong trinh chinh -org 0030h main: lcall Init KT_ON: jb setb KT_OFF: jb clr sjmp ON,KT_OFF EX0 OFF,KT_ON EX0 KT_ON ;cho phep ngat ngoai INT0 ;cho phep ngat ngoai INT0 ; -; chuong trinh -; -Init: mov P1,#0ffh clr EA ;cam tat ca cac ngat mov digit,#0f7h ;bat led thp2 dau tien mov P2,#0ffh mov P0,#0ffh ;tat tat ca cac led mov P1,#0ffh mov T_up,#0 mov T_lm,#100 ;t = T_lm*10ms mov F_Max,#55 ;dat can tren canh bao mov F_Min,#45 ;dat can duoi canh bao mov shf,#thp2 ;byte de dieu khien hien thi cac led mov TMOD,#11h ;khoi tao timer0,timer1 o che 16 bit mov TH0,#HIGH(-10000) mov TL0,#LOW(-10000) ;khoi tao ngat 10ms de tinh toan va hien thi mov TH1,#00h mov TL1,#00h setb setb setb setb SVTH: Nhóm IT0 PX0 ET0 TF0 ;thiet lap ngat ngoai theo suon xuong ;cho piority cua INT0 cao nhat ;cho phep ngat ngoai Timer1 ;dung co bao ngat Page 23 BÀI TẬP LỚN:VI XỬ LÝ setb tr0 setb tr1 setb EA ret GVHD: Đỗ Duy Phú ;khoi dong Timer0 ; -chuong trinh phuc vu ngat ngoai INT0 INT_EX0: clr EA mov FREQ_H,TH1 mov FREQ_L,TL1 mov TH1,#00h mov TL1,#02h ;xoa bo dem de bat dau dem chu ki moi setb EA reti ; -chuong trinh phuc vu ngat timer0 INT_T0: clr TF0 ;xoa co tran mov a,T_up inc a ;tang t_up mov T_up,a cjne a,T_lm,ko_update ;kiem tra neu t_up = t_lm thi update lai du lieu neu khong thi thoi mov T_up,#0 ;xoa t_up chuan bi cho lan tinh tiep theo lcall Tinh_tanso ;goi chuong trinh tinh tan so ko_update: lcall canhbao ; kiem tra tan so va canh bao neu nam ngoai nguong lcall HextoBcd ;chuyen doi gia tri tan so sang ma BCD de hien thi lcall Hienthi ;goi hien thi exit: mov TH0,#HIGH(-10000) mov TL0,#LOW(-10000) reti ; -; -Tinh tan so -; -Tinh_tanso: ; -khi thuc hien cac lenh ngat INT0 thi se ton mot so chu ki may vi vay phai cong them SVTH: Nhóm Page 24 BÀI TẬP LỚN:VI XỬ LÝ GVHD: Đỗ Duy Phú ; -gia tri dem duoc timer voi so chu ki tren de dam bao chinh xac nhat ; -do viec gia tri tan so la khong lon(50Hz) vi vay ma co the bo qua duoc mot so chu ki thuc hien ; -cac lenh chuong trinh ngat nhu lenh nhay toi chuong trinh phuc vu ngat, cac lenh xoa bo dem mov X2,#0fh mov X1,#42h mov X0,#40h ;dat so bi chia =1000000 mov Y2,#0 mov Y1,FREQ_H mov Y0,FREQ_L ; tinh phan nguyen cua tan so lcall DIV24 mov FH,Z0 ; tinh phan thap phan mov X1,Z4 mov X0,Z3 mov Y0,#100 lcall Mul2byte_voi_1byte mov X0,Z0 mov X1,Z1 mov X2,Z2 ;chuyen gia tri tich vao lam so bi chia mov Y2,#0 ;so chia mov Y1,FREQ_H mov Y0,FREQ_L mov mov mov lcall Z0,#0 Z1,#0 Z2,#0 DIV24 ;xoa thuong mov FL,Z0 ret ; -; chuyen doi gia tri dem duoc BCD de hien thi -SVTH: Nhóm Page 25 BÀI TẬP LỚN:VI XỬ LÝ GVHD: Đỗ Duy Phú ; -HextoBcd: ; -tinh chu so hang chuc cua tan so va luu vao byte ch -; -tinh chu so hang don vi cua tan so -; -tinh chu so sau dau phay thu nhat va thu mov A,FH mov B,#10 div AB mov ch,A mov dv,B mov mov div mov mov A,FL B,#10 AB thp1,A thp2,B ret DIV24: mov orl orl jnz ;setb ret CHIA24: mov mov mov mov mov mov mov mov mov mov TT_chia24: clr mov SVTH: Nhóm A,Y2 a,Y1 a,Y0 CHIA24 ZOV R0,X0 R1,X1 R2,X2 X2,#0 X1,#0 X0,#0 R3,#0 R4,#0 R5,#0 R7,#24 c a,R0 Page 26 BÀI TẬP LỚN:VI XỬ LÝ rlc mov mov rlc mov mov rlc mov mov rlc mov mov rlc mov mov rlc mov lcall mov cpl jnc mov mov mov kh_Tru24: mov rlc mov mov rlc mov mov rlc mov a R0,a a,R1 a R1,a a,R2 a R2,a a,X0 a X0,a a,X1 a X1,a a,X2 a X2,a SUBB24 c,ZOV c kh_Tru24 X2,Z2 X1,Z1 X0,Z0 GVHD: Đỗ Duy Phú ;dich trai so bi chia ;dich trai so du a,R3 a R3,a a,R4 a R4,a a,R5 a R5,a djnz R7,TT_chia24 mov Z0,R3 mov Z1,R4 MOV z2,R5 mov Z3,X0 mov Z4,X1 SVTH: Nhóm Page 27 BÀI TẬP LỚN:VI XỬ LÝ GVHD: Đỗ Duy Phú mov Z5,X2 ret SUBB24: mov clr subb mov mov subb mov mov subb mov ret a,X0 c a,Y0 Z0,a a,X1 a,Y1 Z1,a a,X2 a,Y2 ZOV,c Mul2byte_voi_1byte: mov a,X0 mov b,Y0 mul ab mov Z0,a push b mov mov mul pop a,X1 b,Y0 ab add a,R0 mov Z1,a clr a addc a,b mov Z2,a ret ; -; -hien thi tan so -; -Hienthi: mov a,shf mov r0,a mov a,@r0 mov dptr,#maled movc a,@a+dptr SVTH: Nhóm Page 28 BÀI TẬP LỚN:VI XỬ LÝ GVHD: Đỗ Duy Phú mov p2,#0ffh mov P0,#0ffh cjne r0,#52h,ko_dau_phay orl a,#10000000b ko_dau_phay: mov p0,a mov p2,digit inc r0 mov a,r0 mov shf,a mov a,digit rr a mov digit,a mov a,shf cjne a,#54h,exit_HT mov shf,#thp2 mov digit,#0f7h exit_HT: ret ; -canh bao canhbao: setb CB_Cao setb CB_Thap jnb EX0,exit_canhbao mov a,FH clr c subb a,F_Min jc Phat_canh_bao_thap setb CB_Thap mov a,FH clr c subb a,F_Max jnc Phat_canh_bao_cao setb CB_Cao ret phat_canh_bao_cao: clr CB_Cao ret phat_canh_bao_thap: clr CB_Thap exit_canhbao: ret SVTH: Nhóm Page 29 BÀI TẬP LỚN:VI XỬ LÝ GVHD: Đỗ Duy Phú maled: db 00111111b,00000110b,01011011b,01001111b,01100110b,01101101b,0111110 1b,00000111b,01111111b,01101111b end SVTH: Nhóm Page 30 BÀI TẬP LỚN:VI XỬ LÝ GVHD: Đỗ Duy Phú Chương 3: Kết luận 3.1.về sở lý thuyết Sau thực đồ án chúng em rút ưu,nhược điểm mạch sau: 3.1.1.Ưu điểm • Mạch có cấu tạo gồm thành phần gồm linh kiện đơn giản,rẻ • tiền Khả đáp ứng nhanh với thay đổi đối tượng cần đo Mạch hiển thị LED đoạn nên dễ dàng cho người sử dụng theo dõi tần số • mức khác Dễ sử dụng, tiện lợi • 3.1.2.Nhược điểm • • • • Cịn có sai số giá trị đo sai số linh kiện sai số tính tốn thiêt kế mạch chấp nhận Mạch chưa có chức bảo vệ ngắn mạch Chưa có khối nguồn tạo điện áp cho IC rõ ràng Độ tin cậy mạch chưa cao hạn chế kinh nghiệm giới hạn trình độ chun mơn cịn yếu SVTH: Nhóm Page 31 BÀI TẬP LỚN:VI XỬ LÝ GVHD: Đỗ Duy Phú 3.2.Thực nghiệm Khi tần số điện áp lưới khoảng 45 :55 Hz đèn đỏ cảnh báo mức thấp SVTH: Nhóm Page 32 BÀI TẬP LỚN:VI XỬ LÝ GVHD: Đỗ Duy Phú Khi điện áp lưới mức 4555 Hz đèn không nháy.mạch chạy ổn định SVTH: Nhóm Page 33 BÀI TẬP LỚN:VI XỬ LÝ GVHD: Đỗ Duy Phú Khi tần số lưới điện cao mức 45: 55 Hz đèn xanh cảnh báo mức cao sang SVTH: Nhóm Page 34 ... hiệu điều khiển led đo? ??n có đường, dùng Port Vi điều khiển để điều khiển led đo? ??n Như led đo? ??n nhận liệu bit từ Vi điều khiển để điều khiển hoạt động sáng tắt led led đơn nó, liệu xuất điều khiển. .. 1.1.mục đích yêu cầu Ứng dụng họ vi điều khiển 8051 ghép nối 04 LED để hiển thị số đo cảnh báo tần số lưới điện công nghiệp, khoảng đo [45-55]Hz Hệ thống gồm có : + 01 Vi điều khiển 89C51RD2 + Cổng... giới hạn dòng điện qua led led đo? ??n nối với nguồn 5V Chân nhận tín hiệu a điều khiển led a sáng tắt, ngõ vào b để điều khiển led b Tương tự với chân led cịn lại • Kết nối với Vi điều khiển Ngõ nhận