单片机实验报告.docx

上传人:b****6 文档编号:8405026 上传时间:2023-01-31 格式:DOCX 页数:16 大小:340.37KB
下载 相关 举报
单片机实验报告.docx_第1页
第1页 / 共16页
单片机实验报告.docx_第2页
第2页 / 共16页
单片机实验报告.docx_第3页
第3页 / 共16页
单片机实验报告.docx_第4页
第4页 / 共16页
单片机实验报告.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

单片机实验报告.docx

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

单片机实验报告.docx

单片机实验报告

目录之蔡仲巾千创作

一、

时间:

二O二一年七月二十九日

二、实验一··········································1

三、实验二··········································7

四、实验三·········································11

五、实验四·········································15

实验一按时/计数器验证实验

一、实验目的

熟悉按时/计数器T0的特点,学会合理选择按时方式并能根据具体情况结合软件的方式按时.

二、实验设备及器件

IBMPC机一台PROTEUS硬件仿真软件KeilC51.

三、实验内容

用AT89C51单片机的按时/计数器T0发生1s的按时时间,作为秒计数时间,当1s发生时秒计数加1;秒计数到60时,自动从0开始.

四、实验要求

要求采纳Proteus软件实现上述实验.

五、实验步伐

1.翻开ProteusISIS编纂环境,依照表1-1所列的元件清单添加元件.

元件名称

所属类

所属子类

AT89C51

Microprocessor

8051Family

CAP

Capacitors

Generic

CAP-ELEC

Capacitors

Generic

CRYSTAL

Miscellaneous

——

RES

Resistors

Generic

7SEG-COM-CAT-GRN

Optoelectronics

7-SegmentDisplays

PULLUP

ModelingPrimitives

Digital[Miscellaneous]

表1-1元件清单

元件全部添加后,在ProteusISIS的编纂区域中按图1-1所示的原理图连接硬件电路.

图1-1电路原理图

2.根据参考法式绘出流程图,并辅以适当的说明.

流程图如图1-2所示:

图1-2法式流程图

3.翻开KeilμVision4,新建Keil项目,选择AT89C51单片机作为CPU,将参考法式导入到“SourceGroup1”中.在“OptionsforTarget”对话窗口中,选中“Output”选项卡中的“CreateHEXFile”选项和“Debug”选项卡中的“Use:

ProteusVSMSimulator”选项.编译汇编源法式,改正法式中的毛病.

4.在ProteusISIS中,选中AT89C51并单击鼠标左键,翻开“EditComponent”对话窗口,设置单片机晶振频率为12MHz,在此窗口中的“ProgramFile”栏中,选择先前用Keil生成的.HEX文件.在ProteusISIS的菜单栏中选择“File”→“SaveDesign”选项,保管设计,在ProteusISIS的菜单栏中,翻开“Debug”下拉菜单,在菜单中选中“UseRemoteDebugMonitor”选项,以支持与Keil的联合调试.

5.在Keil的菜单栏中选择“Debug”→“Start/StopDebugSession“选项,或者直接单击工具栏中的“Debug”→“Start/StopDebugSession”图标,进入法式调试环境.按“F5”键,顺序运行法式.调出“ProteusISIS”界面可以看到7段数码管显示从0~59s的计数值,每个数值显示1s,如图1-3所示.

图1-3法式运行结果

六、实验法式

SECONDEQU30H

COUNTEQU31H

ORG00H

LJMPSTART

ORG0BH

LJMPINT_T0

START:

MOVSECOND,#00H

MOVCOUNT,#00H

MOVDPTR,#TABLE

CLRA

MOVP0,A

MOVP2,A

MOVTMOD,#00H

MOVTH0,#(65536-50000)/256

MOVTL0,#(65536-50000)MOD256

SETBTR0

SETBET0

SETBEA

MOVIE,#82H

LJMP$

INT_T0:

MOVTH0,#(65536-50000)/256

MOVTL0,#(65536-50000)MOD256

INCCOUNT

MOVA,COUNT

CJNEA,#20,I2

MOVCOUNT,#00H

INCSECOND

MOVA,SECOND

CJNEA,#60,I1

MOVSECOND,#00H

I1:

MOVA,SECOND

MOVB,#10H

DIVAB

MOVCA,@A+DPTR

MOVP0,A

MOVA,B

MOVCA,@A+DPTR

MOVP2,A

I2:

RETI

TABLE:

DB3FH,06H,5BH,4FH,66H

DB6DH,7DH,07H,7FH,6FH

END

七、思考题

1.罗列一下Proteus软件的能带给我们的好处,指出一点最能帮手你的处所.

使用Proteus软件能使我们方便的搭建电路,同时在没有元器件的情况下进行便于仿真,方便我们在将法式写入单片机前确认运行是否正确,同时可在推销器件之前即可开始开发产物,而不用比及器件推销完后搭建电路才进行法式调试.

2.用Proteus界面中的播放键运行仿真与KeilμVision4的环境中联调运行它们两者的区别在什么处所?

用Proteus界面中的播放键运行仿真仅可以观察运行结果,即法式运行在硬件概况上的暗示.而联调的时候可以再Keil软件里检查各寄存器和存储器的状况,即硬件的内部情况.

3.Keil软件软件仿真与Proteus的仿真比较.

使用Proteus仿真可从硬件的角度观察仿真结果,使仿真结果更加形象直观,使我们可从硬件运行状态清楚的判断运行结果是否正确.而在Keil环境中则是从法式的角度通过观察法式中数据的变动来观察仿真结果,需要对法式运行结果充沛了解.

八、实验总结及相关问题

通过本次实验了解了Ptoteus软件的使用方法,以及在掌握了Keil的使用方法下,学会了Proteus与Keil软件联调的方法.

在用Proteus中由于忽略了要在总线处放置网络标号招致联调失败,最后通过观察发现数码管引脚电平无变动发现此问题,放置网络标号后运行仿真时数码管引脚电平发生变动可是数码管却没有变亮,经过屡次检查接线,未发现接线毛病后,觉得可能是软件自己毛病,故将总线及数码管周围硬件线路重新绘制一遍后再次运行仿真及可获得图1-3的结果.

实验二单片机I/O口控制实验

一、实验目的

利用单片机的P1口作IO口,使同学学会利用P1口作为输入和输出口.

二、实验设备及器件

IBMPC机一台DP-51PRO.NET单片机仿真器、编程器、实验仪三合一综合开发平台一台

三、实验内容

1.编写一段法式,用P1口作为控制端口,使D1区的LED轮流亮.

2.编写一段法式,用P1.0~P1.6口控制LED,P1.7控制LED的亮和灭(P1.7接按键,按下时LED亮,不按时LED灭).

四、实验要求

学会使用单片机的P1口作IO口,如果有时间同学也可以利用P3口作IO口来做该实验.

五、实验步伐

1.用导线把A2区的J61接口与D1区的J52接口相连.原理如图2-1所示.

图2-1实验二原理图

2.先编写一个延时法式.

延时法式见法式1子法式DELAY.

3.将LED轮流亮的法式编写完整并使用TKStudyICE调试运行.

LED轮流亮法式见法式1.

调试运行结果:

D1区LED轮流亮.

4.使用导线把A2区的J61接口的P1.0~P1.6与D1区的J52接口的LED1~LED7相连,另外A2区J61接口的P1.7与D1区的J53的KEY1相连.

5.编写P1.7控制LED的法式,并调试运行.(按下K1看是否全亮).

P1.7控制LED的法式见法式2.

调试运行结果:

按下P1.7后D1区LED全灭.

6.A2区J61接口的P1.7与D1区的J54的SW1相连.然后再使用TKStudyICE运行法式,检查结果.

P1.7控制LED的法式见法式2.

调试运行结果:

按下P1.7后D1区LED全亮.

六、实验参考法式

法式1:

ORG0000H

LJMPMAIN

ORG0100H

MAIN:

MOVA,#0FFH

CLRC

MAINLOOP:

CALLDELAY

RLCA

MOVP1,A

SJMPMAINLOOP

DELAY:

MOVR7,#0

LOOP:

MOVR6,#0

DJNZR6,$

DJNZR6,$

DJNZR6,$

DJNZR7,LOOP

RET

END

法式2:

ORG000H

LJMPMAIN

ORG0100H

MAIN:

JBP1.7,SETLED

CLRLED:

CLRP1.0

CLRP1.1

CLRP1.2

CLRP1.3

CLRP1.4

CLRP1.5

CLRP1.6

SJMPMAIN

SETLED:

SETBP1.0

SETBP1.1

SETBP1.2

SETBP1.3

SETBP1.4

SETBP1.5

SETBP1.6

SJMPMAIN

END

七、实验思考题

1.请同学思考一下,想出几个实现以上功能的编程方法.

法式1可利用单片机的按时计数器通过选择按时计数器工作方式和预置初值设定延时时间,通过按时计数器发生的中断在中断法式中对A进行移位后输出至P1口.

法式2可在判断P1.7高低电平后根据判断结果直接将#80H或#7F直接送P1口而不用逐位进行位把持.

2.请同学再思考一下,第二个法式中如果使用KEY1作为外部中断控制LED的亮和灭时,法式应如何修改.

此时将KEY1接/INT0口,在主法式中开启外部中断设置外部中断触发方式,通过中断服务子法式控制LED亮灭.法式如下所示:

ORG000H

LJMPMAIN

ORG0003H;中断服务法式

LJMPSETLED

MAIN:

MOVSP,#40H

SETBET0;开外部中断

CLRIT0;设置为电平触发

SETBEA

CLRLED:

CLRP1.0

CLRP1.1

CLRP1.2

CLRP1.3

CLRP1.4

CLRP1.5

CLRP1.6

SJMPCLRLED

SETLED:

SETBP1.0

SETBP1.1

SETBP1.2

SETBP1.3

SETBP1.4

SETBP1.5

SETBP1.6

RETI

END

八、实验总结及相关问题

通过本次实验掌握了使用TKStudyICE进行硬件仿真调试的方法,在设置仿真器驱动法式声明时对C:

\Keil目录下的Tools.ini文件添加描述时,由于添加的路径毛病招致无法进行硬件仿真调试,修改为正确路径后方可在DEBUG窗口中的Use选项中找到对应的选项.使用TKStudyICE进行硬件仿真调试相比本学期的电子系统设计中用到的调试方法更快捷,使用更方便.

与此同时,通过本次实验对单片机的I/O控制有了更深入的了接,同时加深入对单片机I/O编程的理解.

实验三串转并I/O口实验

一、实验目的

熟悉并掌握串转并的I/O口扩展方法.

二、实验设备及器件

IBMPC机一台DP-51PRO.NET单片机仿真器、编程器、实验仪三合一综合开发平台一台

三、实验内容

1.写法式,通过单片机的P1口控制74HC164的串行输入端口,实现串并转换.

2.验证串并转换数据的正确性.

四、实验要求

熟悉串并转换芯片的工作原理,学会使用串并转换芯片扩展单片机的I/O口资源.

表3-174HC164真值表

五、实验步伐

1.短接C5区JP10接口,将C5区J43接口与A2区J61接口的P10~P13对应相连(CLK对P10等等).如图3-1所示.

图3-1实验三原理图

2.运行编写好的软件法式,完成一次串并转换.

实验法式见实验参考法式.

2.使用C2区的逻辑笔或D1区的J52接口(LED指示灯)测试并行输出数据Q0~Q7数据的正确性.

调试运行结果:

通过观察LED的亮灭情况可判断完成一次串并转换,且转换结果正确无误.

六、实验参考法式

CLKEQUP1.0

DINAEQUP1.1

DINBEQUP1.2

CLR164EQUP1.3

ORG0000H

LJMPMAIN

ORG0100H

MAIN:

MOVSP,#60H

NOP

CLRCLK

SETBDINB

CLRCLR164

SETBCLR164

MOVA,#0FFH

MOVR4,#08H

SLCHG:

RLCA

MOVDINA,C

SETBCLK

NOP

CLRCLK

NOP

DJNZR4,SLCHG

SJMP$

END

七、实验思考题

参考图3-2电路图,检验考试编写软件法式,实现8位LED流水灯的控制.

图3.2实验原理图

可利用单片机的按时计数器通过选择按时计数器工作方式和预置初值设定延时时间,通过按时计数器发生的中断在中断法式中对A进行移位.法式如下所示:

CLKEQUP1.0

DINAEQUP1.1

DINBEQUP1.2

CLR164EQUP1.3

ORG0000H

LJMPMAIN

ORG000BH;按时器0中断服务法式

LJMPSLCHG

MAIN:

MOVSP,#60H

NOP

CLRCLK

SETBDINB

CLRCLR164

SETBCLR164

MOVA,#0FFH

MOVTMOD,#01H;按时器0工作方式1

MOVTH0,#18H;送2ms时间常数

MOVTL0,#0FCH

SETBTR0;开中断

SETBET0

SETBEA

SJMP$

SLCHG:

MOVTH0,#18H

MOVTL0,#0FCH

RLCA

MOVDINA,C

SETBCLK

NOP

CLRCLK

RETI

END

八、实验总结及相关问题

由于具有之前实验的基础所以本实验基本没碰到什么问题,调试运行都符合实验要求,通过本次实验对串并转化法式的编写有了一定了解,通过编写流水灯法式加深了对单片机串并口的了解.

实验四继电器控制实验

一、实验目的

加深理解继电器的工作原理和特点,掌握利用单片机的IO口控制继电器的一般方法.

二、实验设备及器件

IBMPC机一台DP-51PRO.NET单片机仿真器、编程器、实验仪三合一综合开发平台一台

三、实验内容

1.利用D1区的拨动开关和LED,学习继电器的工作原理和特点.

2.编写一段法式,用P1.0口控制继电器,继电器控制LED的亮和灭,(COM与CLOSE连通时,一盏LED亮;不连通时该LED灭.COM与OPEN连通时,另一盏LED亮,欠亨时该LED灭).

四、实验要求

学会继电器的使用和利用单片机的IO口控制继电器的方法.

五、实验步伐

图4-1继电器驱动控制电路图

1.用短路帽短接JP7,使用导线把D1区J54接口的SW1与C7区J9接口的KJ(任意一根针)相连接.

2.使用导线把D1区J52接口的LED1、LED2与C7区J103接口的OPEN1,CLOSE1分别相连,另外C7区J103接口的COM1接地(GND).

3.接好线后,同学可以拨动D1区的SW1拨动开关,观察现象(拨到1时LED2亮,拨到0时LED1亮),并得出结论.

运行结果:

拨到1时LED2亮,拨到0时LED1亮,说明每拨动一次开关改变一次继电器的状态.

4.然后把C7区J9接口的KJ改接到A2区的J61接口的P10.再编写一个法式法式(参考实验二),使P1.0口延时一段时间后改变电平值,来控制继电器的开关.

实验法式见实验参考法式.

调试运行结果:

两个LED交替变亮,继电器状态不竭改变.

六、实验参考法式

ORG0000H

LJMPMAIN

ORG0100H

MAIN:

MOVR7,#0

LOOP:

MOVR6,#0

DJNZR6,$

DJNZR6,$

DJNZR6,$

DJNZR7,LOOP

CPLP1.0

SJMPMAIN

END

七、实验思考题

1.请同学思考一下,改由OPEN2、COM2、CLOSE2时本实验如何进行.

同使用OPEN1、COM1和CLOSE1时连接方法类似,把D1区J52接口的LED1、LED2与C7区J103接口的OPEN2,CLOSE2分别相连,另外C7区J103接口的COM2接地(GND)即可.

2.请同学再思考一下,继电器的用途,并举例说明.

继电器是一种电控制器件,是当输入量(激励量)的变动到达规定要求时,在电气输出电路中使被控量发生预定的阶跃变动的一种电器.它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系.通常应用于自动化的控制电路中,它实际上是用小电流去控制年夜电流运作的一种“自动开关”.故在电路中起着自动调节、平安呵护、转换电路等作用.

依照其工作原理可有以下应用:

电磁继电器固体继电器温度继电器舌簧继电器时间继电器高频继电器极化继电器其他类型的继电器

八、实验总结及相关问题

由于具有之前实验的基础所以本实验基本没碰到什么问题,调试运行都符合实验要求,通过本次实验了解了继电器的控制方法.对继电器这一器件有了一定了解.

时间:

二O二一年七月二十九日

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

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1