单片机实验报告.docx

上传人:b****8 文档编号:12438524 上传时间:2023-06-05 格式:DOCX 页数:24 大小:892.38KB
下载 相关 举报
单片机实验报告.docx_第1页
第1页 / 共24页
单片机实验报告.docx_第2页
第2页 / 共24页
单片机实验报告.docx_第3页
第3页 / 共24页
单片机实验报告.docx_第4页
第4页 / 共24页
单片机实验报告.docx_第5页
第5页 / 共24页
单片机实验报告.docx_第6页
第6页 / 共24页
单片机实验报告.docx_第7页
第7页 / 共24页
单片机实验报告.docx_第8页
第8页 / 共24页
单片机实验报告.docx_第9页
第9页 / 共24页
单片机实验报告.docx_第10页
第10页 / 共24页
单片机实验报告.docx_第11页
第11页 / 共24页
单片机实验报告.docx_第12页
第12页 / 共24页
单片机实验报告.docx_第13页
第13页 / 共24页
单片机实验报告.docx_第14页
第14页 / 共24页
单片机实验报告.docx_第15页
第15页 / 共24页
单片机实验报告.docx_第16页
第16页 / 共24页
单片机实验报告.docx_第17页
第17页 / 共24页
单片机实验报告.docx_第18页
第18页 / 共24页
单片机实验报告.docx_第19页
第19页 / 共24页
单片机实验报告.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机实验报告.docx

《单片机实验报告.docx》由会员分享,可在线阅读,更多相关《单片机实验报告.docx(24页珍藏版)》请在冰点文库上搜索。

单片机实验报告.docx

单片机实验报告

单片机实验报告

实验一:

存储器块清零或赋值

1、实验目的

1熟悉存储器的读写方法,熟悉51汇编语言结构。

2熟悉循环结构程序的编写。

3熟悉编程环境和程序的调试。

2、实验内容

指定存储器中某块的起始地址和长度,要求将其内容清零或赋值。

例如将4000H开始的10个字节内容清零或全部赋值为33H。

注意:

1文件不要用中文名称保存时不要用中文路径(目录),不要放在“桌面”上,源文件和工程要放在同一个文件夹下,文件名称和路径名称不要太长。

2查看存储器菜单使用:

窗口---数据窗口---XDATA观察存储器内容

3查看SFR:

窗口---CPU窗口查看CPU寄存器SFR

4单步执行:

执行---单步执行(F8),每执行一步,查看每条语句涉及到的寄存器和存储器内容的变化结果,是否是指令所要得到的结果,如不是,检查错误原因,修改。

5利用多种执行方法和观察各种窗口调试程序,直至程序满意为止。

3、实验仪器

微机、VW,WAVE6000编程环境软件,(单片机实验箱)

Lab6000/Lab6000通用微控制器MCS51实验

4、实验步骤

1、新建工程文件。

(注意:

文件不要用中文名称保存时不要用中文路径)

2、编写程序。

3、运行和调试过程。

外部数据存储器(4000H为首地址的10个字节)中初始状态(随便赋值FFH):

单步执行程序,观察SFR中外部地址指针的变化;

全速执行程序,可以看到外部数据存储器已赋值33H:

5、实验结果

可以看到外部数据存储器已赋值33H:

6、问题讨论

本次实验能够清楚地了解存储器中数据的移动和赋值过程,通过单步执行,对于每一步的指令操作过程能够了解如何执行,查看每条语句涉及到的寄存器和存储器内容的变化结果。

同时,学习掌握汇编程序的编写和调试过程。

 

实验二:

存储块移动

7、实验目的

1熟悉51汇编语言程序结构。

2熟悉循环结构程序的编写,进一步熟悉指令系统。

3熟悉编程环境和程序的调试。

8、实验内容

将指定源地址(3000H)和长度(10字节)的存储块移动到目的地址(3050H)。

注意:

在编程环境中,可以通过软件仿真,观察程单片机运行情况。

由于源地址和目的地址的内容都一样(FF),调试时看不到内容的变化,所以需要给源地址内容赋值。

有多种赋值方式(比如在搬移循环体内,赋值一个搬移一个,请在空白处添加相应程序)。

如要求赋值内容为10,9,8,7,6,5,4,3,2,1呢?

如何修改程序?

9、实验仪器

微机、VW,WAVE6000编程环境软件,(单片机实验箱)

10、实验步骤

1、新建工程文件。

(注意:

文件不要用中文名称保存时不要用中文路径)

2、编写程序和调试过程。

A.给源地址内容赋值

首先,给3000H赋值10,9,8,7,6,5,4,3,2,1。

CPU寄存器SFR的变化和外部数据存储器(3000H为首地址的10个字节)中赋值结果:

 

寄存器SFR变化:

赋值结果:

B.存储块移动。

将3000H为首地址的10个字节内容移到以3050H为首地址的存储空间;

存储空间中数据块的移动结果:

可以看到外部数据存储器3050H-3059H地址中的内容和3000H-3009H的内容相同。

11、实验结果

可以看到外部数据存储器3050H-3059H地址中的内容和3000H-3009H的内容相同。

12、问题讨论

本次实验更加清楚地了解对于外部存储器中数据的移动和赋值过程,51系列单片机与外部数据存储器交换数据时只能借助MOVX指令,程序中需要在读取和写入时再次赋值地址,同时,查看每条语句涉及到的寄存器和存储器内容的变化结果。

 

实验三:

数据排序

13、实验目的

1了解数据排序的常用算法,掌握冒泡算法。

2进一步熟悉编程环境和调试方法。

3熟悉汇编程序设计。

14、实验内容

将50H开始的10个随机数按从小到大的顺序排列。

注意:

由于上电后数据都一样,所以需要手动修改50H后10个数据(要排序的数)方法是:

窗口---数据窗口---DATA找到50H开始的10个2位16进制数,双击,修改其数值

如(6,2,4,9,3,7,1,5,8,0)

之后编译(下载),单步执行,查看排序执行过程

冒泡算法(两层循环,以下是内层循环开始……)。

6,2,9,4,3,7,1,5,8,0

前大后小交换位置如下:

2,6,9,4,3,7,1,5,8,0

前小后大不交换位置如下;

2,6,9,4,3,7,1,5,8,0

前大后小交换位置如下;

2,6,4,9,3,7,1,5,8,0…第一次内层循环结束顺序如下:

最大的数9先冒出来

2,6,4,3,7,1,5,8,0,9接着开始第二次内层循环……

15、实验仪器

微机、VW,WAVE6000编程环境软件,(单片机实验箱)

16、实验步骤

1、新建工程文件。

(注意:

文件不要用中文名称保存时不要用中文路径)

2、编写程序和调试过程。

A.手动给源地址内容赋值

B.编写程序;

存储空间中数据排序过程:

执行到光标处,把数据取出来,交换。

第一次交换,6和2交换位置;

第二次交换,9大,9向后移动;

一轮循环,将最大的数9,移到最后;

17、实验结果

最终排序结果:

18、问题讨论

本次实验更加清楚地了解对于内部存储器中数据的排序过程,同时,查看每条语句涉及到的寄存器和存储器内容的变化结果,了解排序过程中,数据移动情况。

 

实验四:

P1口输入输出实验

19、实验目的

1熟悉P1口的功能。

2熟悉延时子程序或定时中断程序的编写和使用。

3初步熟悉单片机软硬件设计方法。

20、实验内容

硬件实验需要连接硬件仿真器,连接方式如下:

菜单:

仿真器/仿真器设置:

选择仿真器选择仿真头

LAB8000/LAB6000通用微控制器MCS51实验

1.P1口做输出口接八只发光二极管,编写程序,使发光二极管循环亮灭。

实验箱的发光二级管LED是高电平点亮,低电平灭。

2.P1.0,P1.1作输入口接两个拨动开关,P1.2,P1.3作输出口,接两个发光二极管。

编写程序读取开关状态,将此状态在发光二极管上显示出来。

21、实验仪器

微机,WAVE8000编程环境、实验箱

注意:

当P1口用作输入口时,必须先对它置”1”。

编程时应注意P1.0,P1.1作为输入时应先置1,才能正确读入值。

22、实验步骤

1、新建工程文件。

(注意:

文件不要用中文名称保存时不要用中文路径)

2、编写程序和调试过程。

A.跑马灯程序

单步执行时,

从最低位到高位,一次点亮;(软件模拟仿真图)

一次循环,直到最高位点亮;

全速执行时,

可以看到LED灯一次循环点亮;

B.输入开关状态,在发光二极管显示出来

输入程序,打开端口,查看P1.0,P1.1,P1.2,P1.3状态:

运行程序,手动开关状态模拟输入,P1.0和P1.1为0:

执行程序后,查看结果,P1.2和P1.3都变成低电平了;

23、实验结果

LED灯如上图所示,不停地循环点亮。

具体情况参照实验步骤当中灯的变化情况。

24、问题讨论

在编写跑马灯程序,可以设计多种跑马灯效果,也可以实现二进制加法等效果。

本次实验需要注意读取数据时需要先置“1”。

对于mcs-51,在读入数据时,要先输入1,防止对实验结果产生影响。

 

实验五:

计数器实验

25、实验目的

1熟悉计数器的使用方法。

2熟悉计数器的硬件电路连接。

3熟悉计数器的软件设计。

26、实验内容

硬件实验需要连接硬件仿真器,连接方式如下:

菜单:

仿真器/仿真器设置:

选择仿真器选择仿真头

LAB8000/LAB6000通用微控制器MCS51实验

8031内部定时计数器0,按计数器模式和工作方式2工作,对P3.4(计数器1计数脉冲输入T1)引脚进行计数。

脉冲次数的计数数值按二进制数用P1口驱动LED灯显示出来。

例程中每计满10次将P2.0位取反,然后重新开始计数,这样的话所以最多可以计数10。

自己可以修改计满次数,计算对应的计数初值,相应修改程序。

最大256次?

27、实验仪器

微机、WAVE8000编程环境,伟福8000实验箱

注意:

P3.4接单次脉冲。

实验连线如图:

 

28、实验步骤

1、新建工程文件。

(注意:

文件不要用中文名称保存时不要用中文路径)

2、编写程序和调试过程。

A.编写程序,编译链接,运行;

执行完初始化设置后,可以看到,TMOD方式寄存器的值发生了变化,变成置入的05H;

执行程序,单片机处于等待状态,一旦下降沿到来,就改变P1口的状态;

29、实验结果

全速运行,不断从P3.4引脚输入,改变电平状态,观察P1口,可以看到,P1口的灯在不断变化,以二进制加法的形式依次递增数值,直到6时重新计数,不断循环。

30、问题讨论

本次实验更加清楚地了解定时器的工作过程,同时,查看每条语句涉及到的寄存器和存储器内容的变化结果,了解定时器的控制方式和控制字如何设置,通过外部输入,达到控制内部状态,LED灯的程序更加深入理解读-改-写的过程。

 

实验六:

外部中断实验

姓名:

学号:

班级:

31、实验目的

1熟悉外部中断的硬件电路,中断技术的基本使用方法。

2熟悉外部中断的软件设计。

32、实验内容

硬件实验需要连接硬件仿真器,连接方式如下:

菜单:

仿真器/仿真器设置:

选择仿真器选择仿真头

LAB8000/LAB6000通用微控制器MCS51实验

利用实验箱上的单脉冲按键和发光二极管,蜂鸣器,实现:

用单次脉冲申请中断,在中断服务程序中对输出信号进行翻转(每当输出一个单次脉冲时(产生低电平一个脉冲),发光二极管(L0)亮灭变化一次),并使蜂鸣器响一段时间,修改相关参数使蜂鸣器响的时间改变。

蜂鸣器是在哪里关闭的?

33、实验仪器

微机、VW,WAVE6000编程环境,实验箱

连线:

P1.0连接L0;

喇叭连接P1.1

INT0(P3.2)连接低电平单次脉冲。

实验箱的单次脉冲(高电平,低电平)接口,绿色按钮为脉冲产生按钮。

注意

中断服务程序(ISR)关键:

1保护进入中断时的现场,现场是指中断发生时各个寄存器,数据存储区的内容,为了能够继续完成没完成的工作状态,在退出中断之前需恢复现场(还原在中断程序中修改的而在主程序用到的寄存器,存储器的内容)。

本例中保护CPU状态寄存器PSW,R0,R1,等的内容。

(例程中R2没有被保护,它的值是不是被中断服务程序修改了,可以修改程序看看与保护后的结果的不同)。

2中断重入的设置中断相关寄存器的设置:

中断寄存器IE,中断触发方式的设置。

3中断程序和子程序的区别。

中断程序不是程序调用的,中断发生时,CPU就执行相应中断服务程序,每个中断对应固定的开始地址,每个中断向量8个字节空间。

34、实验步骤

1、新建工程文件。

(注意:

文件不要用中文名称保存时不要用中文路径)

2、编写程序和调试过程。

A.编写程序,编译链接,运行;

执行程序,单片机处于等待状态,一旦下降沿到来,就进入中断,执行中断服务程序,改变P1口的状态;

35、实验结果

首先,在P3.2引脚上产生一个下降沿;

结果:

可以看到第一次下降沿到来后,在中断里,P1.0口的引脚状态由低变高;

第二次,输入下降沿:

可以看到第一次下降沿到来后,在中断里,P1.0口的引脚状态由低变高;

第二次,输入下降沿:

结果:

同样,可以看到,P1.0口的状态取反了,由之前的高电平变成低电平。

由于中断时间比较短,在软件模拟仿真时不容易看出如何执行中断服务程序。

这里采用在中断处加断点执行,当进入中断服务程序时,程序就会停在断点处,这样可以在中断服务程序中单步执行,查看效果。

过程如下:

可以看到,在单步执行中断服务程序时,P1.0状态改变了。

同样,蜂鸣器的状态也是类似的工作原理。

36、问题讨论

本次实验更加清楚地了解定时器的工作过程,同时,查看每条语句涉及到的寄存器和存储器内容的变化结果,了解定时器的控制方式和控制字如何设置,通过外部输入,达到控制内部状态,LED灯的程序更加深入理解读-改-写的过程。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2