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

📄 zh9.asm

📁 the practice of proteus and avr
💻 ASM
字号:
.device AT90S8535
.equ    sph    	=$3E
.equ    spl    	=$3D
.equ    OCR1BH  =$29
.equ    OCR1BL  =$28
.equ    TCCR1A  =$2F
.equ    TCCR1B  =$2E
.equ	PORTA	=$1B
.equ	DDRA	=$1A
.equ    PINA    =$19
.equ	PORTB	=$18
.equ	DDRB	=$17
.equ    PINB    =$16
.equ	PORTD	=$12
.equ	DDRD	=$11
.equ    PIND    =$10
.equ    ADMUX   =$07
.equ    ADCSR   =$06
.equ    ADCH    =$05
.equ    ADCL    =$04
.def 	ZH     	=r31
.def 	ZL     	=r30

	.org	$0000
	rjmp	reset
	
reset:	ldi	r16,$02			;栈指针置初值
	out	sph,r16
	ldi	r16,$5f
	out	spl,r16
	ldi	r16,$07			;第7路ADC
	out	ADMUX,r16
	ldi	r18,$e5			;允许ADC,启动ADC,自由模式
	out	ADCSR,r18		;64分频作A/D时钟
	ldi	r16,$03			;8分频
	out	TCCR1B,r16
	ldi	r16,$23			;OC1B口10位正向PWM输出
	out	TCCR1A,r16
	sbi	DDRD,4			;PD4(OC1B)引脚定义为输出
	rcall	t2ms
;**********************************************************	
aa:	in	r16,ADCL		;读A/D结果放入r17、r16中
	in	r17,ADCH
	out	OCR1BH,r17		;设占空比为$200/$3FF
	out	OCR1BL,r16
	rjmp	aa
;**********************************************************	
t2ms:	ldi	r24,101			;延时2ms子程序
	push	r24
del2:	push	r24
del3:	dec	r24
	brne	del3
	pop	r24
	dec	r24
	brne	del2
	pop	r24
	ret

⌨️ 快捷键说明

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