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

📄 wave.asm

📁 利用了vb 当作显示画面
💻 ASM
字号:


;	    ---display LCD------------- 		 ------display DAC----------------    
;PIN:	40  39  38  37  36 35 34 33   32   31  30   29   28  27     26    25   24  23 22 21
;       Vcc |--------porta---OUT-------|   icp ace  oc  |--------portc--------------------|
;
;       |------portb--------------|       |-I--O----O----O--pOrtd---O-----------|  XTAL  GND  
;PIN:	01  02  03  04  05 06 07 08   09   10  11   12   13  14     15    16   17  18 19 20
;                                    RESET RxD TxD  RS   WR E_LCD E_ADC  LRxD LTxD
;                                           0   1    2    3   4      5     6    7
;PACKAGE: startB;DataCntB;
;-----LCD Controlled------
	.INCLUDE	"4414DEF.INC"
	.DEF	TEMP  	= R16
	.DEF	TEMP1 	= R17
	.DEF	FLAG1 	= R18
	.DEF	DataCntB= R19	
	.DEF	UDRDATA	= R20
	.DEF	TimeDotH= R21
	.DEF	TimeDotL= R22
	.DEF	Times	= R23

	;-------Constant----------
	;package
	.EQU	startB	= $53 ;Asc("S")
	.EQU	LCDData	= 0
	.EQU	RomData	= $60
	.EQU	RomTimeDot=RomData+5

	;-------PORTD pin define--
	.EQU	RxD	= 0
	.EQU	TxD	= 1
	.EQU	RS	= 2	;READ LCD
	.EQU	WR	= 3
	.EQU	E_LCD	= 4	;enable LCD
	.EQU	E_ADC 	= 5	;enable ADC
	.EQU	L_RxD	= 6	;light led RxD
	.EQU	L_TxD	= 7	;light led TxD

	;-------SET FLAG1-------
	.EQU	stStart	= $01	;is start packet
	.EQU	stDebug	= $02	;FLAG1
	.EQU	stCnt	= $04	;FLAG1
	.EQU	stLoad	= $08	;FLAG1
	.EQU	XFG5	= $10	;FLAG1
	.EQU	XFG6	= $20	;FLAG1
	.EQU	XFG7	= $40	;FLAG1
	.EQU	XFG8	= $80	

	;-------Judge FLAG1-----
	.EQU	isStart	= 0	;FLAG1
	.EQU	isDebug	= 1	;FLAG1
	.EQU	isCnt	= 2	;FLAG1
	.EQU	isLoad	= 3	;FLAG1
	.EQU	XCHK5	= 4	;FLAG1
	.EQU	XCHK6	= 5	;FLAG1
	.EQU	XCHK7	= 6	;FLAG1	
	.EQU	XCHK8	= 7	;FLAG1
;-----------------------------
        .org    0
 	RJMP	RESET
 	RJMP	RESET	
 	RJMP	RESET	
 	RJMP	RESET	
 	RJMP	RESET	
 	RJMP	RESET	
 	RJMP	TIM1_OVF
	;RJMP	TIM0_OVF
;----Timer0 Service Routine------
TIM1_OVF:
	;PUSH	TEMP
	IN	TEMP,SREG
	PUSH	TEMP
	OUT	TCNT1H,TimeDotH
	OUT	TCNT1L,TimeDotL

	ld	temp,z
	out	portc,temp
	adiw	zl,1
	dec	times
	;-----------------	

	POP	TEMP
	OUT	SREG,TEMP
	;POP	TEMP
	RETI 
;------------  RESET  ---------------------
RESET:	
	;STACK ==>for 4414 or 8515
	LDI	TEMP,$5F	;init. stack
	OUT	SPL,TEMP
	ldi	temp,1
	out	sph,temp
	;PORTA
	LDI	TEMP,$FF 	;seting PA output
	OUT	DDRA,TEMP
	;PORTB	
	LDI	TEMP,$FF 	;seting Pb output
	OUT	DDRb,TEMP
	;PORTC
	ldi	temp,$ff
	out	ddrc,temp
	;PORTD
	LDI	TEMP,0B11111110	;PD0=IN ;PD1~7=OUT
	OUT	DDRD,TEMP
	ldi	TEMP,0b00000001
	OUT	PORTD,TEMP
	
	;砞﹚纉瞯

⌨️ 快捷键说明

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