日本久久久久曰精品免费,国产精品一级二级三级,乱子伦av无码中文字幕s,国产成人精品一区免费视频

技術熱線: 4007-888-234

10位AD轉換成三位BCD碼的程序

更新時間: 2019-03-26
閱讀量:2747

個是10AD的轉換程序;
;入口參數是原二進數,ADRESH,ADRESL,
;出口參數:轉換完成數是存放在,RLT,SOUH,SOU,
;程序默認的是SELECT AN0
;相當于二字節二進制轉換成3字節BCD
;
;

    LIST  P=16F877;
    INCLUDE  


TEMP1   EQU    21H;
TEMP2   EQU    22H;
TEMP3   EQU    23H;
CNT     EQU    50H;
SOU     EQU    76H;
SOUH    EQU    77H;
RLT     EQU    78H;
  
BANK3 MACRO                       ;
BSF STATUS,RP0                   ;
BSF STATUS,RP1                   ;
ENDM                             ;
BANK2 MACRO                       ;
BCF STATUS,RP0                   ;
BSF STATUS,RP1                   ;
ENDM                             ;
BANK1 MACRO                       ;
BSF STATUS,RP0                   ;
BCF STATUS,RP1                   ;
ENDM                             ;
BANK0 MACRO                       ;
BCF STATUS,RP0                   ;
BCF STATUS,RP1                   ;
ENDM                             ;

 ORG   0000
    NOP;
    GOTO  AAAA
MIAN
    BANK1;
    MOVLW   B'00000010'          ;左對齊方式,標準,RA全部口為模擬的,RE口為數字口
    MOVWF   ADCON1               ;
    BANK0                        ;選擇體零
    MOVLW    B'01000001'         ;選擇FOSC/8,允許ADC工作,但還沒有開始轉換
    MOVWF    ADCON0              ;
    BSF      ADCON0,GO           ;START ADC GO
    BTFSS    PIR1,ADIF;
    GOTO     $-1;
    MOVF     ADRESH,0;
    MOVWF    SOUH;
    BANK1;
    MOVF     ADRESL,0;
    MOVWF    SOU;
    BANK0;
AAAA

 CLRF     SOU;
    CLRF     SOUH;
    MOVLW    56H;
    MOVWF    SOU;
    MOVLW    3FH;
    MOVWF    SOUH;
    CALL     DBTBCD;
    
    GOTO     $
  

;********************DBTBCD********************
;本程序實現雙字節二進制數轉化為3字節壓縮BCD碼。
;入口參數:原二進制數在SOUH:SOU中。
;出口參數:結果在RLT:SOUH:SOU中。
;占用資源:W,STATUS,FSR,023H,024H,025H,026H,028H,029,02AH,兩重堆棧。

DBTBCD      MOVF        SOU,W
            MOVWF       TEMP2
            MOVF        SOUH,W
            MOVWF       TEMP3
            CLRF        SOU
            CLRF        SOUH
            CLRF        RLT
            BCF         STATUS,C
            MOVLW       .16
            MOVWF       CNT
LOOPC1      RLF         TEMP2,F

  RLF         TEMP3,F
            RLF         SOU,F
            RLF         SOUH,F
            RLF         RLT,F
            DECFSZ      CNT,F
            GOTO        ADJDEC1        
            RETURN           ;整個子程序結束
ADJDEC1     MOVLW       SOU
            MOVWF       FSR
            CALL        ADJBCD1     ;調整RLT
            MOVLW       SOUH
            MOVWF       FSR
            CALL        ADJBCD1     ;調整RLTH
            MOVLW       RLT
            MOVWF       FSR
            CALL        ADJBCD1     ;調整TEMP1
            GOTO        LOOPC1
;********************調整BCD********************

ADJBCD1     MOVLW       03H
            ADDWF       INDF,W      ;低四位加3
            MOVWF       TEMP1       ;暫存
            BTFSC       TEMP1,3     ;結果大于7,
            MOVWF       INDF        ;則存起來
            MOVLW       30H
            ADDWF       INDF,W      ;高四位加3
            MOVWF       TEMP1              
            BTFSC       TEMP1,7     ;結果大于7,
            MOVWF       INDF        ;則存起來
           RETURN
       END;

 



主站蜘蛛池模板: 辽宁省| 云南省| 通州市| 融水| 敦煌市| 开封市| 耒阳市| 鸡西市| 旺苍县| 丰镇市| 定襄县| 武乡县| 钟祥市| 辽阳县| 清原| 永川市| 博爱县| 荔浦县| 开江县| 象山县| 潜江市| 福海县| 建始县| 丹江口市| 肇东市| 工布江达县| 马山县| 成都市| 十堰市| 宿迁市| 宝山区| 阜平县| 腾冲县| 班玛县| 泰来县| 屯昌县| 大竹县| 防城港市| 甘孜县| 侯马市| 双桥区|