MCS51单片机实验及课程设计指导书全套
MCS51
MCS—51单片机实验及课程设计指导书电子工程系单片机教研组
电子信息职业技术学院
MCS51
目录实验
实验一:WAVE软件使用
实验二:常用指令的使用练习
实验三:循环程序
实验四:查表程序
实验五:数制转换程序
实验六实用子程序:(编程器的使用)
实验七:中断/定时程序
实验八:输入检测与输出显示程序
课设
一、课程设计目的和意义
二、实验电路系统的结构和使用方法
三、设计参考题目介绍和设计提示性思考题
四、设计任务书及要求
五、课程设计报告格式及要求
六、考核办法
七、课程设计内容及学时安排
- 1 -
MCS51
实验一:WAVE软件使用
一、预习内容
1、试验目的:学习WAVE软件安装和基本使用。
2、WAVE软件的安装
选择WAVE文件夹下的SETUP.EXE文件并双击接着下一步最后到完成。
3、安装后写出软件窗口中工具栏中各按钮的名称。
参考说明书
4、写出下面二实例各条指令的含义
二、试验内容
实例一指令的含义
ORG 0000H
MOV R0,#01H
L1: MOV A,R0
MOV P0,A
INC R0
AJMP L1
END
- 2 -
MCS51
实例二
ORG 0000H 指令的含义
MOV R0,#01H
L2: MOV A,R0
MOV P2,A
RL A
MOV R0,A
LJMP L2
END
1、打开WAVE见面,新建一个文件后输入实例一程序内容,并保存在我的文档名为A1.ASM ,执行编译按钮或项目菜单中的编译
2、编译后,如正确扫描过去,不正确提示出错信息修改后再编译直到不提示错误为止。
3、打开窗口中的CPU窗口和数据窗口的CODE和DADE写出每条指令的机器操作代码。
4、打开窗口中的平排窗口,这样程序窗口、CPU窗口、数据存储器窗口就并排在整个屏幕。
5、点击单步按钮或F8键进行单步操作。
6、观测CPU窗口的A、P0和数据存储器窗口R0的状态并列表1记录每循环一次下列寄存器的值。
8、新建一个文件后输入实例二程序内容,并保存在我的文档名为A2.ASM ,执行编译按钮或项目菜单中的编译
三、实验报告要求
1、写出上述两试验程序各条指令的含义(与预习时相比是否一致)。
- 3 -
MCS51
2、整理表一和表二的数据,分析他们各自实现的功能。
3、写出CPU窗口20个特殊功能寄存器及其功能。
- 4 -
MCS51
实验二:常用指令的使用练习
一、预习内容
1、在WAVE软件平台下学习常用指令的特点。
2、写出下面二实例各条指令的含义
3、写出二实例实现的功能
二、试验内容
实例一
ORG 0000H 指令的含义机器操作代码
MOV PSW,#08H
MOV 30H,#25
MOV R0,#30H
MOV A,@R0
MOV DPTR,#0006H
MOV A,#35H
MOVX @DPTR,A
MOV A,R0
MOVX @DPTR,A
MOVC A,@A+DPTR
SJMP$
功能:
1、将程序输入编辑器,保存文件名为MOV.ASM
2、对源程序进行编译,修改语法错误
3、打开窗口中的CPU窗口和数据窗口的CODE、DADE和XDATE写出每条指令的机器操作代码。
4、打开窗口中的平排窗口,这样程序窗口、CPU窗口、内外数据存储器窗口和程序存储
器窗口就并排在整个屏幕。
5、单步执行写出R0在数据存储单元中的地址,执行到SJMP 时R0.、DPTR、 A的内容
实例二指令的含义机器操作代码 A. P0
ORG 0000H
mov a,#34h
mov p0,#56h
MOV B,#12H
LCALL PP
SJMP $
PP:
push a
push p0
mov a,#78h
- 5 -
MCS51
mov p0,a
pop p0
pop a
RET
END
1、将程序输入编辑器,保存文件名为stack.ASM
2、对源程序进行编译,修改语法错误
3、打开窗口中的CPU窗口和数据窗口的CODE和DADE写出每条指令的机器操作代码。
4、打开窗口中的平排窗口,这样程序窗口、CPU窗口、数据存储器窗口就并排在整个屏
幕。
5、单步执行根据CPU窗口信息、写出每条指令A.P0的值(在程序后)。
三、实验报告要求
1、写出上述两试验程序各条指令的含义(与预习时相比是否一致),整理试验一试验二
的结果。
2、区分实例一各条传输指令的不同。
3、写出指令在执行调用时堆栈SP的变化过程和堆栈在堆栈区所保存内容。
- 6 -
MCS51
实验三:循环程序
一、预习内容
1、实验目的:
1)掌握循环程序的结构。(循环变量初值、循环变量的修改、循环体执行的条件)。
2)循环程序的执行过程
3)了解循环的嵌套。
2、写出下面二实例各条指令的含义。
3、试写出各实例实现的功能和实验一DELAY子程序的延时时间为多少。
二、实验内容
实例一:
试验内容实验题目:流水灯
程序清单:指令的含义。
ORG 0000H
LJMP START
ORG 0100H
START: MOV R7, #08H
MOV A, #01H
LOOP: MOV P1, A
ACALL DELAY
RR A
DJNZ R7, LOOP
SJMP LOOP
DELAY:MOV R6,#100
LL2:MOV R5,#255
LL1:NOP
DJNZ R5,LL1
DJNZ R6,LL2
RET
END
实验步骤:
1、将程序输入编辑器,保存文件名为LSD.ASM
2、对源程序进行编译,修改语法错误。
3、运行程序使程序窗口和CPU窗口并排,观察CPU窗口P0口的变化状态现。
现象:
- 7 -
MCS51
4、将指令RR A 改为RL A再编译运行,观察P0口现象。
现象:
5、将DELAY中MOV R6, #100中100分别改为10和200后编译运行,观察P0口现象。现象:
结论:
实例二冒泡排序法
?数据排序常用的方法是冒泡排序法。
原则:执行时从前向后进行相邻数的比较,如数据的大小次序与要求的顺序不符就将这两个数互换,否则不互换。对于升序排序,通过这种相邻数的互换,使小数向前移动,大数向后移动。从前向后进行一次冒泡(相邻数的互换),就会把最大的数换到最后。再进行一次冒泡,就会把次大的数排在倒数第二的位置。
?无符号数排序程序。
设在片内RAM中,起始地址为30H的8个单元中存放有8个无符号数。设R7为比较次数计数器,初始值为07H,位地址00H为数据互换标志位。对这些无符号数进行升序排序。程序清单:
START:
CLR 00H
MOV R7,#07H
MOV R0,#30H
LOOP:MOV A,@R0
MOV 2BH,A
INC R0
MOV 2AH,@R0
CLR C
SUBB A,@R0
JC NEXT
MOV @R0,2BH
DEC R0
MOV @R0,2AH
INC R0
SETB 00H
NEXT:DJNZ R7,LOOP
JB 00H,START
SJMP $
1、在WAVE软件中输入上述程序并保存为*.ASM文件,编译后,打开窗口中数据窗口的DATA,并使程序窗口与数据窗口DATA的并排。
…… 此处隐藏:3740字,全部文档内容请下载后查看。喜欢就下载吧 ……- 基于PLC控制的航空电镀生产线自动输送
- 中考预测课内外文言文对比阅读2
- 2018-2023年中国商业智能(BI)产业市场
- 中国金融体制改革研究2011new
- 外窗淋水试验方案
- 精益生产(Lean Production)
- 学校安全事故处置和信息报送制度
- Chapter 5 Human Resources Management
- 【小学数学】人教版小学六年级上册数学
- 初中数学解题方法与技巧
- 山东省创伤中心建设与管理指导原则(试
- 函数与数列的极限的强化练习题答案
- 10分钟淋巴按摩消脂
- 网络应急演练预案
- 服装设计入门基础知识
- 初二数学分式计算题练习
- (人教新课标)高二数学必修5第二章 数列
- 最新自主创业项目
- 北京大学 无机化学课件 4第4章 配合物
- 贸易公司业务管理制度




