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

📄 dip20变速.asm

📁 单片机开发资料光盘-双龙-686M.zip
💻 ASM
字号:
;************* 应用笔记  DIP20.asm  ************************
;*
;* 标题:		测试DIP20 AVR单片机B口、D口功能
;* 版本:		1.0
;*最后更新日期:	2000.08.08
;*
;* 支援 E-mail:	gzsl@sl.com.cn
;*
;* 描述
;*     测试DIP20 AVR单片机B口、D口功能,LED逐位移位,移位速度会变化
;* 作者: SL.
;*程序适用于所有单片机
;***************************************************************************
;	      AT90S1200引脚图  "*"表示引脚接LED发光二极管
;				"↓"表示灯亮移位方向
;	/RST	。1  20	。VCC
;	PD0 ↑*	。	。* ↓	PB7
;	PD1 ↑*	。	。* ↓	PB6
;	XTAL2	。	。* ↓	PB5
;	XTAL1	。	。* ↓	PB4
;	PD2 ↑*	。	。* ↓	PB3
;	PD3 ↑*	。	。* ↓	PB2
;	PD4 ↑*	。	。* ↓	PB1
;	PD5 ↑*	。	。* ↓	PB0
;	GND  	。10 11	。* ↓	PD6
;

.include "1200def.inc"
	rjmp	RESET		;Reset Handle
.org  $005
RESET:       
	     LDI r16,0XFF	;设B口、D口为输出
	     OUT ddrb,R16	;设b口方向寄存器为输出
             OUT DDRD,R16	;设D口方向寄存器为输出
             out portd,r16	;关D口LED,OK-AVR实验器硬件设定高电平LED灯灭
             out portb,r16	;关B口LED,OK-AVR实验器硬件设定高电平LED灯灭

start:       ldi R17,0x08	;循环次数

             ldi r18,0x7f	;0b0111 1111,OK-AVR实验器硬件设定低电平LED灯亮
loop:        out portb,r18	;B口.7位 LED灯亮
             sec		;c=1
             ror r18		;通过进位右循环
             rcall  delay	;调用延时子程序
             dec r17		;-1
             brne loop		;检测R17循环不0为转移,为0按顺序执行
             out portb,r16	;关B口

             ldi r18,0xbf	; 0b1011 1111
             out portd,r18	;D口.6位 LED灯亮
             rcall  delay	;延时
             ldi r18,0xff
             out portd,r18	;关D口

             rjmp  start	;循环

delay:       ldi r29,0x0a 	;延时子程序
delay1:      dec r30          	;复位后R30=0X00
             brne delay1	;R30不为0转,为0按顺序执行
             dec r31		;复位后R31=0X00
             brne delay1	;R30不为0转,为0按顺序执行
             dec r29		;复位后R29=0X00
             brne delay1	;R29不为0转,为0按顺序执行
             ret		;子程序返回

⌨️ 快捷键说明

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