sad.asm

来自「pic单片机常用的汇编程序,很有用的,分成各个小模块」· 汇编 代码 · 共 38 行

ASM
38
字号
;********************SAD********************
;本程序实现单通道AD转换。
;入口参数:模拟信号加在RA0/AN0上。
;出口参数:10位转换结果在右对齐的SOUH:SOU中。
;占用资源:W,STATUS,RA0,024H,025H,两重堆栈。
;说    明:1.参考电压源选择内部VDD和VSS。
;          2.AD转换时钟源选用8TOSC。

           IFNDEF         SAD1
            #DEFINE       SAD1
  
SAD         BSF           STATUS,RP0
            MOVLW         10001110B         ;结果右对齐            
            MOVWF         ADCON1            ;AN0作为模拟信号输入口,参考电压为VDD,VSS           
            BCF           STATUS,RP0

            MOVLW         01000001B
            MOVWF         ADCON0            ;设置时钟源8TOSC,使能ADC,AN0信道被选中

            BCF           PIR1,ADIF            
            MOVLW         7
            MOVWF         SOU
            DECFSZ        SOU,F
            GOTO          $-1               ;保证20US以上的采样时间

START       BSF           ADCON0,GO         ;开启AD转换
            
            BTFSC         ADCON0,GO         ;AD转换完成了吗?
            GOTO          $-1
            MOVF          ADRESH,W
            MOVWF         SOUH              ;结果高位
            BSF           STATUS,RP0
            MOVF          ADRESL,W
            BCF           STATUS,RP0
            MOVWF         SOU

            RETURN
           ENDIF

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?