哈工大电子信息工程学院单片机软件实验报告2016-张迎新版_第1页
哈工大电子信息工程学院单片机软件实验报告2016-张迎新版_第2页
哈工大电子信息工程学院单片机软件实验报告2016-张迎新版_第3页
哈工大电子信息工程学院单片机软件实验报告2016-张迎新版_第4页
哈工大电子信息工程学院单片机软件实验报告2016-张迎新版_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、姓名:学号:班级:同组人:指导老师:报告日期:软件设计实验1:清零实验 实验目的:掌握汇编语言设计和调试方法。 实验内容:使用at89c52单片机对单片机内部ram进行清零操作,实验内容如下:1. 把 90h-afh的内容置为#55h;2. 把90h-9fh的内容清零。 实验问答:1. 清零之后,90h-9fh的内容是什么?a0h-afh的内容是什么?清零之后,90h-9fh的内容是#00h; a0h-afh的内容是#55h2. 累加器a、堆栈指针sp的初始状态是什么?累加器a的初始状态是00h; 堆栈指针sp的初始状态是07h 实验程序:=$nomod51$include (80c52.mc

2、u);=; definitions;=;=; variables;=;=; reset and interrupt vectors;= ; reset vector org 0000h jmp start;=; code segment;= org 0100hstart: mov r1,#20hmov a,#55hmov r0,#90hlp1:mov r0,ainc r0djnz r1,lp1 mov r2,#10h mov a,#00h mov r0,#90hlp2:mov r0,ainc r0djnz r2,lp2loop: jmp loop;= end* 单个实验报告内容限制在两页之内,

3、采用双面打印,所有报告统一装订;表头内容需要手工签写。姓名:学号:班级:同组人:指导老师:报告日期:软件设计实验2:拆字拼字实验 实验目的:进一步掌握汇编语言设计和调试方法。 实验内容:使用at89c52单片机对单片机内部ram存储的数据进行拆字和拼字实验,实验内容如下:1. 将40h地址的内容设置为#8ah;2. 将40h地址的内容进行拆分,高字节保存在31h,低字节保存在32h;3. 将31h、32h地址的内容进行合并,保存在30h。 实验问答:1. 运行程序后30h和40h的最终内容是?30h和40h的最终内容都是#8ah.2. 如果欲使30h内容为0a8h,程序应如何修改?只需对源码做

4、出如下改动 mov a,32h swap a mov r6,a mov a,31h orl a,r6 mov 30h,a只需将32h中的低位先交换后赋给r6,然后把31h的高位与之做或运算即可。 实验程序:=$nomod51$include (80c52.mcu);=; definitions;=;=; variables;=;=; reset and interrupt vectors;= ; reset vector org 0000h jmp start;=; code segment;= org 0100hstart: mov 40h,#8ah mov a,40h swap a anl

5、 a,#0fh mov 31h,a mov a,40h anl a,#0fh mov 32h,a mov a,31h swap a mov r6,a mov a,32h orl a,r6 mov 30h,a;= end姓名:学号:班级:同组人:指导老师:报告日期:软件设计实验3:查找相同数个数实验 实验目的:熟悉汇编语言编程,掌握判断与跳转语句的使用。 实验内容:使用at89c52单片机对单片机内部ram进行查找相同数,输出其个数的实验,实验内容如下:1. 初始化后,b0h-bfh地址的内容为#00h,将b9h的内容赋值为#01h,将bbh的内容赋值为#01h;2. 在b0h-bfh中查找有几

6、个单元存放的内容是#00h,把个数放在r7中。 实验问答:1. 如需使用第2组工作寄存器的r7,需如何修改程序?只需更改起始地址即可,位操作指令rs0,rs1分别置为0,12. 如需从b0h单元开始,查32个单元的内容,需修改程序哪个语句,如何修改?将数据块长度r1的值修改为#20h,及循环#20h次。 实验程序:=$nomod51$include (80c52.mcu);=; definitions;=;=; variables;=;=; reset and interrupt vectors;= ; reset vector org 0000h jmp start;=; code segm

7、ent;= org 0100hstart: mov r1,#0b0h mov r2,#10hlp1: mov r1,#00h inc r1 djnz r2,lp1 mov r0,#0b9h mov r0,#01h mov r0,#0bbh mov r0,#01h mov r7,#00h mov r1,#0b0h mov r2,#10hlp2:cjne r1,#00h,l3 inc r7 l3:inc r1 djnz r2,lp2loop: jmp loop;= end姓名:学号:班级:同组人:指导老师:报告日期:软件设计实验4:二进制转ascii实验 实验目的:熟悉ascii的编码原理,学习其

8、与二进制之间的转换。 实验内容:1. 将#9fh转为相应的ascii;2. 将结果存放到30h、31h地址;3. 查表的方式实现。 实验问答:1. 简述ascii、bcd码与二进制之间的关系。ascll码是标准信息编码,由7位二进制表示,每个二进制数有唯一对应字符。bcd码用10位编码来表示十进制数。两种代码都是二进制码,通过一一对应的关系来实现查询功能。2. 简述movc两条指令,并说明其作用及区别。movc a,a+dptr:以数据指针为基址,a为增量来实现查表功能。movc a,a+pc:以pc为基址,a为增量来实现查表功能。这两条指令实质上都是进行了变址寻址。 实验程序:=$nomod

9、51$include (80c52.mcu);=; definitions;=;=; variables;=;=; reset and interrupt vectors;= ; reset vector org 0000h jmp start;=; code segment;= org 0100hstart: mov a,#9fh swap a anl a,#0fh acall sp1 mov 30h,a mov a,#9fh anl a,#0fh acall sp1 mov 31h,asp1: add a,#02h movc a,a+pc mov r0,a ret tab: db 30h,

10、31h,32h,33h,34h,35h,36h,37h,38h,39h,41h,42h,43h,44h,45h,46hloop: jmp loop;= end姓名:学号:班级:同组人:指导老师:报告日期:软件设计实验5:数据块传送实验 实验目的:掌握外部扩展ram中的数据操作。 实验内容:1. 对2040h地址开始的100个字节进行赋值,值为#5ah;2. 将2040h地址开始的20个字节传送到以0030h开始的目的地址。 实验问答:3. 简述movx两组指令,并说明其作用及区别。movx a,ri 将ri指向的片外8位数据送入amovx a,dptr 将dptr指向的片外16位数据送入amo

11、vx ri,a 将累加器数据送入片外8位地址movx dptr,a 将累加器数据送入片外16位地址4. 单片机访问外部ram时,使用了哪几个控制信号引脚?一共三个引脚。wr,rd 进行片外拓展读写的允许位。ale 锁存片外低字节地址的控制信号。 实验程序:=$nomod51$include (80c52.mcu);=; definitions;=;=; variables;=;=; reset and interrupt vectors;= ; reset vector org 0000h jmp start;=; code segment;= org 0100hstart: mov r0,#64h mov dptr,#2040h mo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论