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

📄 dip40.asm

📁 单片机开发资料光盘-双龙-686M.zip
💻 ASM
字号:
;测试验证DIP40器件I/O口输出及SL-AVRAD开发下载实验器
.include "8535def.inc"	;文件头
.org  $0000
	rjmp	RESET		;Reset Handle
	

.def	temp	=r20
.def	zh	=r31


.org $0010	;跳过中断区
RESET:

	ldi	r16,high(RAMEND) ;设堆栈
	out	SPH,r16	         ; 
	ldi	r16,low(RAMEND)	 
	out	SPL,r16

	ser	temp		;直接装入$FF,
	out	DDRA,	temp	;口的方向寄存器设定,为输出
	out	DDRB,  	temp
	out	DDRC,	temp
	out	DDRD,  	temp
forever:
	clr	temp		;硬件设低电平LED灯亮
	out	PORTA,	temp	;PORTA口LED灯亮
	out	PORTB, 	temp	;B口LED灯亮
	out	PORTC,	temp	;C口LED灯亮
	out	PORTD, 	temp	;D口LED灯亮
	ldi	temp,0X46	;装延时常数(十进制),灯亮延时1秒,
				;可修改该参数,应另存一个文件名
	rcall	delay		;调用延时子程序
	ser	temp		;硬件设高电平LED灯灭
	out	PORTA,	temp	;PORTA口LED灯灭
	out	PORTB, 	temp	;B口LED灯灭
	out	PORTC,	temp	;C口LED灯灭
	out	PORTD, 	temp	;D口LED灯灭
	ldi	temp,0X38	;装延时常数,灯灭延时0.5秒,可修改该参数
	rcall	delay		;调用延时子程序
	rjmp	forever		;无限循环
delay:  push    r16         ;2t延时子程序
l0:     push   r16          ;2t
l1:     push    r16         ;2t
l2:     push    r16         ;2t
l3:     dec     r16         ;1t
        brne    l3          ;1t/2t
        pop    r16          ;2t
        dec    r16          ;1t 
        brne    l2          ;1t/2t
        pop    r16          ;2t
        dec    r16          ;1t 
        brne    l1          ;1t/2t
        pop     r16         ;2t
        dec     r16         ;1t 
        brne    l0          ;1T/2T
        pop     r16         ;2t
        ret                 ;4t

⌨️ 快捷键说明

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