MCS51单片机原理及应用实验报告Word格式.docx
- 文档编号:22597877
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:31
- 大小:1,000.72KB
MCS51单片机原理及应用实验报告Word格式.docx
《MCS51单片机原理及应用实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《MCS51单片机原理及应用实验报告Word格式.docx(31页珍藏版)》请在冰豆网上搜索。
单片机实验开发系统配有开关电源、单片机、晶振、存储器、可编程并行接口芯片、键盘显示控制芯片、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)了解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单片机实验开发装置的接线与安排。
通过实例程序的编辑、编译、链接及调试,熟悉了eilC51软件的使用方法和基本操作。
6.实验部分截图
实验六.数据排序实验
(1)理解并掌握排序程序的设计方法。
(2)掌握减法指令的功能,并联系其使用。
(3)逐步提高调试程序的能力及编写程序的能力。
(3)编写程序,实现从平台连续输入六个数,数码管将马上从小到大的顺序显示这六个数。
要求被排序的数放在70H到7FH单元中。
(4)编译连接源程序。
(5)调试程序,在存储器窗口输入被排序数放在70H到7FH单元中,全速运行程序,并检查程序员的运行结果,观察是否正确。
(5)若程序中出现错误,则可以采用单步分段调试,排除程序错误,直到正确为止。
ORG0000H
LJMPMAIN
ORG1000H
MAIN:
MOVR0,#20H
MOVR1,#30H
CLRC
MOVA,@R0
ADDA,@R1
MOVR0,#22H
MOV@R0,A
DECR0
INCR1
ADDCA,@R1
MOV@R0,A
JCL1
MOV@R0,#00H
LJMPLAST
L1:
MOV@R0,#01H
LAST:
NOP
END
6.实验心得
实验结果是70H-7fh的数字按照顺序排列显示,在这个实验中我掌握了冒泡法排序的基本方法,单步和断点分段调试的过程中看到程序是如何执行的
第二章MC51单片机原理及应用硬件实验
实验一:
广告灯实验
(1)熟悉ZY15MCU12BC2单片机实验开发装置的试验箱,学会选用其功能电路,连接成实验需要的系统。
掌握实验箱内拨位开关KF\KC使用。
(2)加深了解MCS-51单片机P1端口的应用方法。
(3)学习编写接口应用程序。
2.试验设备
(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)实验结束,撤除接线,将一切整理复原。
ORG0000H
MOVDPTR,#TAB
MOVR5,#71H
LOOP:
MOVA,#00H
MOVCA,@A+DPTR
MOVP1,A
MOVA,P1
ACALLDELAY
INCDPTR
DJNZR5,LOOP
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
广告灯按照我的程序所给的效果循环的有序的点亮,如果应用到广告霓虹灯,的确可以到达璀璨的效果,程序的最后的TAB是最纠结的,你要按照效果一点一点的编写十六进制的数字,换算出效果,可见真正的商业广告的效果的确是很麻烦的一件事,通过这个实验,我清楚地认识到了单片机的控制的灵活性,并不是在单片机上开发,而是在PC上开发,这样就错检错的能力很强了还可以软件模拟,这个令我很受启发,在以前的数字逻辑试验中,我们也是用的PLC可编程器件。
实验二:
P1端口应用实验
1.实验目的
(1)进一步熟悉ZY15MCU12BC2实验箱上的资源,掌握实验箱内拨位开关KF,KC使用。
(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)全速运行程序实现所要求的功能。
ORG0000H
STRL:
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
JNZPK52
MOVA,#1
PK52:
PK4:
CJNEA,#0FFH,PK41
MOV42H,#1
PK41:
LCALLRL9
ANLA,#0FH
JNZPK42
PK42:
PK3:
CJNEA,#0FFH,PK31
MOV42H,#0F7H
PK31:
LCALLRR9
CJNEA,#0FH,PK32
MOVA,#0F7H
PK32:
ORLA,#0F0H
PK2:
CJNEA,#0FFH,PK21
MOV42H,0FEH
PK21:
CJNEA,#0FH,PK22
MOVA,#0FEH
PK22:
PK1:
MOV42H,#0FH
PK0:
MOV42H,#0
MLP1:
MOVR7,#0
MOVR6,#0
DEL1:
DJNZR6,DEL1
DJNZR7,DEL1
CJNEA,41H,MLP2
MOV40H,#0
LJMPMLP0
MLP2:
MOV40H,#0FEH
RR9:
RRA
RR7:
RRA
RL9:
RL7:
RLA
试验中我们把P1口作为输入输出口来测试以下的内容
1.P1口做输出口,接八只发光二极管循环点亮。
2.P1口低四位接四只发光二极管L1-L4,P1口高四位接开关K1-K4,编写程序,将开关的状态在发光二极管上显示出来。
在这次试验中我认识到课本上的关于P1口的介绍的知识
P1口为准双向口,P1口的每一位都能独立地定义为输出线或输入线,作为输入的口线,必须向锁存器相应位写入“1”,该位才能作为输入。
8031中所有口锁存器在复位时均置为“1”,如果后来往口锁存器写入过“0”,再作为输入时,需要向口锁存器对应位写入“1”。
延时程序的编写可以用两种方法,一种是用定时器来实现,一种使用指令循环来实现。
在系统时间允许的情况下可以采用后一种方法。
实验十六:
串转并实验
(1)掌握51系列单片机串口工作方式0的应用。
(2)学习8位串行输入和并行输出的同步移位寄存器74LS164和8位并行输入和穿行输出的同步移位寄存器74LS165两个接口芯片的应用性能。
(3)研究单片机串行口如何用于扩展并行I/O口。
(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的变化。
SJMPMAIN
ORG0023H
SJMPSBV
MOVSCON,#00H
SETBEA
SETBES
MOVA,#80H
MOVSBUF,A
;
MOVSBUF,A
SJMP$
SBV:
CLRT1
RETi
DEL:
DJNZR6,DEL
在实验中我明白了串行口和并行口的相关知识8位串行输入和并行输出的同步移位寄存器74LS164和8位并行输入和穿行输出的同步移位寄存器74LS165两个接口芯片的应用性能。
知道了单片机串行口如何用于扩展并行I/O口
实验总结体会
在做单片机原理及应用试验的实验前,我以为不会难做,就像以前做物理实验一样,做完实验,然后两下子就将实验报告做完.直到做完实验跟几个研究生学长交流时,我才知道其实并不容易做,但学到的知识与难度成正比,使我受益匪浅.
在做实验前,一定要把课本上的知识吃透,因为这是做实验的基础,否则,在老师讲解时就会听不懂,这将使你在做实验时的难度加大,浪费做实验的宝贵时间.比如keil的实验,要清楚这个软件的各种使用,如果不清楚,在做实验时才去摸索,这将极大地浪费时间,使你事倍功半.做实验时,一定要亲力亲为,务必要将每个步骤,每个细节弄清楚,弄明白,实验后,还要复习,思考,这样,印象才深刻,记得才牢固,否则,过后不久你就会忘得一干二净,这还不如不做.做实验时,老师还会根据自己的亲身体会,将一些课本上没有的知识教给我们,拓宽我们的眼界,使我们认识到这门课程在生活中的应用是那么的广泛.还有动手这次实验,使单片机原理及应用这门课的一些理论知识与实践相结合,更加深刻了我对这门课的认识,巩固了我的理论知识。
不过这次实验安排的时间与数据库概论的时间正好冲突,结果两个实验跑来跑去的把精力都涣散了,希望以后老师在安排实验的时候能够互相商量下。
通过这次单片机原理及应用的实验,使我学到了不少实用的知识,更重要的是,做实验的过程,思考问题的方法,这与做其他的实验是通用的,真正使我们受益匪浅.
实验之后我有幸参加了老师的单片机的公交报站系统的小研讨会,会议上我记录下了学长老实们的一些实际开发单片机的小技巧,整理如下:
(1)在元器件的布局方面,应该把相互有关的元件尽量放得靠近一些,例如,时钟发生器、晶振、CPU的时钟输入端都易产生噪声,在放置的时候应把它们靠近些。
对于那些易产生噪声的器件、小电流电路、大电流电路开关电路等,应尽量使其远离单片机的逻辑控制电路和存储电路,如果可能的话,可以将这些电路另外制成电路板,这样有利于抗干扰,提高电路工作的可靠性。
(2)尽量在关键元件,如ROM、RAM等芯片旁边安装电容。
实际上,印制电路板走线、引脚连线和接线等都可能含有较大的电感效应。
大的电感可能会在Vcc走线上引起严重的开关噪声。
防止Vcc走线上的噪声的唯一方法,是在VCC与电源地之间安放一个电容。
如果电路板上使用的是表面贴装元件,可以用片状
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS51单片机原理及应用 实验报告 MCS51 单片机 原理 应用 实验 报告