MCS51单片机原理及应用实验报告.docx

上传人:b****6 文档编号:8954463 上传时间:2023-02-02 格式:DOCX 页数:28 大小:1,000.78KB
下载 相关 举报
MCS51单片机原理及应用实验报告.docx_第1页
第1页 / 共28页
MCS51单片机原理及应用实验报告.docx_第2页
第2页 / 共28页
MCS51单片机原理及应用实验报告.docx_第3页
第3页 / 共28页
MCS51单片机原理及应用实验报告.docx_第4页
第4页 / 共28页
MCS51单片机原理及应用实验报告.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

MCS51单片机原理及应用实验报告.docx

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

MCS51单片机原理及应用实验报告.docx

MCS51单片机原理及应用实验报告

单片机原理与应用

实验报告

 

学校:

合肥工业大学

姓名:

吕增威

学号:

班级:

计算机科学与技术08-03班

 

前言------------------------3

第一章MC51单片机原理及应用软件实验

实验1:

系统认识实验--------------------6

实验6:

数据排序实验(验证性)----------11

第二章MC51单片机原理及应用硬件实验

实验1:

广告灯实验----------------------15

实验2:

P1口实验(验证性)-------------21

实验16:

串口转并口实验----------------32

实验心得与体会---------------37

 

前言

一.单片机原理实验的任务

单片机原理实验是单片机原理及应用课程的一部分,它的任务是:

1.通过实验进一步了解和掌握单片机原理的基本概念、单片机应用系统的硬件设计及调试方法。

2.学习和掌握单片机应用系统程序设计技术。

3.提高应用计算机的能力及水平,提高逻辑动手能力。

二.实验设备

单片机实验所使用的设备由计算机、单片机实验开发系统(,其中计算机是软件开发平台,主要完成程序编辑、编译、下载程序等任务;单片机实验开发系统是硬件开发平台,是基于51/196单片机的扩展实验系统。

计算机和单片机实验开发系统之间是通过RS232串行接口进行通信的。

单片机实验开发系统配有开关电源、单片机、晶振、存储器、可编程并行接口芯片、键盘显示控制芯片、24键键盘、六位LED数码管显示、A/D及D/A转换芯片、简单输出口2个、简单输入口1个、逻辑电平输入开关、发光二极管显示电路,并配有小直流电机、步进电机、继电器、音响等驱动电路。

在计算机软件的控制下可完成单片机基本实验及综合设计性实验项目。

所有的MCS51单片机原理及应用课程实验都是在这套实验系统上完成的。

Keil与Proteus的联合使用:

KeilC516.02的使用:

1.打开Keil,新建一个程序文件(File--New),在上面输入要调试的程序,保存为*.asm格式;

2.新建一个工程(project--Newproject),保存,在CPU选项了选择Atmel--AT89C51,点击确

定,在弹出的选项框中选择“否”。

3.在ProjectWorkspace选框中,选择你新建的工程,右击,选择OptionsforTarget'target

(你起的工程名)',选择Debug,选择PROTEUSVSMMONITOR51DRIVER,点击确定.

4.在SourceGroup上右击,选择Addfilestogroup'SourceGroup(工程名)',在文件类型

里选择Allfiles(*.*),找到刚才保存的.asm文件.

5.调试程序:

选择编译连接程序,保证其全部正确.

KeilC516.02实用的一些技巧:

1.     Keil中的可以使projectworkspace窗口隐藏或显示,可以使outputwindow(即下面的调试窗口)窗口隐藏或显示.

2.     使用proteus画电路图时,有一些常用的元件的位置:

AT89C51在MicroprocessorICs中,可按下的开关在Switches&Replays—BUTTON,电阻在Resistors里,或非门在ModellingPrimitives--XOR_2中,其他的逻辑电路门也可以在这里找到,发光二级管Optoelectronics—LED中,

3.电源和接地:

找到工具栏中的按钮,里面的POWER就是电源,GROUND就是地,记得选择完之后要把按钮按回,不然就不能继续选择其他的元件.

4.选好的元件的下方的这四个按钮可以调整元件的方向,以方便电路图的绘制

5.在画电路图的连线时,如果只在起点和终点单击的话,有时会出现斜线,即不美观.又影响对电路图的检查,在画线时,如果想在某地拐弯,就在那个地方单击一下

 

第一章MC51单片机原理及应用软件实验

实验1:

系统认识实验

1.实验目的

(1)了解ZY15MCU12BC2单片机实验开发装置的接线与安排。

掌握实验箱内拨位开关KF,KC的使用方法。

(2)通过实例程序的编辑、编译、链接及调试,熟悉KeilC51软件的使用方法和基本操作。

(3)教育学生爱抚实验装置,养成良好的实验习惯。

2.试验设备

(1)ZY15MCU12BC2单片机实验开发装置一台。

(2)PC系列微机及相关软件。

3.试验内容

(1)使用串行通讯电缆将实验开发装置与PC机相连。

(2)开启PC机及实验开发装置,启动KeilC51软件进入uVision2集成开发环境。

(3)确认拨位开关KF的开关为A端,确认89C51处于仿真状态。

(4)在uVision2开发平台上建立并编辑示例程序:

计算N个数求和程序。

其中N个数分别放在片内RAM区50H到55H单元中,N=6,求和的结果放在片内RAM区03H(高位)和04H(低位)单元中。

题目:

1)32H+41H+01H+56H+11H+03H=?

2)895H+02H+02H+44H+48H+12H=?

(5)编译连接源程序。

(6)在KeiluVision2主菜单窗口进入DEBUG调试环境,打开存储器窗口输入数据至片内RAM区50H到55H单元中,全速运行程序,并检查程序的运行结果,即观察在存储器窗口片内RAM区03H(高位)、04H(低位)单元中的数据是否正确。

(7)实验结束,撤出接线,将一切整理复原。

4.实验源程序

org0000h

ljmpmain

org1000h

main:

movr2,#06h

movr3,#00h

movr4,#00h

movr0,#50h

l1:

mova,r4

adda,@r0

movr4,a

incr0

clra

addca,r3

movr3,a

djnzr2,l1

end

5.实验心得

本次试验我了解ZY15MCU12BC2单片机实验开发装置的接线与安排。

掌握实验箱内拨位开关KF,KC的使用方法。

通过实例程序的编辑、编译、链接及调试,熟悉了eilC51软件的使用方法和基本操作。

6.实验部分截图

实验六.数据排序实验

1.实验目的

(1)理解并掌握排序程序的设计方法。

(2)掌握减法指令的功能,并联系其使用。

(3)逐步提高调试程序的能力及编写程序的能力。

2.试验设备

(1)ZY15MCU12BC2单片机实验开发装置一台。

(2)PC系列微机及相关软件。

3.试验内容

(1)使用串行通讯电缆将实验开发装置与PC机相连。

(2)开启PC机及实验开发装置,启动KeilC51软件进入uVision2集成开发环境。

(3)编写程序,实现从平台连续输入六个数,数码管将马上从小到大的顺序显示这六个数。

要求被排序的数放在70H到7FH单元中。

(4)编译连接源程序。

(5)调试程序,在存储器窗口输入被排序数放在70H到7FH单元中,全速运行程序,并检查程序员的运行结果,观察是否正确。

(5)若程序中出现错误,则可以采用单步分段调试,排除程序错误,直到正确为止。

4.实验源程序

ORG0000H

LJMPMAIN

ORG1000H

MAIN:

MOVR0,#20H

MOVR1,#30H

CLRC

MOVA,@R0

ADDA,@R1

MOVR0,#22H

MOV@R0,A

DECR0

INCR1

MOVA,@R0

ADDCA,@R1

MOV@R0,A

MOVR0,#20H

JCL1

MOV@R0,#00H

LJMPLAST

L1:

MOV@R0,#01H

LAST:

NOP

END

6.实验心得

实验结果是70H-7fh的数字按照顺序排列显示,在这个实验中我掌握了冒泡法排序的基本方法,单步和断点分段调试的过程中看到程序是如何执行的

6.实验部分截图

第二章MC51单片机原理及应用硬件实验

实验一:

广告灯实验

1.实验目的

(1)熟悉ZY15MCU12BC2单片机实验开发装置的试验箱,学会选用其功能电路,连接成实验需要的系统。

掌握实验箱内拨位开关KF\KC使用。

(2)加深了解MCS-51单片机P1端口的应用方法。

(3)学习编写接口应用程序。

2.试验设备

(1)ZY15MCU12BC2单片机实验开发装置一台。

(2)PC系列微机及相关软件。

3.试验内容

(1)使用串行通讯电缆将实验开发装置与PC机相连,确认拨位开关KF的位置。

(2)开启PC机及实验开发装置,启动KeilC51软件进入uVision2集成开发环境,确认89C51处于仿真状态。

(3)用试验箱上的发光二极管L0到L7模拟外界各种场合的动态广告灯,将试验箱上的发光二极管L0到L7分别与单片机的P1.0到P1.7相连。

(4)编写程序,实现从P1口输出信号驱动发光二极管L0到L7模拟外界广告灯动态点亮的功能。

(5)在uVision2开发平台上输入程序,编译、连接程序,调试通过后将拨位开关KF拨至B端。

(6)单步执行程序,观察是否进入表格首地址。

(7)单步执行程序,观察发光二极管L0到L7的变化。

(8)全速运行程序,观察发光二极管L0到L7的变化,并注意程序将循环下去。

(9)实验结束,撤除接线,将一切整理复原。

4.实验源程序

ORG0000H

MAIN:

MOVDPTR,#TAB

MOVR5,#71H

LOOP:

MOVA,#00H

MOVCA,@A+DPTR

MOVP1,A

MOVA,P1

ACALLDELAY

ACALLDELAY

INCDPTR

DJNZR5,LOOP

LJMPMAIN

DELAY:

MOVR7,#00H

MOVR6,#00H

DE:

DJNZR7,$

DJNZR6,DE

RET

TAB:

DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH

DB0FFH,7FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH

DB0FEH,0FFH,0FEH,0FCH,0F8H,0F0H,0E0H,0C0H

DB80H,00H,80H,0C0H,0E0H,0F0H,0F8H,0FCH

DB0FEH,0FFH,7FH,3FH,1FH,0FH,0F8H,0FCH

DB01H,00H,01H,03H,07H,0FH,1FH,3FH

DB7FH,0FFH,7EH,3CH,18H,00H,18H,3CH

DB7EH,0FFH,0FEH,0FCH,0FCH,0F9H,0F3H,0E7H

DB0CFH,9FH,3FH,7FH,0FFH,7FH,3FH,9FH

DB0CFH,0E7H,0F3H,0F9H,0FCH,0FEH,0FFH

DB0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,80H,00H

DB80H,40H,20H,10H,08H,04H,02H,01H,00H

DB01H,02H,04H,08H,10H,20H,40H,80H,00H

DB80H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFH

END

5.实验心得

广告灯按照我的程序所给的效果循环的有序的点亮,如果应用到广告霓虹灯,的确可以到达璀璨的效果,程序的最后的TAB是最纠结的,你要按照效果一点一点的编写十六进制的数字,换算出效果,可见真正的商业广告的效果的确是很麻烦的一件事,通过这个实验,我清楚地认识到了单片机的控制的灵活性,并不是在单片机上开发,而是在PC上开发,这样就错检错的能力很强了还可以软件模拟,这个令我很受启发,在以前的数字逻辑试验中,我们也是用的PLC可编程器件。

6.实验部分截图

实验二:

P1端口应用实验

1.实验目的

(1)进一步熟悉ZY15MCU12BC2实验箱上的资源,掌握实验箱内拨位开关KF,KC使用。

(2)加深了解MCS-51单片机P1端口的应用方法。

(3)学习编写接口应用程序。

2.试验设备

(1)ZY15MCU12BC2单片机实验开发装置一台。

(2)PC系列微机及相关软件。

3.试验内容

(1)使用串行通讯电缆将实验开发装置与PC机相连,确认拨位开关KF的位置。

(2)开启PC机及实验开发装置,启动KeilC51软件进入uVision2集成开发环境,确认89C51处于仿真状态。

(3)将试验箱上的L0到L3接到P1.0到P1.3,开关K0到K3接到P1.4到P1.7。

(4)编写程序实现如下功能:

拨动K0到K3,使L0到L3出现以下组合变化。

K3K2K1K0L3L2L1L0

0000全亮

0001全暗

0010一灯亮其余灯暗并左环依

0011一灯亮其余灯暗并右环依

0100一灯暗其余灯亮并左环依

0101一灯暗其余灯亮并右环依

1?

?

?

显示开关状态Ki为0,Li灯亮

要求:

1)设40H单元为标志单元,(40H)=0时开关状态无变化,(40H)=FFH时开关状态发生变化。

2)设41H单元为开关状态缓冲器,读入开关状态和41H单元内容比较,相同时开关状态无变化,不同是开关状态有变化。

3)设42H单元为当前指示灯状态。

(4)在uVision2开发平台上输入程序,编译、连接程序,调试通过后将拨位开关KF拨至B端。

(5)根据准双向口的特性,对P1口写操作使灯L0到L7的状态随写入P1.0到P1.3的内容而变化;读P1口的高四位,读出内容随开关状态的变化而变化。

如不对,则检查开关K0到K3的接线,检查K0到K3的电平是否随开关状态变化而变化。

(6)从开始运至BK1处,检查A的内容是否对应开关状态,接着单步运行程序,检查是否转到相应入口使L0到L3状态产生相应的变化。

(7)全速运行程序至BK2,在检查A的内容是否与开关状态一致,如不对,则检查前面对P1口的操作指令。

(8)全速运行程序实现所要求的功能。

4.实验源程序

ORG0000H

STRL:

MOVA,P1

SWAPA

ANLA,#0FH

MOV41H,A

MOV40H,#0FFH

MLP0:

CJNEA,#6,$+3

JNCPK6

MOVDPTR,#CTAB

MOVR1,A

RLA

ADDA,R1

JMP@A+DPTR

CTAB:

LJMPPK0

LJMPPK1

LJMPPK2

LJMPPK3

LJMPPK4

LJMPPK5

PK6:

MOV42H,A

LJMPMLP1

PK5:

MOVA,40H

CJNEA,#0FFH,PK51

MOV42H,#01

LJMPMLP1

PK51:

MOVA,42H

LCALLRR7

ANLA,#0FH

JNZPK52

MOVA,#1

PK52:

MOV42H,A

LJMPMLP1

PK4:

MOVA,40H

CJNEA,#0FFH,PK41

MOV42H,#1

LJMPMLP1

PK41:

MOVA,42H

LCALLRL9

ANLA,#0FH

JNZPK42

MOVA,#1

PK42:

MOV42H,A

LJMPMLP1

PK3:

MOVA,40H

CJNEA,#0FFH,PK31

MOV42H,#0F7H

LJMPMLP1

PK31:

MOVA,42H

LCALLRR9

ANLA,#0FH

CJNEA,#0FH,PK32

MOVA,#0F7H

PK32:

ORLA,#0F0H

MOV42H,A

LJMPMLP1

PK2:

MOVA,40H

CJNEA,#0FFH,PK21

MOV42H,0FEH

LJMPMLP1

PK21:

MOVA,42H

RLA

ANLA,#0FH

CJNEA,#0FH,PK22

MOVA,#0FEH

PK22:

ORLA,#0F0H

MOV42H,A

LJMPMLP1

PK1:

MOV42H,#0FH

LJMPMLP1

PK0:

MOV42H,#0

MLP1:

MOVA,42H

ORLA,#0F0H

MOVP1,A

MOVR7,#0

MOVR6,#0

DEL1:

DJNZR6,DEL1

DJNZR7,DEL1

MOVA,P1

SWAPA

ANLA,#0FH

CJNEA,41H,MLP2

MOV40H,#0

LJMPMLP0

MLP2:

MOV41H,A

MOV40H,#0FEH

LJMPMLP0

RR9:

RRA

RRA

RR7:

RRA

RRA

RRA

RRA

RRA

RRA

RRA

RET

RL9:

RLA

RLA

RL7:

RLA

RLA

RLA

RLA

RLA

RLA

RLA

RET

END

5.实验心得

试验中我们把P1口作为输入输出口来测试以下的内容

1.P1口做输出口,接八只发光二极管循环点亮。

2.P1口低四位接四只发光二极管L1-L4,P1口高四位接开关K1-K4,编写程序,将开关的状态在发光二极管上显示出来。

在这次试验中我认识到课本上的关于P1口的介绍的知识

P1口为准双向口,P1口的每一位都能独立地定义为输出线或输入线,作为输入的口线,必须向锁存器相应位写入“1”,该位才能作为输入。

8031中所有口锁存器在复位时均置为“1”,如果后来往口锁存器写入过“0”,再作为输入时,需要向口锁存器对应位写入“1”。

延时程序的编写可以用两种方法,一种是用定时器来实现,一种使用指令循环来实现。

在系统时间允许的情况下可以采用后一种方法。

6.实验部分截图

实验十六:

串转并实验

1.实验目的

(1)掌握51系列单片机串口工作方式0的应用。

(2)学习8位串行输入和并行输出的同步移位寄存器74LS164和8位并行输入和穿行输出的同步移位寄存器74LS165两个接口芯片的应用性能。

(3)研究单片机串行口如何用于扩展并行I/O口。

2.试验设备

(1)ZY15MCU12BC2单片机实验开发装置一台。

(2)PC系列微机及相关软件。

3.试验内容

(1)使用串行通讯电缆将实验开发装置与PC机相连,确认拨位开关KF的位置。

(2)开启PC机及实验开发装置,启动KeilC51软件进入uVision2集成开发环境,确认89C51处于仿真状态。

(3)实验步骤:

1)通过单片机串口用一片8位串行输入/并行输出的同步移位寄存器74LS164扩展8位并行输出口。

2)通过单片机串口用一片8位并行输入/串行输出的同步移位寄存器74LS165扩展8位并行输入口。

(4)将单片机的RXD端与74LS164的串行输入端SERIAL(PA)相连,将单片机的TXD端与74LS164的脉冲CLOCK(PB)相连,74LS164的输出Q0到Q7接发光二极管L8到L15。

(5)调试程序:

1)实验采用终端方式调试,既目标程序装入仿真器后,使操作界面进入终端方式。

2)单步进入执行程序,打开Keil的寄存器窗口,观察串口数据缓冲区SBUF里的值有何变化。

3)单步执行程序,注意中断标志T1的变化以及所亮的发光二极管的位置。

4)全速运行程序,观察发光二极管L8到L15的变化。

4.实验源程序

ORG0000H

SJMPMAIN

ORG0023H

SJMPSBV

MAIN:

MOVSCON,#00H

SETBEA

SETBES

MOVA,#80H

MOVSBUF,A

;MOVSBUF,A

;MOVSBUF,A

SJMP$

SBV:

ACALLDELAY

CLRT1

RRA

MOVSBUF,A

RETi

DELAY:

MOVR7,#00H

MOVR6,#00H

DEL:

DJNZR7,$

DJNZR6,DEL

RET

END

5.实验心得

在实验中我明白了串行口和并行口的相关知识8位串行输入和并行输出的同步移位寄存器74LS164和8位并行输入和穿行输出的同步移位寄存器74LS165两个接口芯片的应用性能。

知道了单片机串行口如何用于扩展并行I/O口

6.实验部分截图

实验总结体会

在做单片机原理及应用试验的实验前,我以为不会难做,就像以前做物理实验一样,做完实验,然后两下子就将实验报告做完.直到做完实验跟几个研究生学长交流时,我才知道其实并不容易做,但学到的知识与难度成正比,使我受益匪浅.

在做实验前,一定要把课本上的知识吃透,因为这是做实验的基础,否则,在老师讲解时就会听不懂,这将使你在做实验时的难度加大,浪费做实验的宝贵时间.比如keil的实验,要清楚这个软件的各种使用,如果不清楚,在做实验时才去摸索,这将极大地浪费时间,使你事倍功半.做实验时,一定要亲力亲为,务必要将每个步骤,每个细节弄清楚,弄明白,实验后,还要复习,思考,这样,印象才深刻,记得才牢固,否则,过后不久你就会忘得一干二净,这还不如不做.做实验时,老师还会根据自己的亲身体会,将一些课本上没有的知识教给我们,拓宽我们的眼界,使我们认识到这门课程在生活中的应用是那么的广泛.还有动手这次实验,使单片机原理及应用这门课的一些理论知识与实践相结合,更加深刻了我对这门课的认识,巩固了我的理论知识。

不过这次实验安排的时间与数据库概论的时间正好冲突,结果两个实验跑来跑去的把精力都涣散了,希望以后老师在安排实验的时候能够互相商量下。

通过这次单片机原理及应用的实验,使我学到了不少实用的知识,更重要的是,做实验的过程,思考问题的方法,这与做其他的实验是通用的,真正使我们受益匪浅.

实验之后我有幸参加了老师的单片机的公交报站系统的小研讨会,会议上我记录下了学长老实们的一些实际开发单片机的小技巧,整理如下:

(1)在元器件的布局方面,应该把相互有关的元件尽量放得靠近一些,例如,时钟发生器、晶振、CPU的时钟输入端都易产生噪声,在放置的时候应把它们靠近些。

对于那些易产生噪声的器件、小电流电路、大电流电路开关电路等,应尽量使其远离单片机的逻辑控制电路和存储电路,如果可能的话,可以将这些电路另外制成电路板,这样有利于抗干扰,提高电路工作的可靠性。

(2)尽量在关键元件,如ROM、RAM等芯片旁边安装电容。

实际上,印制电路板走线、引脚连线和接线等都可能含有较大的电感效应。

大的电感可能会在Vcc走线上引起严重的开关噪声。

防止Vcc走线上的噪声的唯一方法,是在VCC与电源地之间安放一个电容。

如果电路板上使用的是表面贴装元件,可以用片状

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

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

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

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