555单片机实验五

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

实验五散转

一、实验目的

熟悉使用MCS51指令,掌握汇编语言的设计和调试方法;理解并能运用散转指令。

二、实验内容

编写程序,根据接收到的键值,作不同的处理。

三、程序框图

散转程序流程框图

四、实验步骤

1、连线说明:

3、使用各种手段调试程序

3、结果显示在G5区的数码管上

五、程序清单

;调用GetKey返回键值,根据键值执行相应的程序

;0号键显示3;1号键显示2,......,3号键显示0

EXTRN CODE(GetKeyB, Display8)

buffer DATA 30H ;内部RAM30H-37H为缓冲区ORG 0000H

LJMP STAR

ORG 0100H

STAR: MOV SP,#60H

STAR1: MOV A,#1 ;按一下键,就返回

MOV R0,#buffer ;键值存放在内部RAM 30H

LCALL GetKeyB

CJNE A,#4,$+3

JC STAR2

CLR A ;大于3,作0处理STAR2: RL A

MOV DPTR,#Tab_1

JMP @A+DPTR

Tab_1: SJMP Key0

SJMP Key1

SJMP Key2

SJMP Key3

Key0: MOV A,#3

SJMP Key

Key1: MOV A,#2

SJMP Key

Key2: MOV A,#1

SJMP Key

Key3: MOV A,#0

SJMP Key

Key: MOV R7,#8

MOV R0,#buffer

Key_1: MOV @R0,A

INC R0

DJNZ R7,Key_1

MOV R0,#buffer

LCALL Display8

Delay: MOV R5,#4

Delay1: MOV R6,#0

Delay2: MOV R7,#0

DJNZ R7,$

DJNZ R6,Delay2

DJNZ R5,Delay1

LJMP STAR1

END

六、思考题

程序中为什么要把输入的值作乘以2处理?

相关文档
最新文档