GOGOGO高清完整国语,GOGOGO在线观看免费观看完整版高清,GOGOGO免费高清完整,GOGOGO高清在线观看免费视频,GOGOGO日本高清国语完整,GOGOGO免费高清完整版

技術熱線: 4007-888-234

技術支持

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

更新時間: 2019-03-26

個是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;

 



404
返回首頁 |  返回上一頁
欢迎光临: 紫云| 安吉县| 吉首市| 兴城市| 崇义县| 廉江市| 天水市| 新兴县| 神农架林区| 孝感市| 洛宁县| 新津县| 安多县| 洪洞县| 莲花县| 阿图什市| 云林县| 南平市| 汤阴县| 肇庆市| 静乐县| 赤壁市| 隆回县| 岑巩县| 改则县| 古蔺县| 田阳县| 济南市| 栾城县| 孝义市| 威远县| 迁安市| 长沙市| 广元市| 湾仔区| 阳曲县| 梅州市| 峨边| 嘉禾县| 武山县| 潞城市|