单片机实验教案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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