PIC
高手们,帮我看一下这个程序怎么了好吗?我是要B口中断,计数,输出,储存,再输出到电脑
f4 EQU H'0020
W_temp EQU H'0021'
STATUS_temp EQU H'0022'
org 0x00
goto mainline
org 0x04
goto intservice
mainline
call initial
mainloop
goto mainloop
intservice
banksel INTCON
btfsc INTCON,INTF
CALL COUNT
CALL intservice_timer
return
intservice_timer
movwf W_Temp
swapf STATUS,w
movwf STATUS_Temp
btfsc PIR1,TMR1IF
CALL TIMER1
swapf STATUS_Temp,w
movwf STATUS
swapf W_Temp,f
swapf W_Temp,w
return
COUNT
banksel INTCON
bcf INTCON,INTF
incf f4,f
movf f4,w
movwf PORTD
clrf PORTB
return
TIMER1
banksel PIR1
bcf PIR1,TMR1IF
call send_data
clrf TMR1L
clrf TMR1H
banksel T1CON
bsf T1CON,TMR1ON
banksel INTCON
bsf INTCON,GIE
return
initial
banksel OPTION_REG
bsf OPTION_REG,INTEDG
bcf OPTION_REG,NOT_RBPU
movlw B'11010000'
movwf INTCON
bsf TRISB,0
bsf TRISB,1
clrf PORTB
clrf TRISD
bsf TRISE,PSPMODE
banksel TRISC
bcf TRISC,6
bsf TRISC,7
movlw D'25'
movwf SPBRG
bsf TXSTA,BRGH
bsf TXSTA,TXEN
banksel RCSTA
bsf RCSTA,CREN
bsf RCSTA,SPEN
banksel T1CON
movlw B'00110000'
movwf T1CON
clrf TMR1L
clrf TMR1H
banksel INTCON
bsf INTCON,PEIE
banksel PIE1
clrf PIE1
bsf PIE1,TMR1IE
bsf PIE1,PSPIE
bsf PIE1,TXIE
banksel PIR1
clrf PIR1
clrf TMR1L
clrf TMR1H
bsf T1CON,TMR1ON
banksel INTCON
bsf INTCON,GIE
clrf f4
return
send_data
banksel PIR1
btfsc PIR1,TXIF
goto send_TX
goto send_data
send_TX
banksel TXREG
movf f4,w
movwf TXREG
return
END
发表时间:2003年7月25日10:44:38