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 + -
显示快捷键?