Bài tập lớn Đông hồ cảm biến

+ Lúc đầu ánh sáng từ LED phát đến LED thu chưa bị che khối cảm biến đưa ra tín hiệu có mức logic 1 vào Vi điều khiển 89S52 đồng hồ chưa hoạt động

+ Khi ta che ánh sáng từ LED phát đến LED thu (trong 1 khoang thời gian ngắn) rồi thả ra khối cảm biến đưa ra tín hiệu chuyển từ mức logic 1 xuống mức logic 0 rồi lại chuyển lên mức logic 1 tạo thành 1 xung kích vào chân ngắt ngoài INT0 đồng hồ bắt đầu chạy, nếu che lần nữa rồi thả thì thời gian sẽ được lưu lại ( lưu đc 3 lần )

+ Mạch gồm có 3 button:

- button 1: nối với chân 9, nối với âm nguồn làm nhiệm vụ reset

- button 2: nối với chân 13 (INT1) nối với âm nguồn để xem lại kết quả đã hiển thị

- button 3: nối chân 28 (P2.7) với âm nguồn để chuyển xem kết quả hiển thị tiếp theo

 

(Chúng em đã rút gọn tối đa phần báo cáo: cố gắng mô tả rõ ràng chức năng mà mạch có thể thực hiện , bỏ qua các phần râu ria, không trình bầy chi tiết về 89S52 phần mà hầy hiểu quá rõ )

 

doc9 trang | Chia sẻ: oanh_nt | Lượt xem: 1416 | Lượt tải: 0download
Nội dung tài liệu Bài tập lớn Đông hồ cảm biến, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA ĐIỆN TỬ - VIỄN THễNG -------------------o0o---------------- BàI TậP LớN Môn: Vi xử lý Đề tài: Đông hồ cảm biến Giáo viên hướng dẫn: Thầy Phạm Ngọc Nam Sinh viên thực tập: Nhóm 7_ĐT9K47 Lê Minh Cương Khuất Bá Đông Nguyễn Văn Hùng Vũ Đình Ngọc Bùi Minh Quyết Nguyễn Đình Tuấn (C ) Hà Nội.11/2005 Sơ đồ khối Vi Điều Khiển 89S52 Cảm Biến Nút Bấm Khối hiển thị Các chân của Vi Điều khiển 89S52 Khối cảm biến: gồm có LED phát, LED thu, 1 bộ khuyếch đại so sánh ở đây chúng em dùng LM324 , cảm biến sử dụng LED phát, LED thu hoạt động ko ổn định, chúng em đang định chuyển sang dùng Laser 4 1 3 2 1 2 3 4 5 6 7 14 13 12 11 10 9 8 GND +3 - 30V + + + + Khối hiển thị: dùng 7 LED 7 thanh anot chung, để hiển thị phần trăm giây, phút, giờ (giờ chỉ hiển thị hàng đơn vị) Hoạt động + Lúc đầu ánh sáng từ LED phát đến LED thu chưa bị che khối cảm biến đưa ra tín hiệu có mức logic 1 vào Vi điều khiển 89S52 đồng hồ chưa hoạt động + Khi ta che ánh sáng từ LED phát đến LED thu (trong 1 khoang thời gian ngắn) rồi thả ra khối cảm biến đưa ra tín hiệu chuyển từ mức logic 1 xuống mức logic 0 rồi lại chuyển lên mức logic 1 tạo thành 1 xung kích vào chân ngắt ngoài INT0 đồng hồ bắt đầu chạy, nếu che lần nữa rồi thả thì thời gian sẽ được lưu lại ( lưu đc 3 lần ) + Mạch gồm có 3 button: - button 1: nối với chân 9, nối với âm nguồn à làm nhiệm vụ reset - button 2: nối với chân 13 (INT1) nối với âm nguồn à để xem lại kết quả đã hiển thị - button 3: nối chân 28 (P2.7) với âm nguồn à để chuyển xem kết quả hiển thị tiếp theo (Chúng em đã rút gọn tối đa phần báo cáo: cố gắng mô tả rõ ràng chức năng mà mạch có thể thực hiện , bỏ qua các phần râu ria, không trình bầy chi tiết về 89S52 phần mà hầy hiểu quá rõ ) Sơ đồ nguyên lý như sau: Lập trình: ORG 0000H SJMP MAIN ORG 0BH LJMP NGAT_TIMER0 ORG 0003H ; ngat ngoai 0 LJMP CAM_BIEN ORG 0013H ; ngat ngoai 1 LJMP XEM MAIN: MOV SP,#30H ;NHAP DIA CHI BAT DAU CHUONG TRINH TAI 30H SETB P3.7 MOV R0,#18H MOV 11H,#00h MOV 12H,#00H ; DIA CHI LUU TRU hh:mm:ss MOV 13H,#00H MOV 14H,#00H MOV 15H,#00H MOV 16H,#00H MOV 17H,#00H MOV IE,#10000111B ;CHO PHEP NGAT NGOAI 0,1,NGAT TRAN TILER 0 MOV TMOD,#11H ;TIMER 0,1 CHE DO DINH THOI 16 BIT DOI: MOV C,P3.7 LCALL HIEN_THI JC DOI LCALL TRE_PHIM LCALL TRE_PHIM MOV TL0,#LOW(-9216) MOV TH0,#HIGH(-9216) SETB TR0 LAP: LCALL HIEN_THI SJMP LAP HIEN_THI: MOV DPTR,#BANG_MA_LED ;LED1 MOV P1,#10111111B MOV A,17H MOVC A,@A+DPTR MOV P2,A LCALL DELAY1 MOV p2,#0FFh ;LED2 MOV P1,#11011111B MOV A,16H MOVC A,@A+DPTR MOV P2,A LCALL DELAY1 MOV p2,#0FFh ;LED3 MOV P1,#11101111B MOV A,15H MOVC A,@A+DPTR MOV P2,A LCALL DELAY1 MOV p2,#0FFh ;Chong Nhieu ;LED4 MOV P1,#11110111B MOV A,14H MOVC A,@A+DPTR MOV P2,A LCALL DELAY1 MOV p2,0FFh ;Chong Nhieu ;LED5 MOV P1,#11111011B MOV A,13H MOVC A,@A+DPTR MOV P2,A LCALL DELAY1 MOV p2,#0FFh ;Chong Nhieu ;LED6 MOV P1,#11111101B MOV A,12H MOVC A,@A+DPTR MOV P2,A LCALL DELAY1 MOV P2,#0FFh ;LED7: MOV P1,#11111110B MOV A,11H MOVC A,@A+DPTR MOV P2,A LCALL DELAY1 MOV p2,#0FFh;Chong Nhieu THOAT_HIENTHI: RET RET DELAY1: MOV R7,#10H nnn: DJNZ R7,nnn RET NGAT_TIMER0: CLR TR0 INC 17H MOV A,17H CJNE A,#10,KET_THUC MOV 17H,#00 INC 16H MOV A,16H CJNE A,#10,KET_THUC MOV 16H,#00 INC 15H MOV A,15H CJNE A,#10,KET_THUC MOV 15H,#00 INC 14H MOV A,14H CJNE A,#6,KET_THUC MOV 14H,#00 INC 13H MOV A,13H CJNE A,#10,KET_THUC MOV 13,#00H INC 12H MOV A,12H CJNE A,#6,KET_THUC MOV 12H,#00H INC 11H MOV A,11H CJNE A,#10,KET_THUC MOV 11H,#00H KET_THUC: MOV TL0,#LOW(-9216) MOV TH0,#HIGH(-9216) SETB TR0 RETI TRE_PHIM: MOV R4,#255 ; lap2: MOV R3,#255 ;tong so tre la 255*255*1,085*10(-6) = 0.7055S lap1: DJNZ R3,lap1 DJNZ R4,lap2 RET CAM_BIEN: LCALL TRE_PHIM LCALL TRE_PHIM INC R0 MOV A,17H MOV @R0,A INC R0 MOV A,16H MOV @R0,A INC R0 MOV A,15H MOV @R0,A INC R0 MOV A,14H MOV @R0,A INC R0 MOV A,13H MOV @R0,A INC R0 MOV A,12H MOV @R0,A INC R0 MOV A,11H MOV @R0,A RETI XEM: CLR TR0 LCALL TRE_PHIM MOV R0,#18H SETB P2.7 LL1: LCALL TRE_PHIM LCALL TRE_PHIM INC R0 MOV A,@R0 MOV 17H,A INC R0 MOV A,@R0 MOV 16,A INC R0 MOV A,@R0 MOV 15H,A INC R0 MOV A,@R0 MOV 14H,A INC R0 MOV A,@R0 MOV 13H,A INC R0 MOV A,@R0 MOV 12H,A INC R0 MOV A,@R0 MOV 11H,A LL2: LCALL HIEN_THI MOV C,P2.7 JNC LL1 SJMP LL2 SETB TR0 RETI BANG_MA_LED: DB 11000000b;0 DB 11111001b DB 10100100b;2 DB 10110000b DB 10011001b DB 10010010b;5 DB 10000010b DB 11111000b DB 10000000b DB 10010000b;9 END Tài liệu tham khảo: 1. Họ vi điều khiển 8051- Tống văn On 2. Cấu trúc và lập trình với họ vi điều khiển 8051 - Nguyễn tăng Cường, Phan Quốc Thắng 3.www.alldatasheet.com và 1 số diễn đàn khỏc

Các file đính kèm theo tài liệu này:

  • docBAOCAO(dong ho cam bien).DOC
  • pdfAT89S52.pdf
  • hexDHCB.hex
  • pdfLM324.pdf
Tài liệu liên quan