📄 sad.asm
字号:
;********************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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -