Mình viết chương trình hiển thị led bật tắt lần lượt từ p2.0--> p2.3
mối con led lấy tín hiệu từ cổng p2.x và viết dưới dạng chương trình con
,khi bình thường thì led sáng lần lượt ,mình muốn sử dụng ngắt để điều khiển led sáng theo ý muốn.Nhưng mình ko thạo ngắt nhờ mọi người giúp chỉ giúp.
thanks.
$mod851
org 0000h
ljmp main
; ---chuong trinh ngat
org 0013h
inc R4
CMP R4,1
JE LED1
LED1:
SETB P2.0
???????
RETI
org 0030h
main:
mov IE,#10000100b
mov R4,#0
led:
mov p2,#0
lcall led1
lcall led2
lcall led3
lcall led4
sjmp led
;-------cac chuong trinh con
led1:
setb p2.0 ;bat led1
lcall delay
clr p2.0
ret
led2:
setb p2.1 ;bat led2
lcall delay
clr p2.1
ret
led3:
setb p2.2 ;bat led3
lcall delay
clr p2.2
ret
led4:
setb p2.3 ;bat led4
lcall delay
clr p2.3
ret
delay:
mov R5,#14
here:
mov tmod,#01
mov tl0,#0
mov th0,#0
setb tr0
again: jnb tf0,again
clr tr0
clr tf0
djnz R5,here
RET
end
mối con led lấy tín hiệu từ cổng p2.x và viết dưới dạng chương trình con
,khi bình thường thì led sáng lần lượt ,mình muốn sử dụng ngắt để điều khiển led sáng theo ý muốn.Nhưng mình ko thạo ngắt nhờ mọi người giúp chỉ giúp.
thanks.
$mod851
org 0000h
ljmp main
; ---chuong trinh ngat
org 0013h
inc R4
CMP R4,1
JE LED1
LED1:
SETB P2.0
???????
RETI
org 0030h
main:
mov IE,#10000100b
mov R4,#0
led:
mov p2,#0
lcall led1
lcall led2
lcall led3
lcall led4
sjmp led
;-------cac chuong trinh con
led1:
setb p2.0 ;bat led1
lcall delay
clr p2.0
ret
led2:
setb p2.1 ;bat led2
lcall delay
clr p2.1
ret
led3:
setb p2.2 ;bat led3
lcall delay
clr p2.2
ret
led4:
setb p2.3 ;bat led4
lcall delay
clr p2.3
ret
delay:
mov R5,#14
here:
mov tmod,#01
mov tl0,#0
mov th0,#0
setb tr0
again: jnb tf0,again
clr tr0
clr tf0
djnz R5,here
RET
end
Comment