[单片机实验报告(例文)] 单片机实验报告怎么写
单片机实验报告(范文)
第 PAGE \* Arabic 1 页第 PAGE \* Arabic 1 页
评阅
评
阅
姓名 学号
时间 地点 计算机楼708机房
实验题目 C51单片机汇编程序编制和运行
实验目的与要求
1、学习单片机汇编程序的编制方法。
2、研究用单片机实现简单事务的软件程序。
二.实验环境
在Keil uVision2下实验。
三.实验内容
1. 编制两个无符号八位二进制数相加的汇编程序
要求:
①两个数和结果分别放在自己定义的三个不同变量中。
②程序从0000h地址开始运行,并且不能影响各中断的入口地址。
③预测每一条指令后PC、ACC寄存器的值,写好预测表。
④记录单步运行程序时PC、ACC寄存器在每一步后的实际值。
⑤ 比较 ③和④的值,判断程序有无问题。
2. 研究用软件延时1秒的方法和程序
要求:
①用某种方式表征延时的开始和结束。
注意模拟器的时钟频率和实际单片机频率的差别。
系统实施
(1)实验内容一:
数据段起始地址定位为0030H(为了不和中断地址冲突);在数据段 内定义DATA1,DATA2,DATA3,将DATA1,DATA2分别放到0030H和0031H中,将相加的和数放到0033H中(为了使用DATA3)。
(2)实验内容二:
子程序中要实现延时1秒的功能,首先要知道一条指令的执行时间。因为51单片机得晶振为12MHZ,所以一个机器周期要用1μs。利用条件转移指令djnz(为两机器周期指令,即2μs),让程序循环执行djnz指令1s/2μs=500000次即可。用R0、R1、R2设置循环的次数,使得三个存储器中所放数据的乘积为500000,例如25*200*100;而当延时结束后,它们中的内容均为0。
程序测试报告
实验内容一:
输入数据11H,22H,起始地址为0030H。
实验数据与预测数据一致,表明程序是正确的。
(注:此实验以PHILIPS的P87C52X2为目标器件)
实验记录表格:
指令
PC
ACC
mov 30h,data1
0030H
0
mov a,30h
0033H
0
mov 31h,data2
0035H
11
add a,31h
0038H
11
mov data3,a
003aH
33
实验内容二:
编程按下Run让程序自动运行至停止,延时时间大约为1min,见左侧面板的sec显示约为1S,而R0、R1、R2内容都为0。
体会
这次实验一开始做的时候就觉得没有头绪,程序是一早编好了的,但是运行之后不知道该看些什么来证明结论;再是Keil μVision2刚接触,对界面还是不够熟悉,在第一个实验中需要查看的地址内容还是通过问同学才找到法门。尤其是在做第二个实验的时候碰到了一个大问题,由于一开始选择的目标器件不对,导致延时程序一旦运行,除非人工停止,不然就一直运行;期间试了很多办法,程序也是改了又改、关掉重启、更改晶振等等,好在最后还是找出了问题,完成了实验内容。
附录
1、编制两个无符号八位二进制数相加的汇编程序
ajmp 0030h
org 0030h
add1 equ 0011h
add2 equ 0022h
add3 equ 0033h
mov 30h,data1
mov a,30h
mov 31h,data2
add a,31h
mov data3,a
end
2. 研究用软件延时1秒的方法和程序
org 1000h
delay1 : mov R0,#25
delay2 : mov R1,#200
delay3 : mov R2,#100
djnz R2,$
djnz R1,delay3
djnz R0,delay2
end
相关热词搜索: 实验报告 例文 单片机 实验 单片机实验报告(例文)