实验二 查表指令实现流水灯控制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二 查表指令实现流水灯控制

一、实验目的

1、熟悉Keil uVision2软件的使用;

2、掌握流水灯控制;

3、掌握延时程序的编制;

二、实验设备及仪器

Keil μVision2软件;单片机开发板;PC 机一台

三、实验原理及内容

1、LED 流水灯模块电路原理图,如图2.1所示。

U7+5V 图2.1 LED 流水灯模块原理图 (1)74HC573为8位三态输出锁存器,各引脚功能: D0~D7为输入端(接到P0口); Q0~Q7为输出端(驱动LED 灯DS2~DS9); LE 输入数据锁存控制端,高电平有效(当LE=1时,锁存数据);

OE 输出使能端,低电平有效; 只要锁存器按照一定规律输出低电平,就能使LED 灯按一定的规律点亮。

(2)P0口控制流水灯模块、数码管及点阵。对应的锁存器控制端: P1.2 流水灯(74HC573锁存器U7)

P1.0 数码管的段(74HC573锁存器U8)

P1.1 点阵列、数码管的位(74HC573锁存器U9)

P1.3 点阵行(74HC573锁存器U4)

2、训练内容一:用查表指令分别实现如下流水灯方案:(1)LED灯由右到左逐步熄灭

参考程序:

ORG 00H

MAIN:

CLR P1.1 ;数码管位、点阵列控制位关闭

CLR P1.3 ;点阵行控制位

SETB P1.2 ;led灯控制

MOV DPTR,#TAB1;首地址

MOV R0,#8 ;移位次数

MOV R1,#0

MOV P0,#0

LCALL DELAY ;延时

LOOP:MOV A,R1

MOVC A,@A+DPTR

MOV P0,A

LCALL DELAY

INC R1

DJNZ R0,LOOP

LJMP MAIN

DELAY:MOV R2,#0

D1:MOV R3,#0

D2:NOP

DJNZ R3,D2

DJNZ R2,D1

RET

TAB1:DB 80H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFH END

(2)LED灯由右到左逐步点亮

(3)LED 灯由两边向中间靠拢

(4)LED 灯由中间向两边分离

(5)LED 等先由两边向中间靠拢,再由中间向两边分离

2、训练内容二:点阵模块静态显示

对应的行为高电平控制,对应的列为低电平控制。在很短的时间内依次点亮多个发光二极管,就可以看到显示的数字、字母及其他图形符号。 点亮左上角1盏灯的参考程序:

ORG 00H

MAIN:

SETB p1.0;数码管段控制

SETB P1.2;LED 灯控制位

MOV P0,#0FFH;关闭LED 灯

CLR P1.2 ;关闭LED 灯控制位

MOV P0,#0 ;关闭数码管

CLR P1.0 ;关闭数码管控制位

第1脚

第1脚

第1行第8脚

第1列

SETB P1.3;点阵行,高电平有效

MOV P0,#01H

CLR P1.3

SETB P1.1;点阵列,低电平有效、数码管位MOV P0,#0FEH

CLR P1.1

END

相关文档
最新文档