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

📄 sqeledtable.asm

📁 十五个关于AT89S51的源代码
💻 ASM
字号:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;实例八:取表实现流水灯  sequencer performed by looking up the table  (《51单片机应用从零开始》 6.4小节实例)
;
;现象:用取表的方式,将显示数据输出至发光二极管,以实现流水灯的效果
;
;作者:杨欣,刘长焕,张延强  电路飞翔网    eedesign@163.com
;
;				http://www.circuitfly.com
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


			ORG	00H
START:				;程序一开始装表,即把DPRT指到表TABLE的开头
			MOV     DPTR, #TABLE			; 数据指针寄存器DPTR指向表TABLE

LOADTABLE:			;取表程序段,表中的数据载入累加器ACC中,并判断是否已经完成
			CLR     A				; 累加器ACC清0
			MOVC    A, @A+DPTR			; 基址加变址寻址,将表中数据加载到ACC
			CJNE    A, #88H, DISPLAY		; 如果取到88H表明表已经取完,否则显示
			JMP     START				; 如果取完,跳回START重新开始

DISPLAY:                  	;显示程序段,将从数据表中载入累加器ACC的数据输出到P0
			MOV     P1, A				; 将ACC中数据输出至P0口
			CALL    DELAY				; 调延时子程序
			INC     DPTR				; 数据指针寄存器自加1,准备取表中的下一个数据
			JMP     LOADTABLE			; 跳到取表程序段

DELAY:			         ;延时200ms的子程序
			MOV     R3, #20		
D1:
			MOV     R4, #20
D2: 
			MOV     R5, #248
			DJNZ    R5, $				;R5减1,如果不为0,就执行本行
			DJNZ    R4, D2
			DJNZ    R3, D1
			RET					;子程序结束标志,返回主程序

TABLE:				;本程序的数据表
			DB	0FEH, 0FDH, 0FBH, 0F7H		; 左移
			DB	0EFH, 0DFH, 0BFH, 07FH
			DB	07FH, 0BFH, 0DFH, 0EFH		; 右移
			DB	0F7H, 0FBH, 0FDH, 0FEH
			DB	88H				; 结束码
			END

⌨️ 快捷键说明

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