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

📄 led_table.asm

📁 AVR开发板范例程序,WS开发板配套_51_汇编源程序
💻 ASM
字号:
;/********************************************************************
; *  主    页 :  HTTP://WWW.QLMCU.COM
; *
; *  程序功能 :  LED 流水灯(采用查表方式)
; *
; *  应用软件 :  KEIL C
; *
; *  版    本 :  KEIL 7.06
; *
; *  硬    件 :  WS803、WS804、WS806
; *
 ;*  创建时间 :  2005-07-28
 ;*
; *  程序整理 :  benladn911
; *
; *  注:为了有更多实用的实验程序供大家学习,部分程序参考网上的资源,
; *      在此谢谢这些无私奉献的朋友!!!
; *
; ********************************************************************/
;/* 程序详细功能介绍:
; *利用取表的方法,使端口P1做单一灯的变化:左移2次,右移2次,闪烁2次(延时的时间0.2秒)。
; *在用表格进行程序设计的时候,要用以下的指令来完成
; *(1).利用MOV DPTR,#DATA16的指令来使数据指针寄存器指到表的开头。
; *(2).利用MOVC A,@A+DPTR的指令,根据累加器的值再加上DPTR的值,就可以使程序计数器PC指到表格内所要取出的数据。
; *因此,只要把控制码建成一个表,而利用MOVC 工,@A+DPTR做取码的操作,
; *就可方便地处理一些复杂的控制动作.
; */


ORG 0000H
LJMP START

ORG 0100H
START:CLR P3.7 ;选通WS 系列实验板的LED 流水灯的电源控制端
      MOV DPTR,#TABLE ;取表格数据
LOOP: CLR A   ;对A清零
MOVC A,@A+DPTR   ;查表
CJNE A,#01H,LOOP1  ;当A等于01时程序往下执行,否则跳到 LOOP1
LJMP START  ;跳到程序的开头
LOOP1: MOV P0,A  ;把取得的表格数据送到P0
MOV R3,#20
LCALL DELAY
INC DPTR
LJMP LOOP

DELAY: MOV R4,#20 ;延时子程序
D1: MOV R5,#248
DJNZ R5,$
DJNZ R4,D1
DJNZ R3,DELAY
RET

TABLE: DB 0FEH,0FDH,0FBH,0F7H
DB 0EFH,0DFH,0BFH,07FH
DB 0FEH,0FDH,0FBH,0F7H
DB 0EFH,0DFH,0BFH,07FH
DB 07FH,0BFH,0DFH,0EFH
DB 0F7H,0FBH,0FDH,0FEH
DB 07FH,0BFH,0DFH,0EFH
DB 0F7H,0FBH,0FDH,0FEH
DB 00H, 0FFH,00H, 0FFH
DB 01H
END

⌨️ 快捷键说明

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