Kết quả 1 đến 10 của 25
Chủ đề: ĐỀ SỐ 4: Mạch Đếm
-
17-02-2011, 19:14 #1
ĐỀ SỐ 4: Mạch Đếm
Chào các bạn khoa Điện
Sau khi học xong môn vi xử lý mình có làm được mấy mạch nên mình Share cho các bạn tham khảo
Đề Bài: Ứng dụng họ vi điều khiển 8051 ghép nối 4 LED bảy thanh để hiện thị số lần ấn phím
Hoạt Động: Khi ấn một trong các nút ấn thì 4 LED bảy thanh sẽ hiện thị số lần ấn phím
1 cảm biến hồng ngoại dùng để RESET và 1 cảm biến hồng ngoại dùng để ĐẢO CHIỀU ĐẾM
Mạch và chương trình có thể download TẠI ĐÂY
Sơ đồ
Code
Code:;*******************************************************************; ;*/////////////////////////////////////////////////////////////////*; ;*/ TRUONG DAI HOC CONG NGHIEP HA NOI /*; ;*/ KHOA - DIEN /*; ;*/ CHUONG TRINH HIEN THI SO LAN AN PHIM TREN LED 7 THANH /*; ;*/ CHUONG TRINH BOI: PHAN VAN HA /*; ;*/ TUC LA : HAPROHAUI /*; ;*/ DUOC UP LEN FORUM : WEBDIEN.COM /*; ;*/////////////////////////////////////////////////////////////////*; ;******************************************************************* ;======================================================= ; BAM PHIM TANG, GIAM, RESET VA HIEN THI ;======================================================= ORG 0000H LJMP INIT ORG 0003H RETI ORG 000BH RETI ORG 0013H RETI ORG 0023H RETI ORG 002BH LJMP INT_T2 ;============================= ;KHAI BAO BIEN ;============================= NUM EQU 50H D0 EQU 51H D1 EQU 52H D2 EQU 53H D3 EQU 54H NUM1 EQU 55H ZOV EQU 05H CHIEU EQU 60H INCF EQU 00H DECF EQU 01H CHF EQU 03H ;============================= ;KET THUC KHAI BAO BIEN ;============================= ;************************************************ ; NGAN CACH GIUA CAC CHUONG TRINH ;************************************************ ;============================= ; KHOI TAO CHUONG TRINH ;============================= ORG 100 INIT: CLR EA MOV SP,#2FH MOV T2CON,#04H MOV RCAP2H,#0D8H MOV RCAP2L,#0F0H MOV NUM,#00 MOV NUM1,#00 MOV INCF,#0 MOV CHIEU,#0 MOV CHF,#0 MOV R7,#0 SETB IE.5 SETB EA HERE: SJMP HERE ;=============================== ; KET THUC CHUONG TRINH ;=============================== ;************************************************ ; NGAN CACH GIUA CAC CHUONG TRINH ;************************************************ ;=============================== ;SUBROUTINE KT_DEM ; CHUONG TRINH KIEM TRA CHIEU DEM ;INPUT: NONE ;OUTPUT: NONE ;=============================== KT_DEM: MOV A,CHF CJNE A,#0,XLY JB P1.3,GA MOV CHF,#1 INC CHIEU GA: MOV A,CHIEU CJNE A,#1,TA LCALL GIAM SJMP XLY1 TA: MOV A,CHIEU CJNE A,#0,RA1 LCALL TANG XLY: JNB P1.3,RA1 MOV A,CHF MOV A,#0 MOV CHF,A XLY1: MOV A,CHIEU CJNE A,#2,RA1 MOV CHIEU,#0 RA1: RET ;=============================== ; KET THUC CHUONG TRINH ;=============================== ;************************************************ ; NGAN CACH GIUA CAC CHUONG TRINH ;************************************************ ;=============================== ;SUBROUTINE KT_RESET ; CHUONG TRINH KIEM TRA RESET ;INPUT: NONE ;OUTPUT: NONE ;=============================== KT_RESET: MOV A,P1 ANL A,#1FH CJNE A,#0FH,RA MOV NUM,#00 MOV NUM1,#00 RA: RET ;=============================== ; KET THUC CHUONG TRINH ;=============================== ;************************************************ ; NGAN CACH GIUA CAC CHUONG TRINH ;************************************************ ;=============================== ;SUBROUTINE TANG ; CHUONG TRINH TANG ;INPUT: NONE ;OUTPUT: NONE ;=============================== TANG: MOV A,INCF CJNE A,#0,XOA MOV INCF,A MOV A,P1 ANL A,#1FH CJNE A,#1EH,M1 INC NUM MOV INCF,#1 SJMP NHAY M1: CJNE A,#1DH,M2 INC NUM MOV INCF,#1 SJMP NHAY M2: CJNE A,#1CH,M3 INC NUM MOV INCF,#1 SJMP NHAY M3: CJNE A,#1BH,KT1 INC NUM MOV INCF,#1 SJMP NHAY NHAY: MOV A,NUM CJNE A,#100,KT1 MOV NUM,#0 INC NUM1 MOV A,NUM1 CJNE A,#100,KT1 MOV NUM1,#0 XOA: JNB P3.2,KT1 MOV INCF,#0 KT1: RET ;=============================== ; KET THUC CHUONG TRINH ;=============================== ;************************************************ ; NGAN CACH GIUA CAC CHUONG TRINH ;************************************************ ;=============================== ;SUBROUTINE GIAM ; CHUONG TRINH GIAM ;INPUT: NONE ;OUTPUT: NONE ;=============================== GIAM: MOV A,DECF CJNE A,#0,XOA1 MOV DECF,A MOV A,P1 ANL A,#1FH CJNE A,#1EH,K1 DEC NUM MOV DECF,#1 SJMP NHAY1 K1: CJNE A,#1DH,K2 DEC NUM MOV DECF,#1 SJMP NHAY1 K2: CJNE A,#1CH,K3 DEC NUM MOV DECF,#1 SJMP NHAY1 K3: CJNE A,#1BH,KT2 DEC NUM MOV DECF,#1 SJMP NHAY1 NHAY1: MOV A,NUM CJNE A,#0FFH,KT2 MOV NUM,#99 DEC NUM1 MOV A,NUM1 CJNE A,#0FFH,KT2 MOV NUM1,#99 XOA1: JNB P3.2,KT2 MOV DECF,#0 KT2: RET ;=============================== ; KET THUC CHUONG TRINH ;=============================== ;************************************************ ; NGAN CACH GIUA CAC CHUONG TRINH ;************************************************ ;=============================== ;SUBROUTINE HEXTOBCD ; HEX TO BCD ;INPUT: NUM ;OUTPUT: D1,D0 ;=============================== HEXTOBCD: MOV A,NUM MOV B,#10 DIV AB MOV D0,B MOV D1,A MOV A,NUM1 MOV B,#10 DIV AB MOV D2,B MOV D3,A RET ;================================= ; KET THUC CHUYEN TRINH CON ;================================= ;************************************************ ; NGAN CACH GIUA CAC CHUONG TRINH ;************************************************ ;================================== ;INT INT_T2 ; CHUONG TRINH HIEN THI SO LAN AN PHIM VA HIEN THI ;INPUT: NONE ;OUTPUT: NONE ;=================================== INT_T2: CLR TF2 LCALL HEXTOBCD LCALL BCDTO7T LCALL DISPLAY LCALL KT_DEM LCALL KT_RESET RETI ;=================================== ; KET THUC CHUONG TRINH ;=================================== ;************************************************ ; NGAN CACH GIUA CAC CHUONG TRINH ;************************************************ ;=================================== ;SUBROUTNI BCDTO7T ;INPUT: NONE ;OUTPUT: NONE ;=================================== BCDTO7T: MOV DPTR,#SEGMENT MOV A,D0 MOVC A,@A+DPTR MOV D0,A MOV A,D1 MOVC A,@A+DPTR MOV D1,A MOV A,D2 MOVC A,@A+DPTR MOV D2,A MOV A,D3 MOVC A,@A+DPTR MOV D3,A RET ;=================================== ; KET THUC CHUONG TRINH ;=================================== ;************************************************ ; NGAN CACH GIUA CAC CHUONG TRINH ;************************************************ ;=================================== ;SUBROUTINE DISPLAY ; HIEN THI LEN LED 7 THANH ;INPUT: ;OUTPUT: ;=================================== DISPLAY: CJNE R7,#0,LED1 MOV P2,#8 MOV P0,D0 SJMP XLR7 LED1: CJNE R7,#1,LED2 MOV P2,#4 MOV P0,D1 SJMP XLR7 LED2: CJNE R7,#2,LED3 MOV P2,#2 MOV P0,D2 SJMP XLR7 LED3: CJNE R7,#3,KT MOV P2,#1 MOV P0,D3 SJMP XLR7 XLR7: INC R7 CJNE R7,#4,KT MOV R7,#00H KT: RET ;=================================== ; KET THUC CHUONG TRINH ;=================================== ;************************************************ ; NGAN CACH GIUA CAC CHUONG TRINH ;************************************************ ;=================================== ; MA 7 THANH ;=================================== SEGMENT: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;SO THAP PHAN 0 1 2 3 4 5 6 7 8 9 ;==================================== ; KET THUC CHUONG TRINH ;====================================
ps: Thấy hay thanks cái
-------------------------------------------------------------------------------- Xem bài viết cùng chuyên mục:
- Các đề tài VDK 8051
- Tập Lệnh 8051
- viết chương trình hiển thị ra led 7 đoạn từ 0-9.viết cụ thể nha.thank nhiu !
- 89c51 ai biết hướng dẫn dùm
- Tạo mạch chữ chạy
- Mạch đo nhiệt độ dùng 8051 hiển thị lên led 7 đoạn
- Đo tốc độ động cơ bằng encoder
- mạch chỉnh lưu có điều khiển dùng scr
- thiết kế mạch điều khiển nhiệt độ lò ấp trứng
- mạch đồng hồ thới gian thực 8051
- Mạch đếm 74LS192
- Cách viết chương trình cho ic chạy chử
- chế tạo mạch điểu khiển từ xa
- mong được giúp đỡ về led 7 đoạn
- Mạch Đèn Giao Thông Ngã 4 dùng 89c52
[FLASH]http://fc03.deviantart.net/fs10/f/2006/127/5/e/Dragon.swf[/FLASH]
-
The Following 10 Users Say Thank You to haprohaui For This Useful Post:
-
-
18-02-2011, 22:26 #2
Ðề: ĐỀ SỐ 4: Mạch Đếm
bạn giải thích rõ hơn đi. Tại sao lại có 4 cái nút? Mình thử mô phỏng trên Protues thì chỉ thấy LED nháy 1 cái thôi.
-
18-02-2011, 23:19 #3
-
19-02-2011, 10:03 #4
Ðề: ĐỀ SỐ 4: Mạch Đếm
[FLASH]http://fc03.deviantart.net/fs10/f/2006/127/5/e/Dragon.swf[/FLASH]
-
19-02-2011, 10:47 #5
Ðề: ĐỀ SỐ 4: Mạch Đếm
chuối, nhìn mấy cái code ASM mà đau cả mắt. cả 4 nút đều giống nhau về chức năng thì làm 1 phím cho nhanh. bày ra 4 phím làm gì. ah quên, bạn cần chú ý đến vấn đề chống rung cho phím nhé, mô phòng là 1 chuyện còn thực tế sử dụng là chuyện khác đó.
-
19-02-2011, 10:56 #6
-
19-02-2011, 11:32 #7
-
19-02-2011, 15:18 #8
-
19-02-2011, 16:32 #9
-
19-02-2011, 22:11 #10