• Webdien.com - Cầu nối dân điện


    1. [HOT] - Webdien đang tuyển các vị trí quản lý cao cấp


  • Kết quả 1 đến 6 của 6
    1. #1
      Tham gia
      25-10-2010
      Bài viết
      64
      Cảm ơn
      0
      Được cảm ơn 36 lần, trong 15 bài

      Mặc định 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
      ;====================================]
      Mình trình bày nữa nên nhìn hơi dài
      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:

      Sửa lần cuối bởi haprohaui; 30-11-2010 lúc 11:03.

    2. The Following 2 Users Say Thank You to haprohaui For This Useful Post:


    3. #2
      Tham gia
      11-11-2010
      Bài viết
      12
      Cảm ơn
      0
      Được cảm ơn 0 lần, trong 0 bài

      Mặc định Ðề: Hiện thị số lần Ấn phím dùng 89c52

      sao file mo ko dc v ban oi

    4. #3
      Tham gia
      05-10-2010
      Bài viết
      609
      Cảm ơn
      225
      Được cảm ơn 299 lần, trong 191 bài

      Mặc định Ðề: 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À!

    5. #4
      Tham gia
      25-10-2010
      Bài viết
      64
      Cảm ơn
      0
      Được cảm ơn 36 lần, trong 15 bài

      Mặc định Ðề: Hiện thị số lần Ấn phím dùng 89c52

      Trích dẫn Gửi bởi saobang_bd90 Xem bài viết
      sao file mo ko dc v ban oi
      Chào bạn
      cho mình hỏi bạn dùng Protues phiên bản nào
      Phiên bản mình dùng để vẽ là 6.9
      Bạn có thể dùng các phiên bản >= 6.9 la mở ok thui
      nếu bạn ko có phiên bản lớn hơn thì bạn vẽ giống như hình ơ trên là được thui mà
      Chào

    6. #5
      Tham gia
      21-06-2009
      Bài viết
      310
      Cảm ơn
      110
      Được cảm ơn 262 lần, trong 124 bài

      Mặc định Ðề: 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

    7. #6
      Tham gia
      25-10-2010
      Bài viết
      64
      Cảm ơn
      0
      Được cảm ơn 36 lần, trong 15 bài

      Mặc định Ðề: Hiện thị số lần Ấn phím dùng 89c52

      Trích dẫn Gửi bởi aladanh2000 Xem bài viết
      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
      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ự

    1. Trợ giúp - Giúp về AT 89c52
      Bởi maiyeulyt trong diễn đàn Vi xử lý - Vi điều khiển
      Trả lời: 0
      Bài cuối: 06-01-2014, 10:34
    2. Thảo luận - hỏi về 89c51 và 89c52
      Bởi timnguoiyeu123 trong diễn đàn Vi xử lý - Vi điều khiển
      Trả lời: 6
      Bài cuối: 12-05-2013, 19:04
    3. 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: 1
      Bài cuối: 26-03-2013, 09:16
    4. 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ển
      Trả lời: 22
      Bài cuối: 22-01-2013, 19:47
    5. 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ển
      Trả lời: 4
      Bài cuối: 02-03-2012, 10:39
    Văn Võ Trạng Nguyên
    Hắc Hiệp Đại Chiến Thánh Bài 2
    Đặc Cảnh Diệt Ma
    Khử Ma Đạo Trưởng
    Cương Thi Diệt Tà
    Sự Hình Thành Của Đế Chế Mông Cổ
    NHỮNG KHOẢNH KHẮC ĐÁNG NHỚ CỦA GIẢI GOLF PHÚ MỸ HƯNG 2016