单片机原理与应用实验指导书.docx
- 文档编号:29547499
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:27
- 大小:436.48KB
单片机原理与应用实验指导书.docx
《单片机原理与应用实验指导书.docx》由会员分享,可在线阅读,更多相关《单片机原理与应用实验指导书.docx(27页珍藏版)》请在冰豆网上搜索。
单片机原理与应用实验指导书
《单片机原理与接口技术》实验指导书
目录
实验一编程器及开发环境认识2
实验二MCS-51汇编语言程序设计4
实验三流水灯实验6
实验四键盘处理程序的设计7
实验五数码管显示程序设计8
实验六脉冲计数实验9
实验七单片机串口通信程序设计10
实验八模拟交通灯实验11
实验九A/D转换实验14
实验十D/A转换实验16
实验十一矩阵式键盘接口技术实验18
实验十二开关量输出接口实验20
实验十三步进电机控制实验21
实验十四单片机与PC机的通信实验23
实验十五8255A并行I/O端口扩充键盘实验25
实验十六字符型液晶显示实验(SMC1602A)27
实验一编程器及开发环境认识
一、实验目的与要求
1.学会单片机编程器的使用方法;
2.熟悉KeilC51编译软件的使用;
二、实验设备
计算机
51编程器
软件:
keilC51编译软件
三、实验原理
1.编程器的使用
(1)硬件安装和使用
●关计算机
●用随机电缆(串口线)连接编程器和计算机
●插上5V电源插头(USB接口线)
●开计算机,运行程序
注意:
电源指示灯亮,工作指示灯闪烁,表示机器工作正常;
安装芯片时,所插方向要正确;
(2)软件安装和使用
直接运行Easy51Pro.exe即可使用。
●文件操作和编辑
进行文件存取、修改等操作。
●读写单片机
实现单片机程序的读取、烧写。
2.KeilC51编译软件的使用
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
C51工具包中的uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。
下面对uVision集成开发环境进行简单介绍:
1.主菜单
包括File、Edit、View、Project、Debug、Peripherals、Tool、SVCS、Window、Help。
2.工具栏
3.程序编辑窗口
源程序的输入、编辑。
4.工程信息窗口
包括文件视图、寄存器窗和帮助文件。
5.除错窗口
程序编译后,显示错误信息。
四、实验内容及步骤
1.学习编程器的使用;
2.熟悉uVision集成开发环境;
3.建立源程序文件,输入一段程序,观察运行结果。
4.File/new新建一个hello.asm文件,输入程序;
(1)File/save或工具栏将文件存盘;
(2)Project/newproject创建一个project名为hello,并在其中加入hello.asm;
(3)Project/buildtarget编译生成目标程序;
(4)Debug/startstopdebugsession进入调试状态;
(5)Debug/run运行程序,观察结果。
五、实验报告要求
1.列出实验程序清单;
2.根据实验观察结果,列出相关寄存器在程序运行前后的变化。
寄存器名称
程序运行前
程序运行后
R0
R1
R2
R3
R4
R5
R6
R7
A
B
SP
PC
PSW
实验二MCS-51汇编语言程序设计
一、实验目的与要求
1.掌握汇编语言程序设计的方法;
2.通过编程调试,熟悉单片机开发环境,学习程序调试技巧;
3.学习软件仿真的方法。
二、实验设备
计算机
编译软件KeilC51uVision
三、实验原理
程序调试方法:
(1)按照实验一的步骤建立工程并输入源程序;
(2)完成源程序的编辑之后,进入调试状态,即Debug/Startdebug;
(3)打开观察窗口,View/MemoryWindow;
(4)选择观察范围:
程序存储器ROM用C:
0X0000
内部数据存储器RAM用I:
0X00
外部数据存储器RAM用X:
0X0000
四、实验内容与步骤
1.熟悉建立工程、源程序的方法步骤;
2.根据第四章所讲内容进行简单程序、循环程序、分支结构程序的设计(每种类型1例);
3.完成程序的调试,并用观察窗口观察RAM存储空间内值的变化,并记下结果;
五、实验报告要求
1.分别列出三个完整的实验程序清单;
2.在每个程序清单后写出实验结果。
实验三流水灯实验
一、实验目的与要求
1.认识AT89系列单片机的硬件电路;
2.学习延时子程序的编写和使用;
3.学习循环左移或右移指令的使用;
4.学习单片机程序烧录的基本过程和操作;
5.了解单片机的开发过程;
二、实验设备
计算机
编程器
目标板
单片机AT89S51
三、实验原理电路
由于P1口内部已有上拉电阻,在使用时不需要外接上拉电阻。
如果用P1口控制发光二极管的阴极,则可以不需要驱动电路,直接由限流电阻控制发光二极管的亮度。
实验电路如下:
四、实验内容与步骤
1.编写程序,使LED1——LED8顺序点亮;
2.汇编源程序并下装到AT89S51单片机,观察发光二极管的点亮效果;
3.改变延时时间常数,重复上述步骤。
五、实验报告要求
1.计算上图中单片机的振荡周期及机器周期;
2.列出程序清单;
实验四键盘处理程序的设计
一、实验目的与要求
1.了解矩阵式键盘的结构及驱动程序的编写方法;
2.学习应用查询法和中断法实现键盘的处理;
二、实验设备
计算机
编程器
目标板
单片机AT89S51
三、实验原理电路
实验电路如下图所示。
目标板上仅有两个按键S1和S2,分别接到P3.6和P3.7引脚。
在处理按键时,采用查询方式判断是否有键按下,并进行按键消抖处理。
(若将S1、S2接在外部中断0和外部中断1引脚上,则可以采用中断方式)
四、实验内容与步骤
1.按下S1键时,按LED1——LED8的顺序逐一点亮发光二极管;
2.按下S2键时,按LED8——LED1的顺序逐一点亮发光二极管;
五、实验报告要求
1.画出程序流程图;
2.列出程序清单;
实验五数码管显示程序设计
一、实验目的与要求
1.认识单片机的数字显示电路结构原理及工作过程;
2.了解静态、动态显示的驱动方法;
3.学习静态、动态显示数字程序的编写及调用方法;
二、实验设备
计算机
编程器
目标板
单片机AT89S51
三、实验原理电路
实验电路如下图所示。
图中,P0.0——P0.7分别送出LED的a—dp显示段码,即字形码;P2口的P2.7——P2.2则输出字位码,用来控制在第几位显示。
LED为共阳极。
四、实验内容与步骤
1.编写一位数码显示程序(静态);
2.编写多位数码管动态扫描显示;
3.调整显示参数和模式,改变显示效果。
五、实验报告要求
1.列出程序清单。
2.简单说明静态显示与动态显示的特点。
实验六脉冲计数实验
一、实验目的与要求
1.熟悉51单片机定时/计数功能;
2.掌握定时/计数器初始化编程方法。
二、实验设备
计算机
编程器
目标板
单片机AT89S51
三、实验原理电路
实验电路如下图所示。
四、实验内容与步骤
1.计算定时/计数器定时1s的计数初值;
2.编程实现定时功能:
定时1s改变一次led的状态,顺序点亮led1——led8;
3.编程实现计数功能:
计数器初值为0,并显示在其中一位显示器上,当led1——led8循环点亮1遍后,计数器加1,并显示,依次计数到9后,清零,进行下次计数。
五、实验报告要求
1.写出计算初值的过程;
2.列出程序清单;
实验七单片机串口通信程序设计
一、实验目的与要求
1.学习串口工作方式初始化编程;
2.学习单片机与单片机点对点的通信编程方法。
二、实验设备
计算机
编程器
目标板(两块)
单片机AT89S51
三、实验原理电路
实验电路如下图所示。
甲机的串口发送端TXD接到乙机的接收端RXD,而乙机的发送端又接到了甲机的接收端,两机的地线连在一起。
四、实验内容与步骤
1.首先按照图示连线;
2.甲机作为发送端,编写发送程序;
3.乙机作为接收端,编写接收程序;
4.要求用甲机控制乙机,顺序点亮乙机的LED1~LED8:
乙机LED初始状态为全灭,甲机按键S1按下时,点亮LED1,再按一下点亮LED2,依次类推。
五、实验报告要求
1.分别列出发送、接收程序清单;
实验八模拟交通灯实验
一、实验目的与要求
1.了解中断矢量地址在中断程序中的作用;
2.学习外部中断技术的基本使用方法;
3.学习中断处理程序的编程方法;
二、实验设备
计算机
编程器
目标板
单片机AT89S51
三、实验原理电路
实验电路如下图所示。
本实验是交通灯控制实验,所以需要了解交通灯的变化规律。
假设一个十字路口为东西南北走向。
初始状态0为东西红灯,南北红灯。
然后转状态1南北绿灯通车,东西红灯。
过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。
再转状态3,东西绿灯通车,南北红灯。
过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。
最后循环至状态1。
所设计的交通灯管理系统还要求满足急救车优先通过的要求。
若有急救车到达时,两向交通信号为全红,以便让急救车通过。
假定急救车通过路口时间为10S,急救车通过后,交通灯恢复中断前状态。
该实验中以S1为中断请求,表示有急救车通过。
LED资源分配可参考下表,也可以自己定义(报告中程序要与定义的一致)。
灯
LED
东西红灯
LED1
东西黄灯
LED2
东西绿灯
LED3
南北红灯
LED6
南北黄灯
LED7
南北绿灯
LED8
四、实验内容与步骤
1.了解交通灯的变化规律;
2.将目标板上的按键S1接在INT0引脚上;
3.按照交通灯规律编写程序,调试。
五、实验报告要求
1.画出程序流程图;
2.列出程序清单;
实验九A/D转换实验
一、实验目的
1、进一步理解A/D转换的概念;
2、掌握A/D转换器ADC0809与单片机的连接方式;
3、熟悉ADC0809的转换性能;
4、掌握A/D转换的编程和测试方法。
二、实验设备及器材
单片机AT89S51、A/D转换器ADC0809、计算机、编程器、万用表、电阻、电容、晶振等
三、实验原理及内容
通过电位器提供模拟电压输入,启动A/D转换,连续采样4次取平均值,将转换结果存入内部RAM单元30H,然后经P1口送发光二极管显示8位数字量。
下图所示为A/D转换参考电路。
图1A/D转换实验参考电路图
四、实验步骤
1、按电路连好线路,将调试好的程序烧入单片机;
2、调节电位器,使输入电压Vi=0,运行程序,启动A/D转换,观察发光二极管状态,记录A/D转换结果;
3、使Vi=2.5V,记录A/D转换结果;
4、使Vi=4.98V,记录A/D转换结果;
5、改动Vi的输入端,使其从0809的IN7端输入,修改程序,重复以上测试。
五、思考
1、当采用查询方式等待A/D转换结束时,能否在启动A/D转换后立即查询EOC信号,为什么?
2、若采用中断方式,电路和程序应作何改动?
实验十D/A转换实验
一、实验目的
1、进一步理解D/A转换的概念;
2、掌握D/A转换器DAC0832与单片机的连接方法;
3、熟悉DAC0832的转换性能;
4、掌握D/A转换的编程和调试方法。
二、实验设备及器材
单片机AT89S51、D/A转换器DAC0832、计算机、编程器、万用表、电阻、电容、晶振等
三、实验原理及内容
1、进行D/A转换,调节零点和满量程,校对D/A数值关系;
2、产生幅度为5V,频率为100Hz的三角波。
下图所示为D/A转换实验的参考电路。
图2D/A转换实验参考电路图
四、实验步骤
1、按电路连好线路,将调试好的程序烧入单片机;
2、调节零点和满量程:
Ø单片机输出#00H时,调节运算放大器的调零电位器RP1,使Vout=0;
Ø单片机输出#0FFH时,调节运算放大器的调零电位器RP2,使Vout=4.98V,然后再校对一下零点;
3、分别对#00H、#40H、#80H、#0C0H、#0FFH进行D/A转换,记录相应的转换结果Vout;
4、输出一定幅度和周期的三角波:
Ø烧入所编写的三角波程序;
Ø执行程序,用示波器观察Vout波形是否为三角波,画下波形图,记录并核对幅值和周期值;
五、思考
1、如何控制三角波的幅度、周期?
2、若要使输出电压Vout为正值,应如何改变电路?
实验十一矩阵式键盘接口技术实验
一、实验目的
1、了解矩阵式键盘的结构及驱动程序的编写方法;
2、学习键盘程序的使用方法;
二、实验设备及器材
单片机AT89S51、计算机、编程器、万用表、电阻、电容、晶振、矩阵键盘等
三、实验原理及内容
矩阵式键盘的结构与工作原理:
在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,下图为4*4矩阵式键盘的原理图。
当无按键闭合时,P1.0~P1.3与相应的P1.4~P1.7之间开路;当有键闭合时,与闭合键相连的两条I/O端线之间短路。
判断有无按键按下的方法是:
第一步,置列线P1.4~P1.7为输入态,行线P1.0~P1.3输出低电平,读入列线数据,若某一列线为低电平,则该列线上有按键闭合。
第二步,置行线P1.0~P1.3为输入态,列线P1.4~P1.7输出低电平,读入行线数据,若某一行线为低电平,则该行线上有键闭合。
综合一、二两步的结果,可确定按键键号。
图3矩阵式键盘实验参考电路图
四、实验步骤
1、按上图连接好电路;
2、编写4*4键盘的驱动子程序,其中行列信号与按键及键值的对应关系如下表所示:
表3-1行列信号与按键及键值的对应关系
按键
行线信号
列线信号
键值
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
K0
0
1
1
1
1
1
1
0
00H
K1
0
1
1
1
1
1
0
1
01H
K2
0
1
1
1
1
0
1
1
02H
K3
0
1
1
1
0
1
1
1
03H
K4
1
0
1
1
1
1
1
0
04H
K5
1
0
1
1
1
1
0
1
05H
K6
1
0
1
1
1
0
1
1
06H
K7
1
0
1
1
0
1
1
1
07H
K8
1
1
0
1
1
1
1
0
08H
K9
1
1
0
1
1
1
0
1
09H
K10
1
1
0
1
1
0
1
1
0AH
K11
1
1
0
1
0
1
1
1
0BH
K12
1
1
1
0
1
1
1
0
0CH
K13
1
1
1
0
1
1
0
1
0DH
K14
1
1
1
0
1
0
1
1
0EH
K15
1
1
1
0
0
1
1
1
0FH
3、编写主程序,当按键按下时,能够在数码管显示器上显示与按键键值对应的数字。
五、思考
1、若想采用中断方式,电路图应作何改动?
实验十二开关量输出接口实验
一、实验目的
1、掌握光电隔离技术,学习光电耦合器的驱动方法;
2、掌握用单片机控制继电器的原理和方法;
二、实验设备及器材
单片机AT89S51、计算机、编程器、万用表、电阻、电容、晶振、光耦、继电器等
三、实验原理及内容
在工业控制系统中,需要接通或断开开关量输入输出通道。
当开关接高电压电路时,还需将控制电路和被控对象加以隔离,以保护主控电路和人身安全。
继电器是电气控制中最常用的控制元件之一。
它能同时实现接通和隔离两项任务,因此在工业控制中得到广泛的应用。
在本实验中,主要是根据按键S1、S2的状态对继电器进行控制。
下图即为本实验的电路图。
图4单片机驱动继电器参考电路图
实验要求通过程序将P2.0置高、置低,控制继电器的通断,具体要求如下:
●按下S1键,使继电器常开触点闭合,常闭触点打开,同时点亮LED1(LED2不亮);
●按下S2键,使继电器常开触点打开,常闭触点闭合,同时点亮LED2(LED1不亮);
四、实验步骤
1、按上图连接好线路;
2、运行程序,观察继电器及LED1、LED2的状态变化,
五、思考
1、若要用此单片机实验电路板去控制交流220V电源开关并驱动一台电动机的启动与停止。
实验电路应如何接线?
实验十三步进电机控制实验
一、实验目的
3、熟悉采用单片机控制步进电机的硬件接口技术;
4、熟悉步进电机驱动程序的编制与调试方法;;
5、熟悉步进电机的工作特性;
二、实验设备及器材
单片机AT89S51、计算机、集成块SN75412两片、74LS04一片、编程器、万用表、电阻、电容、晶振等
三、实验原理及内容
编程实现使步进电机工作于单三拍方式,正走10步,每步间隔1s。
下图为步进电机控制的实验参考电路。
图5步进电机控制实验参考电路图
图中A、B、C是步进电动机的三相绕组。
R1、R2、R3是限流电阻,可按照步进电动机绕组的静态电流不超过额定电流来确定其阻值和功率。
VD1、VD2、VD3是续流二极管电路。
步进电动机的供电电源(+V),按电动机铭牌要求来确定。
单片机的P1.0、P1.1、P1.2经过与非驱动器SN75412控制和驱动步进电动机的三相绕组。
SN75412的最大输出电流为0.5A,开关电压55V。
如果不能满足实验所用步进电机的要求,可改选其它驱动器(如达林顿开关管SN7506,其最大输出电流为1.5A,开关电压50V),或者采用大功率三极管作为驱动器。
由单片机控制P1.0、P1.1、P1.2输出的脉冲序列的顺序、脉冲个数和延时,就能控制步进电机的转动方向、步数和速度。
四、实验步骤
1、观察记录步进电机铭牌数据、驱动器型号及限流电阻规格;
2、按参考电路图连线(先不接步进电机绕组),接通电源;
3、运行程序,观察LED0、LED1、LED2的发光情况是否正常。
若发光情况正常,断开电源,接上电机绕组;
4、合上电源,分别使P1.0、P1.1、P1.2为低电平,观察电动机绕组的静态电流是否接近额定电流或不超过某个限定值。
若不符合要求,立即断电,改变R1、R2、R3的阻值;
5、运行程序,观察步进电机动作情况,记录转过角度,检查是否正确。
五、思考
1、设计一个程序,使步进电机反转。
2、设计一个程序,改变电机转速。
实验十四单片机与PC机的通信实验
一、实验目的
1、进一步熟悉51单片机串口通信程序的编写;
2、学习单片机与PC机通过RS232串口实现串行通信。
二、实验设备及器材
单片机AT89S51、计算机、RS232串口线、MAX232集成块、编程器、万用表、电阻、电容、晶振等
三、实验原理及内容
51单片机有一个全双工的串行通信口,所以单片机和PC机之间可以方便地进行串口通信。
进行串行通信时要满足一定的条件,比如PC机的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,实验中采用了专用芯片MAX232进行电平转换,也可以用几个三极管进行模拟转换,但是使用专用芯片更简单可靠。
实验中采用了三线制连接串口,即单片机和电脑的9针串口只连接其中的3根线:
第5脚的GND、第2脚的RXD、第3脚的TXD,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。
图6单片机与PC机通信实验参考电路图
编写单片机侧的串口通信程序及PC机端通信程序,波特率为9600b/s,要求单片机能够接收PC机所发送的命令,收到正确的命令后开始将待发送的数据传送到PC。
四、实验步骤
1、将写好的程序烧入单片机;
2、用RS-232C通信电缆将PC机和单片机连接起来;
3、在PC机运行所编写的应用程序;
4、单片机系统上电,当接收到PC机发送的命令后向PC机发送“OK”。
五、思考
1、如何改变PC机与单片机之间的通信速率?
2、扩展电路,使上位机(PC机)能够通过与下位机(单片机)的通信,实现对现场的控制与数据采集。
实验十五8255A并行I/O端口扩充键盘实验
一、实验目的
1.掌握8255使用方法。
2.进一步学习键输入程序设计方法。
二、实验设备及器材
单片机AT89S51、8255、计算机、编程器、万用表、电阻、电容、按键、proteus仿真软件等
三、实验内容
1、使用8255A进行键盘的扩充,8255A的PA口作为输出口,接8位发光二极管;8255A的PB口作为输入口,接8个按键,编写程序,按下某按键时,相应的8个发光二极管循环点亮一次。
2、编写一程序(用proteus仿真软件实现),8255A的PA..2-PA..7控制LED指示灯实现交通灯功能。
四、实验原理图(只作参考,注意PA、PB口连线上应有改动)
五、实验步骤:
1、原理图绘制的元件清单:
元件名称
所属类
所属子类
AT89S51
MicroprocessorICs
8051Family
CRYSTAL
MIscellaneous
--
CAP
Capacitors
Generic
CAP-ELEC
Capacitors
Generic
RES
Resistors
7waitwirewound
RES
Resistors
10waitwirewound
8255A
MicroprocessorICs
peripherals
RESPACK-8
Resistors
ResistorsPacks
Button
Switches&Relays
Switches
2、观察实验结果,是否实现按键流水灯效果
3、观察实验结果,是否实现交通灯效果
六、思考题
如何对8255A的PC口进行位操作?
实验十六字符型液晶显示实验(SMC1602A)
一、实验目的
1.了解字符型液晶模块的控制方法。
2.了解它与单片机的接口逻辑。
二、实验设备
单片机AT89S51、LCD、计算机、编程器、万用表、电阻、电容、按键、proteus仿真软件等
三、实验内容
1、SMC1602A液晶显示器
(1)字符型液晶显示器,可显示两行,每行最多16个字符
(2)带有背光源,采用时分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 实验 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)