initsub.asm
来自「用台湾富晶单片机开发的电子称包括源码和编译器」· 汇编 代码 · 共 49 行
ASM
49 行
L_InitStart:
MOVLW 0C0H
MOVWF AIENB1 ;PT1.0-PT1.5 is Analog input channel(AIN0-AIN5)
MOVWF PT1EN ;PT1.7-PT1.6 is output
MOVLW 0FFH
MOVWF PT1 ;0FFH->PT1
MOVLW 0
MOVWF PT1PU ;0->PT1PU
MOVWF PT2MR ;0->PT2MR
MOVWF PT2OCB ;0->PT2OCB
MOVLW 11111000b
MOVWF PT2EN ;PT2.7-PT2.3 is output,PT2.2-PT2.0 is input
MOVLW 00000111b
MOVWF PT2PU ;PT2.2-PT2.0 with pull-up resistor
MOVWF PT2 ;07H->PT2
L_InitClrRAM:
MOVLW 80H ;\
MOVWF FSR0 ; \
L_InitClrR_Loop: ; | RAM [0FFH:80H]清零
CLRF IND0 ; |
INCFSZ FSR0,1 ; /
GOTO L_InitClrR_Loop ;/
L_InitSFR:
MOVLW 01000100B ;CPU指令周期=MCK/2,OSC仅使用内部1MHz
MOVWF MCK
NOP
CALL S_ClrDisp ;清LCD显示缓冲区LCD1-LCD6
MOVLW 00100111b
MOVWF LCDENR ;start LCD clock,1/3bias,1/4duty
MOVLW 10001011B
MOVWF TMCON ;1/16秒中断
;
MOVLW 00011010B
MOVWF NETE ;ENVS,ENLB,LB输入选AIN4
MOVLW 01100011B
MOVWF NETF ;ENBAND,ENVDDA,ENAGND,ENVB
MOVLW 01000100B
MOVWF NETA ;INL=AIN2,FTIN=OP1O,FTB=FTIN,INH=FTB
MOVLW 00100100B
MOVWF NETB ;OP1N=AIN5,VRL=AIN1,VRH=AIN0
MOVLW 00001011B
MOVWF NETD ;OP1EN=1,OP1P=AIN3
MOVLW 10000110B
MOVFW NETC ;SREFO=1,ADG=1,ADEN=1,AZ=0
MOVLW 00001001b ;00001111b ;ADM=110bADCF/8000
MOVWF ADCON ;ADRST=1,ADM=001b=ADCF/250
MOVLW 01000001b
MOVWF PCK ;ENPUMP=1,S_CH1CK[1:0]=00,S_BEEP=0,S_PCK=1
L_InitEnd:
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?