您当前的位置:五五电子网电子知识单片机-工控设备PIC单片机pic16f876a红外接收及ERROR程序 正文
pic16f876a红外接收及ERROR程序

pic16f876a红外接收及ERROR程序

点击数:7475 次   录入时间:03-04 11:50:11   整理:http://www.55dianzi.com   PIC单片机

pIC16f876a红外ERROR程序

include <p16f876a.inc>
status    equ    03h    
rp0    equ    05h        
z    equ    02h    
c    equ    00h    
pcl    equ    02h    
porta    equ    05h    
trISA    equ    85h    
portc    equ    07h    
trisc    equ    87h    
portb    equ    06h    
trisb    equ    86h    
;--------tmr0--------------
tmr0    equ    01h        ; 4Mt=256(256-tmr0b)=50ms 
option_reg    equ    81h
iNTCon    equ    0bh
t0if    equ    02h
wtemp    equ    19h
;-----------------------
ADDR     EQU 20H ;写入地址寄存器
NUM      EQU 21H ;写入值
REC      EQU 22H ;读计数
WRC      EQU 24H ;写计数
rec1     EQU 25H
count    EQU 26H
;-------------------------
count1    EQU 27H
count2    EQU 28H
flag    equ    30h    
flag1    equ    31h    
flag2    equ    32h    
flag3    equ    33h    
;
flag4    equ    34h    
;===============================
    org    00h
    nop
    goto    start
    org    04h
;
;=========中断服务子服务=======
serv                
    MOVwf    wtemp
    bcf    intcon,t0if
    btfsc    flag4,0
    goto    delay3ms7
;
    btfss    flag4,3
    goto    www
    decfsz    count1
    goto    www        ;250uS未到继续计脉冲数goto www
    MOVlw    0x03
    MOVwf    count1
    bsf    flag4,2
    goto    www
;
delay3ms7
    btfss    flag4,4
    goto    www
    decfsz    count2
    goto    www        ;3.7mS未到继续计脉冲数goto www
    bsf    flag4,1
    MOVlw    0x0f
    MOVwf    count2
;
www    MOVlw    0x0e        ;250us    
    MOVwf    tmr0
    MOVf    wtemp,0
    retfie

;==================================
start    
    nop
    bsf    status,rp0
    clrf    trisc        
    MOVlw    b’00000000’    
    MOVwf    trisa
    MOVlw    b’00000101’
    MOVwf    trisb    
    MOVlw    b’00000000’    ;1:1                     
    MOVwf    option_reg
    bcf    status,rp0
    clrf    flag4
;-----------
    MOVlw     00h        ;写入EEPROM初始地址从0开始
     MOVwf     ADDR      
     MOVwf     rec1
     MOVlw    0        ;//初始写入值
     MOVwf     NUM          
     MOVlw     30h        ;间接寻址,读出值初始存放地址
    MOVwf     FSR          
    MOVlw     0100h        ;//写入次数
    MOVwf     WRC           

;============ 复位时将EEPROM全清除掉 ============== 
    clrf    count
CC    bsf     STATUS,RP1
     bsf     STATUS,RP0          
     btfsc     EECON1,WR     
     goto     $-1
     bcf     STATUS,RP0 
    bcf     STATUS,RP1      
    MOVf    count,0
     bsf     STATUS,RP1      
     MOVwf     EEADR        
     bcf     STATUS,RP1      

[1] [2] [3] [4] [5] [6]  下一页


本文关键字:程序  ERROR  PIC单片机单片机-工控设备 - PIC单片机