




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中山大学单片机实验一实验报告【实验原理】第一部分:系统介绍系统资源分配如下:在程序存储器中:0000H2FFFH 为监控程序存储器区,用户不可用 3000H3FFFH 为数据用户区 4000H7FFFH 用户实验程序存储区,供用户下载实验程序 8000HGF9FH,CFFF0HFFFFH 为用户CPLD试验区段,用户可 以在此段空间编程。 CFA0HCFDFH 系统I/O区,用户可用但不可更改系统板结构如下:第二部分:键盘使用说明1、键盘布局和定义键盘布局图如下:0123MEM/SBRKESC/CBRK4567REG/BMOVEXEC89ABLAST/BFILSTEPCDEFNEXT/BCPYENTERPULSERESETCTRLSHIFT8051教学实验键盘共有24个键,包括数字键0F共16个,功能键8个,以及外加功能键(SHIFT和CTRL)2个。其中8个功能键中有5个双功能键,按下SHIFT键的同时按下功能键可实现第二键功能。 2、键盘功能号(1)存储器浏览修改功能 功能代号:1 功能名称:MEM 功能键名:MEM具体操作流程:按下MEM(LED显示“-1-”)输入有效地址Enter(浏览内容)输入十六进制数字Enter(修改该地址中的内容)ECS退出(2)寄存器浏览修改功能 功能代号:2 功能名称:REG 功能键名:RE寄存器名组合热键寄存器名组合热键ROCTRL+0PSWSHIFT+0R1CTRL+1SPSHIFT+1R2CTRL+2DPLSHIFT+2R3CTRL+3DPHSHIFT+3R4CTRL+4PCLSHIFT+4R5CTRL+5PCHSHIFT+5R6CTRL+6TCONSHIFT+6R7CTRL+7TMODSHIFT+7ACTRL+ASCONSHIFT+8BCTRL+BSBUFSHIFT+9IECSHIFT+AIPCSHIFT+B(3)存储器块移动功能功能代号:3功能名称:BMOV 功能键名:SHIFT+BMOV(4)存储器块拷贝功能功能代号:4 功能名称:BCPY(5)功能键名:SHIFT+BCPY存储器块填充功能 功能代号:5 功能名称:BFIL功能键名:SHIFT+BFIL(6)设置断点功能功能代号:6 功能名称:SBRK 功能键名:SHIFT+SBRK(7)清除断点功能 功能代号:7 功能名称:CBRK 功能键名:SHIFT+CBRK(8)全速执行功能 功能代号:8 功能名称:EXEC 功能键名:EXEC(9)单步调试功能 功能代号:9 功能名称:STEP 功能键名:STEP第三部分:实验内容准备:1.先将8279的RL0RL7分别与键盘的RL10RL17相连;8279的KA0KA2分别与键盘的KA10KA12相连,8279的SHIFT与键盘的SHIFT1相连;8279的CTRL与实验箱的CTRL1相连。 2.接通电源,按下复位键,等一段时间后,在初始化状态提示符“-P-”下,按下“Ctrl-F”即可进入LED显示的演示程序,在LED显示器上可以看到数字“8”轮回显示,按任意键可以退出该程序,返回监控状态。此演示程序可以大致检查系统是否可以正常工作。实验步骤:1. 按照程序,将OBJ下的代码分别输入相应的储存地址中;2. 设置断点:SBRK(-6-)4018Enter;显示Hello,表示断点设置成功。3. 检查初始原始存储单元内部数据按下MEM,显示_1_的状态下键入0060H,依次按下NEXT并记录60H-69H存储单元的数值。重复以上操作,记下5000H到5009H的数据。按下REG,显示“2”,分别按下“CTRL+0”“CTRL+1” “CTRL+A” “SHIFT+2” “SHIFT+3”记录寄存器R0,R1,A,DPTR的数值。4. 按下EXEC全速执行该程序5. 执行完毕,重复步骤3的内容,记录存储器的变化。实验记录如下表所示:地址实验结果理论分析程序执行前程序执行后程序执行后60H89HE0HE0H61HCCHEDHE1H62H08H02HE2H63HEAH48HE3H64HEFHE4HE4H65HFEHE5HE5H66HCCHE6HE6H67HD7HE7HE7H68H08HE8HE8H69HCEHE9HE9H5000HAAHE0HE0H5001HAAHE1HE1H5002HAAHE2HE2H5003HAAHE3HE3H5004HAAHE4HE4H5005HAAHE5HE5H5006HAAHE6HE6H5007HAAHE7HE7H5008HAAHE8HE8H5009HAAHE9HE9HR000H6AH6AHR100H00H00HA00HE9HE9HDPL00H0AH0AHDPH00H50H50H 实验结果分析: 从上表中可以看出来,首先在片内60H69H单元中存入E0HE9H各数,在把这些数据传送到片外RAM的5000H5009H单元。实验中60H、64H69H、5000H5009H、R0、R1、A、DPTR中的实验值和理论值相同,但是在61H63H这三个存储单元中,实验结果与理论值存在很大的差距。从分析可以知道,61H63H可能是个特殊的存储单元,我们假定是个以60H为底的堆栈,原因为堆栈起始值为60H,程序运行到断点处可能保护现场,向堆栈中存值。由于这个存储区不在用户实验存储区(4000H7FFFH),导致了这种类型的结果错误,所以我们在实验时,尽量将范围控制在用户实验存储区。【程序二】:程序代码:实验步骤:1. 按照程序,将OBJ下的代码分别输入相应的储存地址中;2.清除和设置断点:按下CBRK(LED显示“-7-”)输入4018Enter(成功清除断点显示HELLO)按下SBRK输入4022Enter(成功设置断点显示HELLO)3按下EXEC全速执行该程序:按EXEC,显示_8_的状态下键入4000H,并按ENTER确认。然后显示402212,表示运行成功。4记录30H、38H、40H、48H、50H、6200H、A、R0、R1等存储单元中的内容。记录结果如下表所示:存储单元30H38H40H48H50H6200HAR0R1实验结果38H07H40H38H30H40H40H38HF0H理论值38HF0H40H38H30H40H40H38HF0H6. 给程序代码注释 LOC SOURCE4000ORG4000H ;程序首地址为4000H4000MOV30H,#38H ;(30H)=38H #38H立即数寻址,30H直接寻址4003 MOV38H,#40H ;(38H)=40H #40H立即数寻址,38H直接寻址4006MOV40H,#48H ;(40H)=48H #48H立即数寻址,40H直接寻址4009MOV48H,#90H ;(48H)=90H #90H立即数寻址,48H直接寻址400C MOVA,#40H ;A=40H #40H立即数寻址,A寄存器寻址400E MOVR0,A ;R0=A=40H A寄存器寻址,R0寄存器寻址400FMOVR1,#0F0H ;R1=F0H #0F0H立即数寻址,R1寄存器寻址4011 MOVR0,30H ;(R0)=(40H)=(30H)=38H 30H直接寻址,R0寄存器间接寻址4013 MOVDPTR,#6200H ;DPTR=6200H #6200H立即数寻址,DPTR寄存器寻址4016MOV40H,38H ;(40H)=(38H)=40H 40H,38H均为直接寻址4019MOVR0,30H ;R0=(30H)=38H 30H直接寻址,R0寄存器寻址401B MOV50H,#30H ;(50H)=30H #30H立即数寻址,50H直接寻址401E MOVA,R0 ;A=(R0)=(38H)=40H R0寄存器间接寻址,A寄存器寻址401F MOV38H,R1 ;(38H)=R1=F0H R1寄存器寻址,38H直接寻址4021MOVXDPTR,A ;(DPTR)=(6200H)=A=40H A寄存器寻址,DPTR寄存器间接寻址4022 ST: SJMP ST ;程序在此处循环 END ;程序结束 实验结果分析: 从上面表中可以看出,除了38H单元实际值和理论值不一样外,其他均相同。证明程序可以达到要求,至于为什么会存在38H实际值跟理论值不一样,这可能跟实验一中的分析是一样的,即38H这个单元是堆栈段中的一个单元。实验步骤:1.按下MEM,显示_1_的状态下键入4000H,依次键入程序机器码OBJ目录下的十六位进制数,按ENTER确定,将OBJ存入相应的存储器中。2.清除断点和设置断点:按下CBRK(LED显示“-7-”)输入4022Enter(成功清除实验二中的断点显示将显示HELLO);按下SBRK输入4017Enter(成功设置新断点LED显示HELLO)3.单步运行程序:按STEP,显示402280,表示程序指针还在实验二中所运行完成的位置,此时我们应该按一下复位键,使PC指向4000。现在我们再按下STEP,显示400276,表示第一步程序已经运行完成,400276表示单步执行下一条指令的首地址以及其中的存储内容。按ESC退出后,再按下REGLED显示2,分别按CTRL+A和CTRL+B记录A,B的值。重复上述步骤,直至屏显401780为止。记录结果如下表所示:STEP按下次数实验值理论值ABAB100H00H00H00H200H00H00H00H3B9H00HB9H00H47DH00H7DH00H5AEH00HAEH00H614H00H14H00H714H00H14H00H850H00H50H00H950H00H50H00H1050H03H50H03H111AH02H1AH02H1234H00H34H00H1334H00H34H00H1434H00H34H00H1534H00H34H00H1634H00H34H00H 实验结果分析: 通过比较上面个程序运行中的AB值,可以知道,实际值跟理论值完全吻合,说明执行中没有差错,程序达到预期的目的。我们的这个系统除了可以全速运行之外,还可以进行单步执行,这样,我们就能够在运行中发现错误,只要单步执行程序时,与理论结果不一样的,我们就要立刻关注,说明程序有错误,达不到预期的目的。【实验四】:LINE LOC OBJ SOURCE1 4000 ORG 4000H ;程序首地址2 4000 7520A4 MOV 20H,#0A4H ;(20H)=A4H3 4003 74D6 MOV A,#0D6H ;A=D6H4 4005 7820 MOV R0,#20H ;R0=20H 5 4007 7A57 MOV R2,#57H ;R2=57H6 4009 5A ANL A,R2 ;A=A与R2=57H7 400A 46 ORL A,R0 ;A=57H或A4H=F6H8 400B C4 SWAP A ;将A的高四位与低四位对调9 400C F4 CPL A ;A=A=90H10 400D 64FF XRL A,#0FFH ;A=A异或FFH=6FH11 400F 42200 ORL 20H,A ;(20H)=6FH或A4H=EFH 12 4011 80FE ST: SJMP ST ;程序在此处循环13 END ;结束实验步骤:1.按下MEM,显示_1_的状态下键入4000H,依次键入程序机器码OBJ目录下的十六位进制数,按ENTER确定,将OBJ存入相应的存储器中。2. 清除断点和设置断点:按下CBRK(LED显示“-7-”)输入4017Enter(成功清除实验二中的断点显示将显示HELLO);按下SBRK输入4011Enter(成功设置新断点LED显示HELLO)3.按下EXEC全速执行该程序:按EXEC,显示_8_的状态下键入4000H,并按ENTER确认。然后显示401180,表示运行成功。4.记录A,20H,R0,R2中的数值,如下表所示:A20HR0R2实际值6FHEFH20H57H理论值6FHEFH20H57H 实验结果分析 上表中可以看出,实验值与理论值一样,所以程序运行正常,我们的系统式可靠的。【思考】 若
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 猴子考试题目大全及答案
- 植物学理论课考试题及答案
- 期中考试四下语文试题及答案
- 卫计高级职称考试题库及答案
- 2025年杭州市事业单位招聘考试综合类专业能力测试试卷(财务类)真题模拟训练及答案
- 2025年事业单位招聘考试综合类无领导小组讨论面试真题模拟试卷:艺术鉴赏
- 2025年事业单位招聘考试管理类专业能力测试试卷真题模拟解析与预测
- 2025年事业单位招聘考试面试真题模拟试卷实战
- 2025年中国戊二醛(工业级)行业市场分析及投资价值评估前景预测报告
- 2025年中国无绒面料行业市场分析及投资价值评估前景预测报告
- 《汽车机械基础》-第二章 构件受力分析
- 2025至2030中国肾结石的处理行业发展趋势分析与未来投资战略咨询研究报告
- 气候变化与健康课件
- 火锅店合伙协议合同范本
- 机器设备招投标管理办法
- 股权质押合同范本及股权质押期限约定
- 2025年放射工作人员放射防护培训考试题及答案
- 2024年发展对象培训结业考试真题
- 渔民补贴资金管理办法
- 顺丰快递物流模式的优势分析
- 安全用药相关管理制度
评论
0/150
提交评论