音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

PIC16f87x 各種子程序(續(xù)2)

作者:小村之戀 欄目:單片機(jī)
PIC16f87x 各種子程序(續(xù)2)
第7章  與PLC接口的四位LED數(shù)字顯示表
7.4  程序清單
    LIST            p=16F877
    #INCLUDE        "p16F877.inc"
    ADRESS        EQU        0X20        ;數(shù)顯表地址存儲(chǔ)寄存器
    DATA1_1        EQU        0X21        ;第1次讀第1幀數(shù)據(jù)存儲(chǔ)寄存器
    DATA1_2        EQU        0X22        ;第2次讀第1幀數(shù)據(jù)存儲(chǔ)寄存器
    DATA1_3        EQU        0X23        ;第3次讀第1幀數(shù)據(jù)存儲(chǔ)寄存器
    DATA1_4        EQU        0X24        ;第4次讀第2幀數(shù)據(jù)存儲(chǔ)寄存器
    DATA1_5        EQU        0X25        ;第5次讀第幀數(shù)據(jù)存儲(chǔ)寄存器
    DATA2_1        EQU        0X26        ;第2幀數(shù)據(jù)存儲(chǔ)寄存器
    FLAG        EQU        0X27        ;讀數(shù)據(jù)標(biāo)志寄存器
    LED1            EQU        0X28        ;數(shù)碼管1顯示的數(shù)據(jù)存儲(chǔ)寄存器(高位)
    LED2            EQU        0X29        ;數(shù)碼管2顯示的數(shù)據(jù)存儲(chǔ)寄存器
    LED3            EQU        0X2A        ;數(shù)碼管3顯示的數(shù)據(jù)存儲(chǔ)寄存器
    LED4            EQU        0X2B        ;數(shù)碼管4顯示的數(shù)據(jù)存儲(chǔ)寄存器
    DATA1        EQU        0X2C        ;第1幀數(shù)據(jù)存儲(chǔ)寄存器
    SUM1        EQU        0X2D        ;延時(shí)程序計(jì)數(shù)寄存器
    SUM2        EQU        0X2E        ;延時(shí)程序計(jì)數(shù)寄存器
    H_BYTE        EQU        0X2F        ;16位二進(jìn)制數(shù)高8位
    L_BYTE        EQU        0X30        ;16位二進(jìn)制數(shù)低8位
    R0            EQU        0X31        ;BCD碼存儲(chǔ)寄存器(高位)
    R1            EQU        0X32        ;BCD碼存儲(chǔ)寄存器
    R2            EQU        0X33        ;BCD碼存儲(chǔ)寄存器(低位)
    COUNT1        EQU        0X35        ;讀到的5次數(shù)據(jù)有4次相等標(biāo)志寄存器
    TEMP        EQU        0X36        ;BCD碼調(diào)整臨時(shí)存數(shù)寄存器
    ADJUST        EQU        0X37        ;調(diào)整后BCD碼存儲(chǔ)寄存器
    TEMP1        EQU        0X38         ;判地址是否相同臨時(shí)存數(shù)寄存器
    COUNT        EQU        0X39        
    F0            EQU        0
    F1            EQU        1
    ORG            0X000
    NOP                        ;調(diào)試程序時(shí)用
    GOTO        MAIN
;*************端口初始化子程序*****************
INITPORT        BANKSEL        PORTA        ;選擇存儲(chǔ)體0
    CLRF        PORTA
    CLRF        PORTB
    BANKSEL         ADCON1        ;選擇存儲(chǔ)體1
    MOVLW        0X07
    MOVWF        ADCON1        ;設(shè)RA0,RA1為數(shù)字I/ O
    MOVLW        0X03
    MOVWF        TRISA        ;設(shè)RA0,RA1為輸入
    MOVLW        0XE8
    MOVWF        TRISB        ;設(shè)RB0,RB1,RB2,RB4為輸出
    BANKSEL        PORTC
    CLRF        PORTC
    BANKSEL        TRISC        ;選擇存儲(chǔ)體1
 &nbs
2樓: >>參與討論
小村之戀
第8章  通用同步/異步通信的應(yīng)用

1. 單片機(jī)PIC1編程(發(fā)送部分)
LIST P=16F877
#INCLUDE    P16F876.INC
CBLOCK  0X24            ;保留三個(gè)字節(jié)作為顯示用
   COUNT                ;作計(jì)數(shù)器或暫存器用
ENDC
        ORG        0X0000            ;程序復(fù)位入口
        NOP
START    GOTO    MAIN
        ORG        0X20
MAIN    MOVLW    0X30                ;以下將RAM內(nèi)容初始化
        MOVWF    FSR                ;從30H單元開始
        MOVLW    0X30                ;將值30H賦給單元30H
        MOVWF    COUNT
INTRAM    MOVF    COUNT,0        ;將30H~7FH賦給單元30H~7FH
        MOVWF    INDF        
        INCF        COUNT,1
        INCF        FSR,1
        BTFSS    COUNT,7
        GOTO    INTRAM
        BSF        STATUS,RP0        ;將SCI部件初始化
        MOVLW    0X19                ;將傳輸?shù)牟ㄌ芈试O(shè)為約9600 bps
        MOVWF    SPBRG
        MOVLW    0X04                ;選擇異步高速方式傳輸8位數(shù)據(jù)
        MOVWF    TXSTA
        BCF        STATUS,RP0
        MOVLW    0X80                ;允許同步串行口工作
        MOVWF    RCSTA
        BSF        STATUS,RP0
        BSF        TRISC,7            ;將RC6、RC7設(shè)置為輸入方式,斷絕與外接電路的連接
        BSF        TRISC,6
        BCF        STATUS,RP0
        MOVLW    0X30                ;30H作為同步字符發(fā)送
        MOVWF    FSR
        MOVF    INDF,0
        MOVWF    TXREG            ;將待發(fā)送的數(shù)據(jù)寫入發(fā)送緩沖器TXREG
        BSF        STATUS,RP0
        BSF        TXSTA,TXEN        ;發(fā)送允許
        BCF        STATUS,RP0
        BSF        RCSTA,CREN        ;接收數(shù)據(jù)允許
LOOPTX    BTFSS    PIR1,RCIF        ;等待PIC2的響應(yīng)字節(jié)
        GOTO    LOOPTX
        MOVF    RCREG,0        ;讀響應(yīng)字節(jié),清RCIF
LOOPTX1        BTFSS    PIR1,TXIF    ;發(fā)送下一字節(jié)
        GOTO    LOOPTX1
INCF        FSR
        MOVF    INDF,0
        MOVWF    TXREG
        BTFSS    FSR,7            ;30H~7FH單元的內(nèi)容是否發(fā)送完?
        GOTO    LOOPTX            ;沒有,繼續(xù)下一字節(jié)的發(fā)送
        BSF        STATUS,RP0        ;如果是,則停止發(fā)送
        BCF        TXSTA,TXEN
        BCF        STATUS,RP0        ;數(shù)據(jù)發(fā)送完畢
        CALL    LED                ;調(diào)用顯示子程序,將發(fā)送的數(shù)據(jù)顯示出來(lái)
        END                        ;程序完
2. 單片機(jī)PIC2編程(接收部分)
LIST        P=16F876
#INCLUDE     P16F876.INC
CBLOCK 0X24
    COUNT    
ENDC
        ORG    0X0000
        NOP
START    GOTO    MAIN    
MAIN    BSF    STATUS,RP0            ;初始化程序同發(fā)送子程序
        MOVLW    0X19                ;波特率設(shè)置與PIC1相同
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
十萬(wàn)火急!尋找最便宜的單片機(jī)
兩個(gè)小程序比較一下!怎么一個(gè)行,一個(gè)不行!
可惡!我的帖子不見了!
請(qǐng)教12C508A問題?
有icd2的朋友!可以把原理圖放上來(lái)嗎?
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)