em muốn làm mạch đếm sản phẩm như sau: đầu tiên, khi bắt đầu chạy vi điều khiển thì các led hiện ra chữ " START ". sau đó là các số 00000
khi bắt đầu có ngắt ở chân INT0 thì các số đếm thực hiện đếm thêm 1 đơn vị sản phẩm.
em làm 1 chương trình hiển thị chữ " START " và 1 chương trình chạy đếm số sản phẩm riêng rẽ thì ngon lành. nhưng, khi ghép chúng lại thành 1 chương trình thì lại không chạy. nghĩa là nếu cho thêm phần hiển thị chữ " START" vào thì nó chỉ hiển thị chữ đó thôi mà ko đếm. nếu xoá đoạn chương trình hiển thị đó đi thì nó lại đếm bình thường.
mọi người xem giúp hộ em với được không ạ
em cám ơn nhiều.
khi bắt đầu có ngắt ở chân INT0 thì các số đếm thực hiện đếm thêm 1 đơn vị sản phẩm.
em làm 1 chương trình hiển thị chữ " START " và 1 chương trình chạy đếm số sản phẩm riêng rẽ thì ngon lành. nhưng, khi ghép chúng lại thành 1 chương trình thì lại không chạy. nghĩa là nếu cho thêm phần hiển thị chữ " START" vào thì nó chỉ hiển thị chữ đó thôi mà ko đếm. nếu xoá đoạn chương trình hiển thị đó đi thì nó lại đếm bình thường.
mọi người xem giúp hộ em với được không ạ
em cám ơn nhiều.
Code:
ORG 000H LJMP MAIN ORG 0003H LJMP DEM_SP MAIN: MOV IE,#81H SETB TCON.0 ; CHU Y : NEU KHÔNG CO DONG NAY THI CHUONG TRINH SE BI LOI ( NGHE NOI NO CO TAC DUNG CHUYEN NGAT THEO SUON) ; DIEU CHINH NGAT THEO MUC HAY THEO SUON ( tr 174 ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; CHUONG TRINH HIEN THI CHU START MOV R0,#012 START: MOV P1,#00H ; CHUONG TRINH HIEN THI MOV A,#0EH MOVC A,@A+DPTR MOV P2,A SETB P1.0 LCALL DELAY CLR P1.0 MOV A,#0DH MOVC A,@A+DPTR MOV P2,A SETB P1.1 LCALL DELAY CLR P1.1 MOV A,#0CH MOVC A,@A+DPTR MOV P2,A SETB P1.2 LCALL DELAY CLR P1.2 MOV A,#0BH MOVC A,@A+DPTR MOV P2,A SETB P1.3 LCALL DELAY CLR P1.3 MOV A,#0AH MOVC A,@A+DPTR MOV P2,A SETB P1.4 LCALL DELAY CLR P1.4 DJNZ R0, START SJMP DEM DEM: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; CHUONG TRINH HIEN THI SO DV EQU 30H CHUC EQU 31H TRAM EQU 32H NGAN EQU 33H VAN EQU 34H CHUC_VAN EQU 35H MOV DV , #00H MOV CHUC, #00H MOV TRAM, #00H MOV NGAN, #00H MOV VAN , #00H MOV A, #00H MOV DPTR ,#0070H HIEN_THI: MOV P1,#00H ; CHUONG TRINH HIEN THI MOV A,DV MOVC A,@A+DPTR MOV P2,A SETB P1.0 ; LCALL DELAY CLR P1.0 MOV A,CHUC MOVC A,@A+DPTR MOV P2,A SETB P1.1 ; LCALL DELAY CLR P1.1 MOV A,TRAM MOVC A,@A+DPTR MOV P2,A SETB P1.2 ; LCALL DELAY CLR P1.2 MOV A,NGAN MOVC A,@A+DPTR MOV P2,A SETB P1.3 ; LCALL DELAY CLR P1.3 MOV A,VAN MOVC A,@A+DPTR MOV P2,A SETB P1.4 ; LCALL DELAY CLR P1.4 LJMP HIEN_THI DEM_SP: CLR EX0 INC DV MOV R0,DV CJNE R0,#10,THOAT MOV DV,#0 INC CHUC MOV R0,CHUC CJNE R0,#10,THOAT MOV CHUC,#0 INC TRAM MOV R0,TRAM CJNE R0,#10,THOAT MOV TRAM,#0 INC NGAN MOV R0, NGAN CJNE R0,#10,THOAT MOV NGAN,#0 INC VAN MOV R0,VAN CJNE R0,#10,THOAT THOAT: SETB EX0 RETI DELAY: MOV R7,#0FFH LAP: DJNZ R7, LAP RET ORG 0070H TABLE: DB 0C0H, 0F9H , 0A4H , 0B0H , 099H , 092H , 082H , 0F8H , 080H , 090H ,092H , 0F8H , 088H , 0CCH , 0F8H END
Comment