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

📄 8字循环.asm

📁 51单片机程序源码
💻 ASM
字号:
;在SL-AVR开发实验器LED上实现字符8的循环移位显示程序
;请你 1.如何修改字形; 2.改变字符个数,二位或三位或一隔一显示;
;3. 改变字形移动方向; 4.改变字符移位速度;
;
.include"8515def.inc"		;器件配置文件
.def temp=r16			;数据暂存器
.def scndp=r22			;LED显示位置暂存器
.org $0000
	rjmp reset
.org $030
reset:	ldi temp,low(ramend)	;设置堆栈指针。
	out spl,temp
	ldi temp,high(ramend)
	out sph,temp
	ldi temp,$ff		;设置B、D口输出。
	out ddrb,temp
	out ddrd,temp
	out portd,temp
	ldi temp,$7f		;字形8的代码为$7F(可修改)。
	out portb,temp
again:	sec			;置进位位为1(低电平LED亮,高电平LED灭)
	ldi scndp,0b11011111	;扫描显示SCANDP(可修改)
route:	out portd,scndp		;从LED最左一位(D5)右移(可修改)
	ldi temp,$40		;设置延时常数(可修改)。
	rcall delay		;调用延时
	ror scndp		;右循环(可修改)
	brcc again		;显示下一位
	rjmp route		;循环显示
delay:  push temp		;延时子程序。
m1:	push temp
m2:	push temp
m3:	dec temp
	brne m3
	pop temp
	dec temp
	brne m2
	pop temp
	dec temp
	brne m1
	pop temp
	dec temp
	brne delay
	ret	

⌨️ 快捷键说明

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