⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sub.asm

📁 基本完成迷控制算法
💻 ASM
字号:
;================================
;	User's subroutine	|
;================================
const_set:
	mov	a,#20
	mov	intwk00,a
	ret





;===========================================
;	System subroutine(user select)	   |
;===========================================
;System Error
@@System_Err:
       	jmp	@@System_Err	; wait for watchdog reset the system       	
;=====================================================
IF @ADappl_set == 1
;Set and Read A/D transform value
;store @adxx_setval in acc before call @@AD_tansform(xx == 0~~7).
@@AD_transform:
	mov	a,@ADxx_setval	; set A/D chanel
  if @ADLEN_set == 1
  	b0bset	fadlen		; 12 bit A/D
  else
  	b0bclr	fadlen		; 8 bit A/D
  endif
  if @ADCKS_set == 1
  	b0bset	fadcks		; Fcpu/8
  else
  	b0bclr	fadcks		; Fcpu/16
  endif
	mov	adm,a		; start chanel0 A/D transform

@@:	b0bts1	feoc		; wait until A/D transform over	
	jmp	@b	
  if @ADLEN_set == 1		; 12 bit A/D
  	clr	@advalueL
  	b0mov	a,adr		; get Low 8 bit
	and	a,#0fh
	b0mov	@advalueL,a
	swap	adb
	and	a,#0fh
	or	@advalueL,a
	
	swap	adb		; get High 4 bit
	and	a,#0fh
	b0mov	@advalueH,a
  elseif @ADLEN_set == 0
	b0mov	@advalue,adb
  else
  	error "Please check the value of @ADLEN_set!"
  endif 
@@AD_transform90:
;	mov_	adm,@AD_overval		
	ret
ENDIF
;=====================================================
IF @DAappl_set == 1
;D/A		  
@@DA_transform:
	b0mov	dam,xxxx	; you should add correct data
;	b0bset	fdaenb		; you can delete the instruction
	ret	
ENDIF
;=====================================================
IF @Lcdappl_set == 1
;LCD display
@@Lcd_display:
	mov	a,#15
	b0mov	rbank,a
//	...............		; add data to display	
//	...............
	clr	rbank
	mov_	LCDM,@Lcdm_set
   if @RCLK_set == 1
   	b0bset	frclk
   else
   	b0bclr	frclk
   endif
   if @P3LCD_set == 1
   	b0bset	fp3lcd
   else
   	b0bclr	fp3lcd
   endif
	ret
@@Lcd_dotoff:
	b0bset	fblank
	ret
ENDIF

⌨️ 快捷键说明

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