没有合适的资源?快使用搜索试试~ 我知道了~
单片机实验报告1单片机实验报告1.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 95 浏览量
2022-07-04
14:12:00
上传
评论
收藏 125KB DOCX 举报
温馨提示
试读
17页
单片机实验报告1单片机实验报告1
资源推荐
资源详情
资源评论
实验 1 开发环境使用及常用指令功能
一、实验目的
1、掌握集成开发环境的使用;
2、初步了解实验装置的使用方法;
3、熟悉常用指令的功能;
4、熟悉程序调试的方法;
5、学习自己编写、调试计算程序。
二、实验说明
利用单片机及 Keil uVision4 软件实现程序的编译、运行、调试,学会利用软件硬件的
几次开发使用。
三、实验内容
1、自行编写一段计算程序,实现双字节二进制数除以单字节二进制数,将所编程序录
入、编译加载并调试。分析运行过程
2、用排线将单片机 P2 口与通用板上 LED 指示灯连接,单步执行下列指令:
SETB P2.0
CLR P2.0
CPL P2.1
CPL P2.1
MOV A,#55H
MOV P2,A
XRL A,#0FFH
MOV P2,A
RLC A
MOV P2,A
观察指令执行后,指示灯的亮、熄现象,理解指令的功能。在实验报告中记录实验现象
和分析。
四、实验程序
1、双字节二进制数除以单字节二进制数程序如下:
ORG 0000H
START: LJMP CLATE
ORG 0030H
CLATE: MOV 34H,#10 ;被除数高位 34H 设为 10
MOV 33H,#0 ;被除数低位 33H 设为 0
MOV 35H,#10 ;除数 35H 设为 10
MOV R3,34H ;被除数高位移至 R3
MOV R2,33H ;被除数高位移至 R2
MOV R4,35H ;除数移至 R4
MOV 32H,0 ;设置商存放在 32H
MOV B,#8 ;设置循环次数
LOOP: CLR C ;
MOV A,R3 ;被除数高位移至 A
SUBB A,R4 ;R3-R4
MOV 31H,A ;余数暂存 31H
JNC LOOP1 ;若够减,则跳转 LOOP1
MOV A,R2 ;若不够减,则 R3R2 整体左移
RLC A ;
MOV R2,A ;
MOV A,R3 ;
RLC A ;
MOV R3,A ; 至此 R3R2 整体左移
LJMP LOOP2 ;
LOOP1: INC 32H ;够减商增 1
MOV R3,31H ;余数存回至除数高位
LOOP2: MOV A,32H
RL A
MOV 32H,A
DJNZ B,LOOP ;未做完除法,则转 LOOP 继续
MOV R6,32H
END
五、实验现象
1、双字节二进制数除以单字节二进制数程序:
运行结束后,R6 为 Ox0a,即商为 10
2、P2 口与 LED 指示灯亮暗实验:
SETB P2.0 L1 L2 L3 L4 L5 L6 L7 L8
CLR P2.0 亮 暗 暗 暗 暗 暗 暗 暗
CPL P2.1 亮 亮 暗 暗 暗 暗 暗 暗
CPL P2.1 亮 暗 暗 暗 暗 暗 暗 暗
MOV A,#55H
MOV P2,A
XRL A,#0FFH 暗 亮 暗 亮 暗 亮 暗 亮
MOV P2,A
RLC A 亮 暗 亮 暗 亮 暗 亮 暗
MOV P2,A
END 亮 亮 暗 亮 暗 亮 暗 亮
六、思考题
1、跨越式单步运行方式和进入式单步运行方式有什么区别?
答:进入式单步:在调试状态下,点击图标 ,或执行快捷键 F11,或者使用
“Debug”菜单栏“Step Into”选项,可以执行进入式单步操作。每进行一次操作,程序将
运行一条指令。每执行一行指令,表征 PC 指针的 图标都会向下移动一行,已执行过的语
句呈现绿色。进入式单步当遇到子程序调用时,将会跟踪到子程序中执行。
跨越式单步:点击图标 ,或者执行快捷键 F10,或者使用“Debug”菜单栏的“Step
over”选项,可以执行跨越式单步。跨越式单步当遇到子程序调用指令时,不跟进子程序中
执行,直接把整个子程序一步执行完。对于其它指令来说,跨越式单步和进入式单步的作用
相同。
2、如何设置程序指针到光标所在程序行?
答:(1)移动 PC 到光标所在行
在光标所在程序行,点击鼠标右键,弹出一个菜单,选中“Set Program Counter”选项,
可以将程序指针 PC 图标强行移到光标所在行。
调试程序时,如果希望改变程序的起始运行地址,可以利用此功能移动程序指针 PC 指
向需运行的程序位置。
(2)执行到光标所在行
点击图标 ,或者使用快捷键 Ctrl+F10,或者使用“Debug”菜单栏中的 “Run to
Cursor line”选项,可以使程序从当前 图标所在行执行到光标所在行。
3、如何修改内部 RAM 存储单元的值?
答: 通过打开数据存储器观察窗口,用户可以观察指定范围内的数据存储器内容。指
定一个内部 RAM 存储单元所包含的一个地址,将鼠标放到该地址数值上,在右键弹出的窗
口中,可以人为强行修改相应地址单元的值。程序调试时,也可以采用指令给 RAM 单元赋值,
也可以人为强行修改 RAM 中的值。
实验 2 “跑马灯”实验
一、实验目的
1、 了解发光二极管的使用方法;
2、 熟悉串行、并行输出扩展接口的方法;
3、 学习常用指令用法和简单程序编写技巧。
二、实验说明
利用单片机的 P1 口低 4 位,通过一片 74HC595 控制 8 位发光二极管,方法是在实验箱
通用板上将 P1 口的低 4 位与 74HC595 的输入信号相连,将 74HC595 的输出分别与发光二
极管相连,由此构成的实验电路原理如图 3.1.1 所示。
MCS51
单片机
P1.0
595
L0
L1
L7
VCC
…
RP2
RCLK
P1.1
P1.2
SI
SCLK
/OE
Q0
Q1
Q7
图 3.1.1 发光二极管串行控制电路
在图 3.1.1 中,74HC595 的 SI(串行数据输入端)、SCLK(串行移位时钟输入端)、RCLK
(输出寄存器锁存时钟端)、/OE(输出引脚使能端)分别与单片机的 P1.0、P1.1、P1.2、
P1.3 引脚相连。74HC595 输出低电平时点亮发光二极管。图 3.1.1 中 595 的输出使能引脚
(/OE)已直接连接到“地”,使输出总是使能。
三、实验内容
1、 按图 3.1.1 连接电路,调试参考程序,单步执行部分指令,观察有关寄存器中值的
变化,理解指令的功能和执行效果;
2、 自行对实验箱核心板上的发光二极管电路进行编程,采用并行接口控制的方法,实
现“跑马灯”的功能,画出实验电路,记录实验程序。
四、实验程序
利用图 3.1.1 电路实现“跑马灯”功能的参考程序如下:
LIGHT EQU 62H ;定义指示灯数据存放地址单元
ORG 0000H
AJMP START
ORG 0030H
START: MOV SP,#30H ;初始化堆栈指针
CLR P1.0
CLR P1.1
CLR P1.2
CLR P1.3 ;初始化有关 I/O 口
剩余16页未读,继续阅读
资源评论
oligaga
- 粉丝: 52
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功