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

📄 11传统延时跑马灯.asm

📁 这是2008年stc程序个人设计汇总
💻 ASM
字号:
			org 00h    ;指定程序放置的地址,说明,放在程序寄存器的任意地址运行效果都是相同的,但是,用户必须合理分配,一般从00h开始放置
			clr p1.0   ;点亮一个灯,以便观查移位效果
main:		mov a,p1   ;读入p1口的数据,利用累加器移位(如果你在程序运行时,人为的强制改变了p1口的高低电平,累加器也会帮你移位)
			rl a       ;将数据向左移位,下面是向右移位,(如果同时移了就表示没有移)
			;rr a       ;前面有分号,表示本行相当于注解,不用执行
			mov p1,a    ;将累加器的数据放到p1口
			call ys1    ;调用延时子程序
			jmp main    ;进入下一循环
			
ys1:		mov r5,#10     ;延时子程序,为了保证延时准确,必须计算让程序能停留在这个子程序的周期数;因些必须预置数
			mov r6,#100
			mov r7,#100

ys2:		djnz r7,ys2      ;减1不为零跳到ys2,即跳到本行,也就停在本行100次,
			mov r7,#100     ;再次预置数
ys3:		djnz r6,ys2      ;减1不为零跳到ys2,也就是让程序100次停到ys2那里100次
			mov r6,#100    ;再次预置数
ys4:		djnz r5,ys2      ;让程序仍然跳到ys2,重复以上10次,这样总共让程序在这里执行大约10万个周期,起到延时的作用
			ret               ;子程序运行结束,返回原调用的位置  

			
			end   ;程序结束,以后可以放置任何内容


			说明:由于单片机运行的速度很快,必须延时,人眼才能看清楚LED点亮和熄灭的过程,但是,在实际应用中,象这样应用延时程序的意义不在,
			因为这占用了宝贵的CPU运行时间,在很多时间,CPU不是很有空.

⌨️ 快捷键说明

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