Các bộ điều khiển sử dụng vi điều khiển tuy đơn giản nhưng để vận hành và sử dụng được lại là một điều rất phức tạp. Các bộ vi điều khiển theo thời gian cùng với sự phát triển của công nghệ bán dẫn đã tiến triển rất nhanh, từ các bộ vi điều khiển 4 bit đơn giản đến các bộ vi điều khiển 32 bit, rồi sau này là 64 bit. Điện tử đang trở thành một ngành khoa học đa nhiệm vụ. Điện tử đã đáp ứng được những đòi hỏi không ngừng từ các lĩnh vực công – nông – lâm – ngư nghiệp cho đến các nhu cầu cần thiết trong hoạt động đời sống hằng ngày. Một trong những ứng dụng thiết thực trong đó là ứng dụng về nhiệt kế điện tử. Với môn học Vi điều khiển này, em đã quyết định nhận làm đồ án với đề tài ứng dụng họ vi điều khiển 8051 ghép nối 04 led bảy 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 [45-55] hz
Trang 1TRƯỜ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 7 thanh để hiển thị số
đo tần số lưới điện công nghiệp với khoảng đo (45 – 55) Hz.
Trang 2ĐỀ 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 [45-55]Hz 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
Trang 3MỤC LỤC
Contents
LỜI NÓI ĐẦU
Ngày nay, với những ứng dụng của khoa học kỹ thuật tiên tiến, thế giới của chúng ta đã và đang ngày một thay đổi, văn minh và hiện đại hơn Sự phát triển của kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị với các đặc điểm nổi bật như sự chính xác cao, tốc độ nhanh, gọn nhẹ là những yếu tố rất cần thiết góp phần cho hoạt động của con người đạt hiệu quả cao
Các bộ điều khiển sử dụng vi điều khiển tuy đơn giản nhưng để vận hành
và sử dụng được lại là một điều rất phức tạp Các bộ vi điều khiển theo thời gian cùng với sự phát triển của công nghệ bán dẫn đã tiến triển rất nhanh, từ các bộ vi điều khiển 4 bit đơn giản đến các bộ vi điều khiển 32 bit, rồi sau này là 64 bit Điện tử đang trở thành một ngành khoa học đa nhiệm vụ Điện tử đã đáp ứng được những đòi hỏi không ngừng từ các lĩnh vực công – nông – lâm – ngư nghiệp cho đến các nhu cầu cần thiết trong hoạt động đời sống hằng ngày
Một trong những ứng dụng thiết thực trong đó là ứng dụng về nhiệt kế điện tử
Với môn học Vi điều khiển này, em đã quyết định nhận làm đồ án với đề tài ứng dụng họ vi điều khiển 8051 ghép nối 04 led bảy 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 [45-55] hz
Nội dung báo cáo gồm 3 phần:
I – Cơ sở lý thuyết
II – Nội dung thiết kế
III – K t lu nế ậ
Trang 4Mặc dù đã rất cố gắng thiết kế và làm mạch nhưng do thời gian ngắn và năng lực còn hạn chế nên mạch vẫn còn những sai sót Em mong thầy giáo và các bạn góp ý để việc học tập của em được tốt hơn.
Em xin chân thành cảm ơn!
HỆ THỐNG HIỂN THỊ SỐ ĐO VÀ CẢNH BÁO TẦN SỐ LƯỚI ĐIỆN CÔNG NGHIỆP
I Cơ sở lý thuyết
1 Giới thiệu tổng quan về họ Vi điều khiển 8051
AT89C51 là một vi điều khiển 8 bit, chế tạo theo công nghệ CMOS chất lượng cao, công suất thấp với 4 KB PEROM (Flash Programeable and erasable read only memory)
Các đặc điểm của 8951 được tóm tắt như sau:
- 4KB bộ nhớ, có thể lập trình lại nhanh, có khả năng ghi xóa tới
1000 chu kỳ
- Tần số hoat động từ 0 Hz đến 24 MHz
- 3 mức khóa bộ nhớ lập trình
- 2 bộ Timer/Counter 16 bit
- 128 Byte RAM nội
- 4 Port xuất/nhập (I/O) 8 bit
- Giao tiếp nối tiếp
Trang 51.1 Sơ đồ khối và sơ đồ chân của AT89C51
Sơ đồ khối của AT89C51
Trang 6Sơ đồ chân của AT89C51
1.2 Chức năng các chân của AT89C51
+ Port 0 (P0.0 – P0.7 hay chân 32 – 39): Ngoài chức năng xuất nhập ra,
port 0 còn là bus đa hợp dữ liệu và địa chỉ (AD0 – AD7), chức năng này sẽ được
sử dụng khi AT89C51 giao tiếp với thiết bị ngoài có kiến trúc bus
Port 0
Trang 7+ Port 1 (P1.0 – P1.7 hay chân 1 – 8): có chức năng xuất nhập theo bit
và byte Ngoài ra, 3 chân P1.5, P1.6, P1.7 được dùng để nạp ROM theo chuẩn ISP, 2 chân P1.0 và P1.1 được dùng cho bộ Timer 2
Port 1
+ Port 2 (P2.0 – P2.7 hay chân 21 – 28): là một port có công dụng kép Là
đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết kế dùng bộ nhớ mở rộng
Port 2
Trang 8+ Port 3 (P3.0 – P3.7 hay chân 10 – 17): mỗi chân trên port 3 ngoài chức
năng xuất nhập ra còn có một số chức năng đặc biệt sau:
Bit Tên Chức năng chuyển đổi
P3.0 RXD Dữ liệu nhận cho port nối tiếp
P3.1 TXD Dữ liệu truyền cho port nối tiếp
P3.2 INT0 Ngắt bên ngoài 0
P3.3 INT1 Ngắt bên ngoài 1
P3.4 T0 Ngõ vào của Timer/Counter 0
P3.5 T1 Ngõ vào của Timer/Counter 1
P3.6 WR Xung ghi bộ nhớ dữ liệu ngoài
P3.7 RD Xung đọc bộ nhớ dữ liệu ngoài
Port 3
+ RST (Reset – chân 9): mức tích cực của chân này là mức 1, để reset ta
phải đưa mức 1 (5V) đến chân này với thời gian tối thiểu 2 chu kỳ máy (tương đương 2µs đối với thạch anh 12MHz
+ XTAL 1, XTAL 2: AT89S52 có một bộ dao động trên chip, nó thường
được nối với một bộ dao động thạch anh có tần số lớn nhất là 33MHz, thôn thường là 12MHz
+ EA (External Access): EA thường được mắc lên mức cao (+5V) hoặc
mức thấp (GND) Nếu ở mức cao, bộ 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 chỉ được thi hành từ bộ nhớ mở rộng
Trang 9+ ALE (Address Latch Enable): ALE là tín hiệu để chốt địa chỉ vào một
thanh ghi bên ngoài trong nửa đầu của chu kỳ bộ nhớ Sau đó các đường port 0 dùng để xuất hoặc nhập dữ liệu trong nửa chu kỳ sau của bộ nhớ
+ PSEN (Program Store Enable): PSEN là điều khiển để cho phép bộ
nhớ chương trình mở rộng và thường được nối với đến chân /OE (Output Enable) của một EPROM để cho phép đọc các bytes mã lệnh PSEN sẽ ở mức thấp trong thời gian đọc lệnh Các mã nhị phân của chương trình được đọc từ EPROM qua Bus và được chốt vào thanh ghi lệnh của bộ vi điều khiển để giải
mã lệnh Khi thi hành chương trình trong ROM nội, PSEN sẽ ở mức thụ động (mức cao)
+ Vcc, GND: AT89S52 dùng nguồn một chiều có dải điện áp từ 4V –
5.5V được cấp qua chân 40 (Vcc) và chân 20 (GND)
2 Sơ lược về led 7 thanh
2.1 Tổng quát
Led 7 đoạn có cấu tạo bao gồm 7 led đơn có dạng thanh xếp theo hình và có thêm một led đơn hình tròn nhỏ thể hiện dấu chấm tròn ở góc dưới, bên phải của led 7 đoạn
8 led đơn trên led 7 đoạn có Anode(cực +) hoặc Cathode(cực -) được nối chung với nhau vào một điểm, được đưa chân ra ngoài để kết nối với mạch điện
8 cực còn lại trên mỗi led đơn được đưa thành 8 chân riêng, cũng được đưa ra ngoài để kết nối với mạch điện Nếu led 7 đoạn có Anode(cực +) chung, đầu chung này được nối với +Vcc, các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 0
Trang 10Nếu led 7 đoạn có Cathode(cực -) chung, đầu chung này được nối xuống Ground (hay Mass), các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 1.
Vì led 7 đoạn chứa bên trong nó các led đơn, do đó khi kết nối cần đảm bảo dòng qua mỗi led đơn trong khoảng 10mA-20mA để bảo vệ led Nếu kết nối với nguồn 5V có thể hạn dòng bằng điện trở 330Ω trước các chân nhận tín hiệu
điều khiển
Sơ đồ vị trí các led
Các điện trở 330Ω là các điện trở bên ngoài được kết nối để giới hạn dòng điện qua led nếu led 7 đoạn được 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 các chân và các led còn lại
Trang 112.2 Kết nối với Vi điều khiển
Ngõ nhận tín hiệu điều khiển của led 7 đoạn có 8 đường, vì vậy có thể dùng 1 Port nào đó của Vi điều khiển để điều khiển led 7 đoạn Như vậy led 7 đoạn nhận một dữ liệu 8 bit từ Vi điều khiển để điều khiển hoạt động sáng tắt của từng led led đơn trong nó, dữ liệu được xuất ra điều khiển led 7 đoạn thường được gọi là "mã hiển thị led 7 đoạn" Có hai kiểu mã hiển thị led 7 đoạn: mã dành cho led 7 đoạn có Anode(cực +) chung và mã dành cho led 7 đoạn có Cathode(cực -) chung Chẳng hạn, để hiện thị số 1 cần làm cho các led ở vị trí b
và c sáng, nếu sử dụng led 7 đoạn có Anode chung thì phải đặt vào hai chân b và
c điện áp là 0V(mức 0) các chân còn lại được đặt điện áp là 5V(mức 1), nếu sử dụng led 7 đoạn có Cathode chung thì điện áp(hay mức logic) hoàn toàn ngược lại, tức là phải đặt vào chân b và c điện áp là 5V(mức 1)
Bảng mã hiển thị led 7 đoạn:
• Phần cứng được kết nối với 1 Port bất kì của Vi điều khiển, để thuận tiện cho việc xử lí về sau phần cứng nên được kết nối như sau: Px.0 nối với chân a, Px.1 nối với chân b, lần lượt theo thứ tự cho đến Px.7 nối với chân h
• Dữ liệu xuất có dạng nhị phân như sau : hgfedcba
Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn có Anode chung (các led đơn sáng ở mức 0):
Số hiển thị trên led
Trang 133.Chuyển đổi tín hiệu sine đầu vào của lưới điện thành xung vuông sử dụng LM324
3.1 Cấu tạo IC LM324
Trang 15II Nội dung thiết kế
1 Lưu đồ thuật toán chương trình
S
Đ
Trang 18ljmp main ;nhay den chuong trinh main ngay sau khi MCU chay
; -chuong trinh phuc vu
Trang 19Z5 equ 4bh
shf equ 34h ;chon led de quet
thp2 equ 50h ;hang chuc cua tan so
thp1 equ 51h ;hang don vi cua tan so
dv equ 52h ;chu so sau dau ',' thu nhat
ch equ 53h ;chu so sau dau ',' thu hai
digit equ 54h
T_up equ 36h
T_lm equ 37h ;100*10 ms lay mau mot lan
ZOV equ 00h
ON equ P1.0
OFF equ P1.1
CB_Cao equ P1.2 ;LED bao vuot nguong cao
CB_Thap equ P1.3 ;LED bao vuot nguong thap
; -chuong trinh
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
Trang 20mov 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 7 thanh
mov TMOD,#11h ;khoi tao timer0,timer1 o che do 16 bit
setb IT0 ;thiet lap ngat ngoai theo suon xuong
setb PX0 ;cho piority cua INT0 cao nhat
setb ET0 ;cho phep ngat ngoai Timer1
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
Trang 21lcall canhbao ; kiem tra tan so va canh bao neu nam
; -cac lenh trong chuong trinh ngat nhu lenh nhay toi chuong trinh phuc
vu ngat, cac lenh xoa bo dem
Trang 22mov X0,Z0 ;chuyen gia tri tich vao lam so bi chia
; -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
Trang 26end
Trang 28Khối nút ấn và nút cảnh báo
Khi RUN hệ thống tiến hành hiển thị thông số
Nút STOP hệ thống dừng và hiển thị kết quả đo cuối cùng
Đèn D1 hiển thị cảnh báo mức cao tần số trên 55
Đèn D2 hiển thị cảnh báo tần số mức dưới 45
3.3 Khối hiển thị
Khối hiển thị kết quả đo sử dụng led 7 thanh.Được đưa ra từ vi điều khiển cho biết tần số hiện tại của lưới điện
Trang 293.4 Khối IC điều khiển
Khối điều khiển có chức năng xử lí tín hiệu đầu vào.Đưa ra các chân tín hiệu để hiện thị , cảnh báo ngưỡng cao thấp của lưới điện,Ngắt
Trang 304.Thực hiện chạy mạch mô phỏng ở các mức
Khi tần số điện áp lưới ở ngoài khoảng 45 :55 đèn đỏ cảnh báo ở mức thấp
Trang 31Khi điện áp lưới ở mức 45 :55 đèn không nháy.mạch chạy ổn định
Trang 32Khi tần số lưới điện ở cao hơn mức 45: 55 đèn vàng cảnh báo mức cao sáng
Trang 33• Khả năng đáp ứng nhanh với sự thay đổi của đối tượng cần đo
• Mạch hiển thị LED 7 đoạn nên dễ dàng cho người sử dụng theo dõi tần số
• Mạch chưa có chức năng bảo vệ ngắn mạch
• Chưa có các khối nguồn tạo điện áp ra cho IC rõ ràng
• Độ tin cậy của mạch chưa được cao do hạn chế về kinh nghiệm cũng như giới hạn về trình độ chuyên môn còn yếu