Đề tài: Ứng dụng Họ vi điều khiển 8051 điều khiển 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 + Mạch truyền thông chuẩn RS_232 ( dùng vi mạch MAX 232) + 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 loa cảnh báo ngưỡng thấp, ngưỡng cao + Hai nút ấn RUN, STOP Hoạt động:Khi nhấn RUN , hệ thống thực hiện đo tần số, còn khi nhấn STOP hệ thống lưu lại giá trị đo cuối cùng Quá trình thực hiện: 1)Xây dựng mạch nguyên lý 2)Làm mạch in 3)Lắp linh kiện và kiểm tra phần cứng 4)Xây dựng thuật toán 5)Viết chương trình 6)Thực nghiệm
BTL Vi Xử Lý Nhóm GVHD: Tống Thị Lý LỜI NÓI ĐẦU Với tiến người, với phát triển khoa học kỹ thuật ngành công nghiệp phát triển mạnh mẽ , đặc biệt ngành kỹ thuật điện tử, bên cạnh phát triển ngành vi xử lý đóng vai trị quan trọng phát triển có nhiều ứng dụng đời sống Các hệ thống ứng dụng đời, điều đặt yêu cầu cao chất lượng, độ xác.Một hệ thống ứng dụng là: hệ thống điều khiển ghép nối 04 LED với 8051 để hiển thị số đo cảnh báo tần số lưới điện công nghiệp.Các hệ thống ngày dần tự động hóa với kỹ thuật vi xử lý, vi điều khiển… ngày làm cho tự động dần trở nên tốt đảm bảo yêu cầu Chúng em thầy môn giao nhiệm vụ thiết kế : ứng dụng họ vi điều khiển 8051 điều khiển ghép nối với led Với đề tài thiết kế cần phải tuân thủ theo yêu cầu phía Dựa nỗ lực thân hợp tác nhiệt tình bạn nhóm tận tình bảo thầy , cô môn đặc biệt Tống Thị Lý Qua giúp chúng em hồn thành đề tài thiết kế BTL Vi Xử Lý Nhóm GVHD: Tống Thị Lý Đề tài: Ứng dụng Họ vi điều khiển 8051 điều khiển 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 + Mạch truyền thông chuẩn RS_232 ( dùng vi mạch MAX 232) + 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 loa cảnh báo ngưỡng thấp, ngưỡng cao + Hai nút ấn RUN, STOP Hoạt động:Khi nhấn RUN , hệ thống thực đo tần số, nhấn STOP hệ thống lưu lại giá trị đo cuối Quá trình thực hiện: 1) 2) 3) 4) 5) 6) Xây dựng mạch nguyên lý Làm mạch in Lắp linh kiện kiểm tra phần cứng Xây dựng thuật tốn Viết chương trình Thực nghiệm BTL Vi Xử Lý Nhóm GVHD: Tống Thị Lý Chương 1: Cơ sở lý thuyết Tổng quan họ vi điều khiển 8051 AT89C51 vi điều khiển 8bit, chế tạo theo công nghệ CMOS, với 4Kb PEROM Một số đặc điểm AT89c51 Bộ nhớ 4Kb, với khả ghi xóa tới 1000 chu kì Tần số hoạt động -24Mz mức khóa nhớ lập trình timer- counter 16bit 128byte RAM nội Port xuất nhập(I/O) 8bit Giao tiếp nối tiếp 64Kb vùng nhớ mã 64Kb vùng nhớ liệu Xử lý boolean (xử lý bit) 4µs cho phép tính nhân, chia Nội dung AT89x51 flash 4Kb Bộ định thời Vào/ra 32 Cổng nối tiếp Chức chân 8952: AT89x52 8Kb 32 BTL Vi Xử Lý Nhóm GVHD: Tống Thị Lý 1.1 sơ đồ chân AT89s52 Giớ Thiệu sơ qua phần cứng 89s52 có tất 40 chân có chức đường xuất nhập Trong có 24 chân có tác dụng kép (có nghĩa chân có chức năng), đường hoạt động đường xuất nhập đường điều khiển thành phần bus liệu bus địa Chân số 40,31 nối với nguồn dương 3.5-6V VCC Chan 40 Chân số 20 nối nới âm nguồn BTL Vi Xử Lý Nhóm GVHD: Tống Thị Lý Chan 20 GND Chân số 19 chân số 18 chân mắc với thạnh anh tạo dao động ngoại C1 Chan 18 33pF GND X1 12Mhz C2 Chan 19 33pF Chân số chân reset chương trình hoạt động lại IC VCC C3 10uF SW1 SW Chan R1 10k GND Chân 29, 30 bỏ trống Các chân lại tướng ứng với Port P0,P1,P2,P3 chân lập trình thiết lập tín hiệu vào Port : Port port có chức chân 32 – 39 8951 Trong thiết kế cỡ nhỏ khơng dùng nhớ mở rộng có chức đường IO Đối với thiết kế cỡ lớn có nhớ mở rộng, kết hợp bus địa bus liệu BTL Vi Xử Lý Nhóm GVHD: Tống Thị Lý Port : Port port IO chân 1-8 Các chân ký hiệu P1.0, P1.1, P1.2, … dùng cho giao tiếp với thiết bị ngồi cần Port khơng có chức khác, chúng dùng cho giao tiếp với thiết bị bên Port : Port port có tác dụng kép chân 21 - 28 dùng đường xuất nhập byte cao bus địa thiết bị dùng nhớ mở rộng Port : Port port có tác dụng kép chân 10 - 17 Các chân port có nhiều chức năng, cơng dụng chuyển đổi có liên hệ với đặc tính đặc biệt 8951 bảng sau: Chân(bit) P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 Tên RXT TXD INT0 INT1 T0 Chức chuyển đổi Ngõ vào liệu nối tiếp Ngõ xuất liệu nối tiếp Ngõ vào ngắt cứng thứ Ngõ vào ngắt cứng thứ Ngõ vào TIMER/COUNTER thứ T1 Ngõ vào TIMER/COUNTER thứ WR Tín hiệu ghi liệu lên nhớ ngồi RD Tín hiệu đọc liệu ngồi Bảng 1.1 chức chân port BTL Vi Xử Lý Nhóm GVHD: Tống Thị Lý Các ghi đặc biệt Ký hiệu Tên ACC Thanh ghi chứa B Thanh ghi B PSW Thanh ghi từ trạng thái SP Con trỏ ngăn xếp(8 bit) DPTR Con trỏ liệu (16 bit) DPL Byte thấp DPTR DPH Byte cao DPTR P0 Thanh ghi đệm P0 P1 Thanh ghi đệm P1 P2 Thanh ghi đệm P2 P3 Thanh ghi đệm P3 IP Thanh ghi điều khiển mức ưu tiên ngắt IE Thanh ghi cho phép chắn ngắt TMOD Thanh ghi chọn chế độ cho Timer/Counter0 TCON Thanh ghi điều khiển Timer/Counter0,1 T2CON Thanh ghi điều khiển Timer/Counter2 TH0 Byte cao đếm Timer/Counter0 TL0 Byte thấp đếm Timer/Counter0 TH1 Byte cao đếm Timer/Counter1 TL1 Byte thấp bộđếm Timer/Counter1 TH2 Byte cao đếm Timer/Counter2 TL2 Byte thấp đếm Timer/Counter2 Byte cao ghi Capture/Reload RCAP2H Timer/Counter2 Byte thấp ghi Capture/Reload RCAP2L Timer/Counter2 SCON Thanh ghi điều khiển cổng truyền thông nối tiếp SBUF Bộ đệm cổng truyền thông nối tiếp PCON Thanh ghi điều khiển công suất tiêu thụ Địa 0EOH 0F0H 0D0H 81H 82H 83H 80H 90H 0A0H 0B0H 0B8H 0A8H 89H 88H 0C8H 8CH 8AH 8DH 8BH 0CDH 0CCH 0CBH 0CAH 98H 99H 87H BTL Vi Xử Lý Nhóm GVHD: Tống Thị Lý Tổng quan LED Hình 1.2 led LED đoạn hay LED (Seven Segment display) linh kiện phổ dụng , dùng công cụ hiển thị đơn giản Trong LED bao gồm LED mắc lại với , mà có tên LED đoạn ,7 LED đơn mắc cho hiển thị số từ - , vài chữ thông dụng, để phân cách người ta cịn dùng thêm led đơn để hiển thị dấu chấm (dot) BTL Vi Xử Lý Nhóm GVHD: Tống Thị Lý Các led đơn gọi tên theo chữ A- B -C-D-E-F-G, dấu chấm dot Như muốn hiển thị ký tự ta cần cấp nguồn vào chân led sáng mong muốn Thông số : LED dù có nhiều biến thể tựu chung có loại : + Chân Anode chung (chân + led mắc chung lại với ) + Chân Catode chung (Chân - led mắc chung với ) * Đối với loại Anode chung : + Chân chân Vcc(nối ngắn mạch lại với , sau nối chung với chân anode led đơn ), muốn led sáng việc nối chân catot xuống mass Điện áp Vcc mass phải lớn 1.3 V cung cấp đủ led sáng, nhiên không cao 3V BTL Vi Xử Lý Nhóm GVHD: Tống Thị Lý Cathode chung : Trở hạn dịng : Trong mạch thường dùng nguồn 5V nên để tránh việc đót cháy led cách đơn giản mắc thêm trở hạn dịng Thơng số làm việc LED : Điện áp = 2V Dòng = 20mA Vậy dùng nguồn 5V , áp rơi trở = -2 = V R = U / I = 3/(20*10^-3) = 150 ơm 10 BTL Vi Xử Lý Nhóm GVHD: Tống Thị Lý ; ================================================================ ==== ;subroutine KT_START_STOP ; chuong trinh kiem tra nut nhan start, stop xem co duoc an ko ;input nut an start, stop ;output begin ;an start thi begin=1, an stop begin=0 va tat loa ; ================================================================ ==== KT_START_STOP: JNB start,F_START JNB stop,F_STOP sjmp K_T F_START: mov begin,#1 sjmp K_T F_STOP: mov begin,#0 clr loa sjmp K_T K_T: 32 BTL Vi Xử Lý Nhóm GVHD: Tống Thị Lý ret ; ================================================================ ==== ;subroutine KT_TAN_SO ; chuong trinh kiem tra tan so de canh bao nguong cao, thap ;intput fH,fL ;output loa ; ================================================================ ==== KT_TAN_SO: mov a,TS SUBB a,#45 JC CHUONG_THAP ; neu f55 thi canh bao nguong cao ; neu 55 >= f >= 45 thi khong canh bao loa sjmp KT_KT CHUONG_THAP: mov a,dn 33 BTL Vi Xử Lý Nhóm GVHD: Tống Thị Lý cjne a,#0,buzz setb loa sjmp KT_KT buzz: mov a,dn cjne a,#3,KT_KT clr loa sjmp KT_KT CHUONG_CAO: mov a,dn cjne a,#1,buzz1 setb loa sjmp KT_KT buzz1: mov a,dn cjne a,#3,KT_KT clr loa KT_KT: ret ; ================================================================ ==== 34 BTL Vi Xử Lý Nhóm GVHD: Tống Thị Lý ; subroutine ADD16 ;thuc hien tinh tong so byte ;Z(ZH,ZL) = X(XH,XL) + Y(YH,YL) ;input X(XH,XL) , Y(YH,YL) ;output Z(ZH,ZL) , ZOV ; ================================================================ ADD16: mov a,XL add a,YL mov ZL,a mov a,XH addc a,YH mov ZH,a mov ZOV,c ret ; ================================================================ ; subroutine SUBB16 ;thuc hien tinh hieu so byte ;Z(ZH,ZL) = X(XH,XL) - Y(YH,YL) , ZOV=1 neu X