版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一 单片机存储器填充程序 一、实验目的1、了解单片机汇编语言程序的基本结构2、了解单片机汇编语言程序的设计和调试方法3、掌握几个的基本的传送类、控制类指令的使用方法二、实验仪器单片机开发板、万利仿真机、稳压电源、计算机三、实验原理1、 单片机存储器的结构51系列单片机数据存储器分为内部直接寻址存储器(工作寄存器区,位寻址区),内部间接寻址存储器,外部存储器。如图3-1所示。00H-07FH0000H-0FFFFH外部数据存储器,需要扩展,有些单片在内部扩展一部分80H0FFH直接寻址区,用于特殊功能,有很多没有用80H0FFH间接寻址区,保存一般数据,52单片机内部有高128B存储器通用存
2、储器30H-7FH位寻址寄存器20H-2FH工作寄存器00H-1FH图3-1 单片机存储器结构2、 单片机内部存储器操作指令51单片机内部将数据存储器划分成多个区域,每个区域用的存储器访问指令也不相同(操作码或操作数不同)。a、内部直接寻址通用存储器访问指令MOVA ,40H;将内部直接寻址存储器中的40H单元内容复制到累加器AMOVR2 ,30H;将内部直接寻址存储器中的40H单元内容复制到寄存器R2MOV30H,40H;将内部直接寻址存储器中的40H单元内容复制到30HMOVA ,R0;将R0指向的内部直接寻址存储器的内容复制到累加器APUSHACC;将累加器A的内容复制到堆栈栈顶POPA
3、CC;将堆栈指针SP指向的内部直接寻址存储器内容复制到Ab、内部间接寻址通用存储器访问指令MOVA ,R0;将R0指向的内部间接寻址存储器的内容复制到累加器AMOVA ,R0;将累加器A的内容复制到R0指向的内部间接寻址存储器PUSHACC;将累加器A的内容复制到系统堆栈栈顶POPACC;将堆栈指针SP指向的内部间接寻址存储器内容复制到Ac、内部位寻址区存储器访问指令MOVC ,00H;位寻址区的00H位内容复制到C标志MOV01H,C;将C标志内容复制到位寻址区的00H3、 单片机外部数据存储器操作指令MOVXA ,DPTR;将DPTR指向的外部存储器的内容复制到累加器AMOVXDPTR ,
4、A;将累加器A的内容复制到由DPTR指向的外部存储器四、实验内容1、单片机内部RAM填充程序开始装备输入参数填充一字节指向下一字节完成?完成,退出图3-2 区域填充程序流程图YN把单片机片内30H50H的单元全部清零。流程图如图3-2所示。ORG0LJMPSTARTORG100START:MOVA,#00H;填充的内容MOVR0,#30H;填充的区域的首地址MOVR7,#32;填充的区域的字节数RamClear:MOVR0,A;填充数据INCR0;下一单元DJNZR7,RamClear;没有完成,则返回SJMP$;填充完成2、采用输入参数的方式设计的程序ORG0LJMPSTARTORG100S
5、TART:MOVA,#00HMOVR0,#30HMOVR7,#32LCALLRamClearSJMP$-3;-;RAM区域填充;输入:A:填充内容,R7:填充字节数,R0:填充指针(加计数);输出:无;-RamClear:MOVR0,AINCR0DJNZR7,RamClearRET3、采用宏汇编结构设计的程序在万利集成开发环境中建立项目文件,并建立两个文件,添加到项目中,文件内容如下:File:Init.asmPUBLIC RamClearMiscCodeSEGMENTCODERSEGMiscCodeRamClear:MOVR0,AINCR0DJNZR7,RamClearRETEND在主程序中
6、调用另一个文件中的子程序,要在调用之前声明是引用外部程序。File:mainpro.asmEXTRNCODE(RamClear)MOVR7,#32MOVA,#00HMOVR0,#30HLCALLRamClearSJMP$-3END五、实验步骤及调试信息(1)、新建实验项目xuefenghai(2)、输入实验程序并补充完整(3)、编译下载实验程序,并修改错误(按附录说明)1、编译出错:提示:MISSING 'END' STATEMENT 原因:文件结尾处没有写END。修改后正确:2、全速运行程序出现以下现象:原因:驱动器的选择出现错误。(4)全速运行程序,查看实验现象。实验前的数
7、据内容1运行后的数据内容2运行数据如下:6、单步执行,分析各程序的功能特点。若单步执行,则实验结果会从30H逐步执行,实现逐步清零。同时R0从30H逐渐递增到3CH,R7从0CH逐渐递减到00H。7、整理实验设备六、实验思考题1、实验内容1对哪些单元进行清零,程序是否执行正确?答:实验1从30H到3CH进行清零,程序执行正确。2、说明MOV、MOVX、MOVC三条指令的区别。答:MOV: 单片机内部的寄存器或者存储器之间相互传递数据(内部RAM),MOVX: 单片机内部的A累加器与片外的数据存储器(片外RAM)或I/O传送数据的指令,MOVC: 单片机内部的A累加器向ROM(程序存储器)读取数据,因为程序存储器是固定的不可以写的,所以,A只能读数据,却不能向它写数据。 3、如果要在单片机内部填充N个双字节数,请写出相关程序?ORG 0 LJMP START ORG 100START: MOV DPTR,#0001H;填充的内容 MOV R0,#30H ;填充的区域的首地址 MOV R7,#N ;填充的区域的字节数RamClear: MOV R0,DPH ;填充数据 INC R0 MOV R0,DPL INC R0; ;下一单元 DJNZ R7,RamClear ;没有完成,则返回 SJMP $ ;填
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水电厂个人工作总结
- 小学课堂教学改革方案
- 湘教版高考地理二轮复习学案:中国地理分区
- 山东省德州市2024-2025学年高三上学期期中考试 化学试题
- 江苏省宿迁市泗阳县2024-2025学年高一上学期11月期中物理试题(无答案)
- 吉林省白山市长白朝鲜族自治县2024-2025学年高二上学期11月期中物理试题(无答案)
- 浙江地区高考语文五年高考真题汇编-文学类文本阅读读
- 户外广告场地租赁合同范本
- 企业财产保险投保单样本
- 各类店面租赁合同示范
- 苏科版(2024)七年级上册数学第1章 数学与我们同行 1.3交流 表达 教案
- CJ/T 123-2016 给水用钢骨架聚乙烯塑料复合管
- 中国慢性冠脉综合征患者诊断及管理指南2024版解读
- 仁爱版八年级上册《英语》期中考试卷及答案【可打印】
- CJJT55-2011 供热术语标准
- 2024江苏省沿海开发集团限公司招聘23人重点基础提升难、易点模拟试题(共500题)附带答案详解
- 大龄工人免责协议书
- 危险货物道路运输规则第7部分:运输条件及作业要求(JTT617.7-2018)
- 技术管理规范标准
- 运输作业主要风险辨识与分级管控清单
- 初二家长会(地理、生物会考动员)
评论
0/150
提交评论