Kết quả 1 đến 6 của 6
-
28-11-2010, 19:58 #1
Hiện thị số lần Ấn phím dùng 89c52
Chào mọi người
Minh có bài này vừa học xòn làm được cảm thấy hay nên up lên mọi người xem thế nào
Đề Bài là: ứng dụng 89c52 sử dụng time2 để hiện thì số lần ấn phím (max 99) dùng 3 phím tăng, giảm và reset
Đây là toàn bộ chương trình
Các bạn có thể Download
http://www.data.webdien.com/free/dow...95de3dbb3c3312
Lưu ý: mình dùng Protues 6.9 các bạn phải dùng bản cao hơn hoặc = mới mở được hj
nếu không có thể vẽ hình như sau
Mã đoạn chương trình
Code:;======================================================= ; BAM PHIM TANG, GIAM, RESET VA HIEN THI ;======================================================= ORG 0000H LJMP INIT ORG 0003H ;KHONG CHO CAC NGAT NGOAI LAM VIEC RETI ORG 000BH ; RETI ORG 0013H ; RETI ORG 0023H ; RETI ORG 002BH ;CHO TIME2 LAM VIEC LJMP INT_T2 ;============================= ;KHAI BAO BIEN ;============================= NUM EQU 50H D0 EQU 51H D1 EQU 52H INCF EQU 00H DECF EQU 60H ;============================= ;KET THUC KHAI BAO BIEN ;============================= ;************************************************ ; NGAN CACH GIUA CAC CHUONG TRINH ;************************************************ ;============================= ; KHOI TAO CHUONG TRINH ;============================= ORG 100 INIT: CLR EA ;XOA THANH GHI EA MOV SP,#2FH ;KHOI TAO NGAN XEP MOV T2CON,#04H ;DE LAM VIEC CHE DO T2 ;VA AUTO_RLLOAD MOV RCAP2H,#0B1H ;CHU KY LAM VIEC 20mS MOV RCAP2L,#0E0H ;CHU KY LAM VIEC 20mS MOV NUM,#50 MOV INCF,#0 MOV R7,#0 SETB IE.5 SETB EA HERE: SJMP HERE ;=============================== ; 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 JB P1.0,KT1 INC NUM MOV A,#1 MOV INCF,A MOV A,NUM CJNE A,#100,KT1 MOV NUM,#0 XOA: JNB P1.0,KT1 MOV A,INCF MOV A,#0 MOV INCF,A 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 JB P1.1,KT2 DEC NUM MOV A,#1 MOV DECF,A MOV A,NUM CJNE A,#0FFH,KT2 MOV NUM,#99 XOA1: JNB P1.1,KT2 MOV A,DECF MOV A,#0 MOV DECF,A KT2: RET ;=============================== ; KET THUC CHUONG TRINH ;=============================== ;************************************************ ; NGAN CACH GIUA CAC CHUONG TRINH ;************************************************ ;=============================== ;SUBROUTINE RESET ; CHUONG TRINH RESET ;INPUT: NONE ;OUTPUT: NONE ;=============================== RESET: JB P1.2,KT3 MOV NUM,#50 KT3: 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 ;CHUYEN "NUM" VAO THANH GHI "A" MOV B,#10 ;CHO THANH GHI "B" BANG 10 DIV AB ; CHIA LAY PHAN DU MOV D0,B ;SO DU CHUYEN VAO B => CHUYEN PHAN DU VAO D0 MOV D1,A ;THUONG SO CHUYEN VAO A => CHUYEN THUONG SO VAO D1 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 ;XOA CO BAO NGAT TRAN TIME2 "TF2" LCALL HEXTOBCD ;GOI CHUONG TRINH "HEXTOBCD" LCALL BCDTO7T ;GOI CHUONG TRINH "BCDTO7T" LCALL DISPLAY LCALL TANG LCALL GIAM LCALL RESET RETI ;=================================== ; KET THUC CHUONG TRINH ;=================================== ;************************************************ ; NGAN CACH GIUA CAC CHUONG TRINH ;************************************************ ;=================================== ;SUBROUTNI BCDTO7T ;INPUT: NONE ;OUTPUT: NONE ;=================================== BCDTO7T: MOV DPTR,#SEGMENT ;CHUYEN MA 7 THANH VAO THANH GHI "DPTR" MOV A,D0 ;CHUYEN NOI DUNG D0 VAO THANH GHI "A" MOVC A,@A+DPTR ;DOC NOI DUNG THANH GHI A CONG VOI NOI DUNG ;THANH GHI "DPTR" KET QUA CAT "A" MOV D0,A ;CHUYEN NOI DUNG D0 VAO THANH GHI "A" MOV A,D1 ;CHUYEN NOI DUNG D1 VAO THANH GHI "A" MOVC A,@A+DPTR ;DOC NOI DUNG THANH GHI A CONG VOI NOI DUNG ;THANH GHI "DPTR" KET QUA CAT "A" MOV D1,A ;CHUYEN NOI DUNG D1 VAO THANH GHI "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,LED2 MOV P2,#1B MOV P0,D0 SJMP XLR7 LED2: MOV P2,#2 MOV P0,D1 XLR7: INC R7 CJNE R7,#2,KT MOV R7,#00H KT: RET ;=================================== ; KET THUC CHUONG TRINH ;=================================== ;************************************************ ; NGAN CACH GIUA CAC CHUONG TRINH ;************************************************ ;=================================== ; MA 7 THANH ;=================================== SEGMENT: ;THUOC BO NHO CHUONG TRINH "MOVC" 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 ;====================================]
Chúc các bạn vui vẻ
Chào các bạn
Lưu ý: Đọc xong thank e cái nhé
hhjhjhjhjhjhj-------------------------------------------------------------------------------- Xem bài viết cùng chuyên mục:
- viết chương trình hiển thị ra led 7 đoạn từ 0-9.viết cụ thể nha.thank nhiu !
- Các đề tài VDK 8051
- Tập Lệnh 8051
- 89c51 ai biết hướng dẫn dùm
- Tạo mạch chữ chạy
- Đo tốc độ động cơ bằng encoder
- Mạch đo nhiệt độ dùng 8051 hiển thị lên led 7 đoạn
- 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
- Mạch Đèn Giao Thông Ngã 4 dùng 89c52
- mong được giúp đỡ về led 7 đoạn
Sửa lần cuối bởi haprohaui; 30-11-2010 lúc 11:03.
-
The Following 2 Users Say Thank You to haprohaui For This Useful Post:
-
-
28-11-2010, 23:53 #2
Ðề: Hiện thị số lần Ấn phím dùng 89c52
sao file mo ko dc v ban oi
-
29-11-2010, 11:02 #3
Ðề: Hiện thị số lần Ấn phím dùng 89c52
Hiện đại quá mà xài mấy cái bằng cơ cũng ok thôi
CÓ HỌC VẤN MÀ KO CÓ LƯƠNG TÂM , CHỈ LÀM CHO TINH THẦN BẠI HOẠI. (RABELAIS)
CHẢ ĐƯỢC GÌ
CHỈ ĐƯỢC GIÀ!
-
29-11-2010, 17:10 #4
-
29-11-2010, 21:04 #5
Ðề: Hiện thị số lần Ấn phím dùng 89c52
Phong cách lập trình trong sáng .
Mình đọc qua CODE thấy bạn chưa xử lý hiện tượng rung phím. Trên Mô phỏng nếu dùng nút bấm thì không thấy được hiện tượng này . Theo mình bạn nên triển khai làm demo ( đơn giản nhất là cắm board ) rồi update code xem sao. Mĩnh nghĩ rằng nhìn thật vẫn sướng hơn nhìn mô phỏng
-
29-11-2010, 23:58 #6
Ðề: Hiện thị số lần Ấn phím dùng 89c52
cảm ơn anh đã ủng hộ
em có ý tưởng làm mạch thật rồi nhưng không phải bài này mà bài khác
e cho làm 4 led 7 thanh và có phím bấn đào chiều đếm không phải như thế này nữa
bác xem thử em xem bài này giúp em với được không
http://webdien.com/d/showthread.php?t=11182
em cảm ơn nhé
Trả lời với tài khoản Facebook
Các Chủ đề tương tự
-
Thảo luận - Hàm delay 1s cho 89C52
Bởi phamhatb trong diễn đàn ỨNG DỤNG ĐIỆN TỬTrả lời: 2Bài cuối: 08-03-2022, 16:07 -
Trợ giúp - Giúp về AT 89c52
Bởi maiyeulyt trong diễn đàn Vi xử lý - Vi điều khiểnTrả lời: 0Bài cuối: 06-01-2014, 10:34 -
Thảo luận - hỏi về 89c51 và 89c52
Bởi timnguoiyeu123 trong diễn đàn Vi xử lý - Vi điều khiểnTrả lời: 5Bài cuối: 12-05-2013, 19:04 -
Mạch Đèn Giao Thông Ngã 4 dùng 89c52
Bởi haprohaui trong diễn đàn Vi xử lý - Vi điều khiểnTrả lời: 22Bài cuối: 22-01-2013, 19:47 -
Trợ giúp - Cần giúp đỡ về ic 89c52 làm đồ án về đồng hồ hiển thị trên lcd
Bởi khoiqb1987 trong diễn đàn Vi xử lý - Vi điều khiểnTrả lời: 4Bài cuối: 02-03-2012, 10:39