中文字幕无码不卡一区二区三区_少妇被又大又粗又爽毛片久久黑人_91精品国产在热久久无毒不卡_久久久久久亚洲综合网站

技術(shù)熱線: 4007-888-234

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

技術(shù)支持

PIC16F877單片機(jī) Boot-Loader 使用范例程式

更新時間: 2019-03-22

單片機(jī)代理商深圳英銳恩分享PIC16F877單片機(jī) Boot-Loader 使用范例程式。

LIST P=16f877

    include


LoopVar1    EQU 0x20
LoopVar2    EQU 0x21

    org 0x100
    goto    Prog_Main

Vector
    org 0x104
    goto    ISRs

Delay
    clrf    LoopVar1
    clrf    LoopVar2
Delay2
    nop
    nop
    nop
    nop
    nop
    nop
    decfsz  LoopVar2,F
    goto    Delay2
    decfsz  LoopVar1,F
    goto    Delay2
    return  

ISRs                ;
    nop
    retfie
   end

boot877。。。。。。。。。。。。。。。。。。。。。。。。。。。

;************************************************
;* 876UART3.ASM                                 *

;************************************************

        list p=16f877
        #include
 
 
;********************************************************************

w_temp          EQU     0x71
status_temp     EQU     0x72
pclath_temp     EQU     0x73
USART_Ptr       EQU     0x74

Temp1           EQU     H'75'   ; The Registers for Boot Load !!
Temp2           EQU     H'76'
F_ADDRH         EQU     H'77'
F_ADDRL         EQU     H'78'
F_DATAH         EQU     H'79'
F_DATAL         EQU     H'7a'
F_Cntr          EQU     H'7b'
;************************************************************************ 

 ;***************************************************************************

 ORG 0X004
      
                movwf   w_temp            ; save off current W register contents
                movf    STATUS,w          ; move status register into W register
                movwf   status_temp       ; save off contents of STATUS register
                movf    PCLATH,W
                movwf   pclath_temp

  clrf PCLATH  ; !! Clear PCLATH , will set all Table to First 256 word !!

movlw   B'10101000'
        movwf   TXSTA

        bsf     PIE1,RCIE

        BANKSEL RCSTA
        movlw   B'10110000'
        movwf   RCSTA
       
        bcf     CTS_CTRL         ; Enable receive from PC
        bsf     INTCON,GIE
        bsf     INTCON,PEIE

        movlw   BUF_OF_RECEIVE
        movwf   FSR

 movlw   (OK_String-Wait_String)
        call    USART_Message

        goto    0x100

;*****************************************************************************************
;****   The Message Table contain the characters of each information !!
;***************************************************************************************** 

Msg_Table:
                addwf   PCL,F
Wait_String:    DT      "Ready",0x0d,0x0a
Unknow_String:  DT      "Unknow?",0x0d,0x0a
OK_String:      DT      "OK",0x0d,0x0a
Reset_String:   DT      "Reset",0x0d,0x0a
;*****************************************************************************************
;************   End of Message !!       **************************************************
;*****************************************************************************************

Boot_Main:
        
        bcf     INTCON,GIE ; Disable Receive Interrupt

        BANKSEL PIR1
Wait_HEX_Line:

btfss   PIR1,RCIF
        goto    Wait_HEX_Line
        movf    RCREG,W

        xorlw   ':'
        btfss   STATUS,Z
        goto    Wait_HEX_Line

        movlw   0xa0            ; Initial The Buffer Address !!
        movwf   FSR
        movlw   ':'
        movwf   INDF
        incf    FSR,F

Wait_RCIF2
        btfss   PIR1,RCIF
        goto    Wait_RCIF2
        movf    RCREG,W
 
        movwf   INDF
        incf    FSR,F
        xorlw   0x0d
        btfsc   STATUS,Z
        goto    Line_OK
        goto    Wait_RCIF2
 
;************************************************************************************

;****   For Intel HEX format
;****   :BBAAAATTHHHH ........HHCC
;****   Where   BB      the two digit Byte Number BB/2 is the total word of this line 
;****           AAAA    Address
;****           TT      Record Type
;****           HH      The Data
;****           CC      The Checksum of the data bytes of this line
;****           !!      Ignor the first 256 byte of .HEX file
;*************************************************************************************
Line_OK
        bsf     CTS_CTRL         ; Inhibit Transmit     
        movlw   0x0a
        movwf   INDF
       
        movlw   0xa1
        movwf   FSR

404
返回首頁 |  返回上一頁
富裕县| 土默特左旗| 高安市| 南靖县| 芜湖市| 江孜县| 皋兰县| 宝丰县| 荣成市| 金华市| 德江县| 永新县| 句容市| 大渡口区| 茌平县| 吐鲁番市| 金阳县| 郓城县| 交口县| 达拉特旗| 利津县| 沐川县| 安平县| 会同县| 泽库县| 琼结县| 包头市| 泗洪县| 尼玛县| 尼勒克县| 十堰市| 锡林郭勒盟| 饶河县| 兰州市| 屏东县| 江川县| 禹城市| 漳州市| 泰顺县| 天镇县| 石楼县|