📄 main.asm
字号:
;/**************************************************************************************/
;* ADC&LCD example for 8bits.(add prefilter) */
;* Input: VRH = VR1P ,VRL = AGND */
;* INH = AIN5 (VDD +50K ToVSS), INL = AIN1 (AGND and 10k) */
;*=====================================================================================*/
;* (Block Diagrom): */
;* VDD */
;* | */
;* > -------------------- */
;* (50K) < ---------- | | */
;* --------(AIN5)-----| PreFilter|-------------|INH | */
;* ---------- | | */
;* AGND---~~~---(AIN1)--------------|INL | */
;* (10K) | VRH VRL | */
;* -------------------- */
;* | | */
;* REFO---~~~----~~~- AGND */
;* (60K) (40K) */
;======================================================================================*/
;* Function Arthurs Time Version Description */
;* Total Gavannis.hsu 2004/01/03 0.1 No chopper */
;* */
;/**************************************************************************************/
INCLUDE FS9821.INC
INCLUDE macro_FS9821.asm
INCLUDE Def_Mem_FS9821.asm
LED1Temp equ 0A0h
LED2Temp equ 0A1h
LED3Temp equ 0A2h
LED4Temp equ 0A3h
LED5Temp equ 0A4h
LED6Temp equ 0A5h
ADCoffset equ 0A6h
Signflag equ 0A7h
ORG 00
GOTO CLKINI
ORG 04H
GOTO ADCISR
CLKINI:
MOVLW 01000001B ;Set Clock ,see Page16
MOVWF PCK
MOVLW 00010000B ;Set Power System,see page 13
MOVWF NETE
POWERINI:
MOVLW 10000100B
MOVWF INTE
MOVLW 01100011B ;Set Power System
MOVWF NETF
ADCINI:
MOVLW 0EH ;Set ADC output rate,See page29
MOVWF ADCON
movlw 29h ;Set Input,
movwf NETA
movlw 02h ;Set Referance Input,
movwf NETB
movlw 10000110B ;Set ADC Enable
movwf NETC
movlw 00000000B ;Set OP
movwf NETD
main:
NOP
GOTO main
ADCISR:
MOVLF 00H,INTF
Display:
;//LED DISPLAY
;Static measure offset
MOVFF ADOH,AH
MOVFF ADOL,AL
MOVLF 01H,BH
MOVLF 029H,BL ;DELETE ADC_OFFSET
CALL AX_BX
BTFSS AH,7 ;Check Sign bit
GOTO Postive ;>0
GOTO Negnative :<0
Postive:
MOVLW 00H ;(+) flag
MOVWF Signflag
GOTO LED_Display
Negnative:
MOVLW 01H
SUBWF AL,F
BTFSS STATUS,C
SUBWF AH,F
COMF AL,F
COMF AH,F
MOVLW 02H ;(-) flag
MOVWF Signflag
GOTO LED_Display
LED_Display:
CALL Hex2BCD ;>0
LED:
;タ璽
MOVFF Signflag,LED1Temp
MOVFW LED1Temp
MOVWF LCD1
;窾
MOVFW EBL
ANDLW 0FH
MOVWF LED2Temp
MOVFW LED2Temp
Call lcd_num
movwf LCD2
;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -