+ 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õ )
 
              
                                            
                                
            
 
            
                 9 trang
9 trang | 
Chia sẻ: oanh_nt | Lượt xem: 1620 | Lượt tải: 0 
              
            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