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