单片机实验教案

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

单片机技术实验

教案

冯杰

实验一(1) 顺序结构程序设计

一、实验目的

掌握汇编语言设计和调试方法。

二、实验内容

把外部RAM中2000h单元的内容拆开,高位送2001h单元,低位送2002h单元,2001h、2002h高位清零,一般本程序用于把数据送显示缓冲区时用。

三、程序流程

四、实验步骤

1、LED环境

⑴在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。

⑵在“P.”状态下键入0000,然后按“STEP”或“EXEC”进入实验项目的调试与运行。

2、PC环境

在与PC联机状态下,编译、连接、下载PH51\se02.asm,用连续或单步方式运行程序。

3、运行结果检查

⑴在单步运行时每走一步可观察其运行结果。

⑵在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键观察与检查2000~2002h中内容变化情况。

五、思考

如何用断点方式调试本程序。

ORG 0000H

LJMP START

ORG 0030H

START: MOV DPTR,#2000H

MOVX A,@DPTR

ANL A,#0F0H

SWAP A

MOV DPTR,#2001H

MOVX @DPTR,A

MOV DPTR ,#2000H

MOVX A,@DPTR

ANL A,0FH

MOV DPTR,#2002H

MOVX @DPTR,A

SJMP $

END

实验一(2)循环结构程序设计

一、实验目的

熟悉MCS-51指令系统,掌握程序设计方法。

二、实验内容

编写并调试一个排序子程序,其功能为用冒泡法将内容RAM中几个单元字节无符号的正整数,按从小到大的次序重新排列。

三、程序框图

四、实验步骤

1、LED环境

⑴在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。

⑵对片内RAM地址50h~5AH进行不规则置数。

⑶在“P.”状态下键入0000,然后按“STEP”或“EXEC”进入实验项目的调试与运行。

2、PC环境

在与PC联机状态下,编译、连接、下载PH51\se05.asm,用连续或单步方式运行程序。

3、运行结果检查

⑴在单步运行时每走一步可观察其运行结果。

⑵在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键观察与检查片内50~5Ah中内容是否按从

小到大排列。

五、思考:修改程序把50~5Ah中内容按从小到大排列。

ORG 0000H

LJMP START

ORG 0030H

START: MOV R7,#09H

MOV R0,#50H

MOV R6,#00H;清除标志

START1: CLR C

MOV A,@R0

INC R0

SUBB A,@R0

JC LOOP1

MOV R6,#01H

DEC R0

MOV A,@R0

INC R0

XCH A,@R0

DEC R0

MOV @R0,A

INC R0

LOOP1: DJNZ R7,START1

CJNE R6,#00H,START

SJMP $

END

实验一(3)选择结构程序设计一、实验目的

掌握汇编语言的编程。

二、实验内容

编写程序,根据送入的数据转移运行。

三、程序框图

四、实验步骤

1、LED环境

⑴在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。

⑵在20H中分次送入00、01、02、03。

⑶在“P.”状态下键入0A10,然后按“STEP”或“EXEC”进入实验项目的调试与运行。

2、PC环境

在与PC联机状态下,编译、连接、下载PH51\se08.asm,用连续或单步方式运行程序。

3、运行结果检查

(1)在单步运行时每走一步可观察其运行结果。

(2)在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后观察每次运行程序后,数码管上数字循环情况。

ORG 0000H

LJMP START

ORG 0030H

START: MOV 20H,#00H

MOV A,20H

MOV B,#03H

MUL AB

MOV DPTR,#TAB

JMP @A+DPTR

SJMP $

ORG 3000H

TAB: LJMP LOOPA

LJMP LOOPB

LJMP LOOPC

LOOPA: MOV A,#01H

LOOPA1: MOV P1,A

LCALL DELAY1S

RL A

LJMP LOOPA1

LOOPB: MOV A,#03H

LOOPB1: MOV P1,A

LCALL DELAY1S

RL A

LJMP LOOPB1

LOOPC: MOV A,#05H

LOOPC1: MOV P1,A

LCALL DELAY1S

RL A

LJMP LOOPC1

相关文档
最新文档