1、单片机原理与应用实验指导书单片机原理与接口技术实验指导书目 录实验一 编程器及开发环境认识 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实验十六 字符型液晶显示实验(SMC1602
2、A) 27实验一 编程器及开发环境认识一、 实验目的与要求1. 学会单片机编程器的使用方法;2. 熟悉Keil C51编译软件的使用;二、 实验设备计算机51编程器软件:keil C51编译软件三、 实验原理1 编程器的使用(1)硬件安装和使用 关计算机 用随机电缆(串口线)连接编程器和计算机 插上5V电源插头(USB接口线) 开计算机,运行程序注意:电源指示灯亮,工作指示灯闪烁,表示机器工作正常; 安装芯片时,所插方向要正确;(2)软件安装和使用直接运行Easy51Pro.exe即可使用。 文件操作和编辑 进行文件存取、修改等操作。 读写单片机 实现单片机程序的读取、烧写。2 Keil C5
3、1编译软件的使用Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。C51工具包中的uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。下面对uVision集成开发环境进行简单介绍:1. 主菜单包括File、Edit、View、Project、Debug、Peripherals、Tool、SVCS、Window、Help。2. 工具栏3. 程序编辑窗口源程序的输入、编辑。4. 工
4、程信息窗口包括文件视图、寄存器窗和帮助文件。5. 除错窗口程序编译后,显示错误信息。四、 实验内容及步骤1. 学习编程器的使用;2. 熟悉uVision集成开发环境;3. 建立源程序文件,输入一段程序,观察运行结果。4. File/new新建一个hello.asm文件,输入程序;(1) File/save或工具栏将文件存盘;(2) Project/new project创建一个project名为hello,并在其中加入hello.asm;(3) Project/build target编译生成目标程序;(4) Debug/start stop debug session进入调试状态;(5) D
5、ebug/run运行程序,观察结果。五、 实验报告要求1. 列出实验程序清单;2. 根据实验观察结果,列出相关寄存器在程序运行前后的变化。寄存器名称程序运行前程序运行后R0R1R2R3R4R5R6R7ABSPPCPSW实验二 MCS-51汇编语言程序设计一、 实验目的与要求1 掌握汇编语言程序设计的方法;2 通过编程调试,熟悉单片机开发环境,学习程序调试技巧;3 学习软件仿真的方法。二、 实验设备计算机编译软件KeilC51 uVision三、 实验原理程序调试方法:(1)按照实验一的步骤建立工程并输入源程序;(2)完成源程序的编辑之后,进入调试状态,即Debug/Start debug;(3
6、)打开观察窗口,View/Memory Window;(4)选择观察范围:程序存储器ROM用C:0X0000内部数据存储器RAM用I:0X00外部数据存储器RAM用X:0X0000四、 实验内容与步骤1 熟悉建立工程、源程序的方法步骤;2 根据第四章所讲内容进行简单程序、循环程序、分支结构程序的设计(每种类型1例);3 完成程序的调试,并用观察窗口观察RAM存储空间内值的变化,并记下结果;五、 实验报告要求1 分别列出三个完整的实验程序清单;2 在每个程序清单后写出实验结果。实验三 流水灯实验一、 实验目的与要求1 认识AT89系列单片机的硬件电路;2 学习延时子程序的编写和使用;3 学习循环
7、左移或右移指令的使用;4 学习单片机程序烧录的基本过程和操作;5 了解单片机的开发过程;二、 实验设备计算机编程器目标板单片机AT89S51三、 实验原理电路由于P1口内部已有上拉电阻,在使用时不需要外接上拉电阻。如果用P1口控制发光二极管的阴极,则可以不需要驱动电路,直接由限流电阻控制发光二极管的亮度。实验电路如下:四、 实验内容与步骤1 编写程序,使LED1LED8顺序点亮;2 汇编源程序并下装到AT89S51单片机,观察发光二极管的点亮效果;3 改变延时时间常数,重复上述步骤。五、 实验报告要求1 计算上图中单片机的振荡周期及机器周期;2 列出程序清单;实验四 键盘处理程序的设计一、 实
8、验目的与要求1. 了解矩阵式键盘的结构及驱动程序的编写方法;2. 学习应用查询法和中断法实现键盘的处理;二、 实验设备计算机编程器目标板单片机AT89S51三、 实验原理电路实验电路如下图所示。目标板上仅有两个按键S1和S2,分别接到P3.6和P3.7引脚。在处理按键时,采用查询方式判断是否有键按下,并进行按键消抖处理。(若将S1、S2接在外部中断0和外部中断1引脚上,则可以采用中断方式)四、 实验内容与步骤1. 按下S1键时,按LED1LED8的顺序逐一点亮发光二极管;2. 按下S2键时,按LED8LED1的顺序逐一点亮发光二极管;五、 实验报告要求1. 画出程序流程图;2. 列出程序清单;
9、实验五 数码管显示程序设计一、 实验目的与要求1. 认识单片机的数字显示电路结构原理及工作过程;2. 了解静态、动态显示的驱动方法;3. 学习静态、动态显示数字程序的编写及调用方法;二、 实验设备计算机编程器目标板单片机AT89S51三、 实验原理电路实验电路如下图所示。图中,P0.0P0.7分别送出LED的adp显示段码,即字形码;P2口的P2.7P2.2则输出字位码,用来控制在第几位显示。LED为共阳极。四、 实验内容与步骤1. 编写一位数码显示程序(静态);2. 编写多位数码管动态扫描显示;3. 调整显示参数和模式,改变显示效果。五、 实验报告要求1. 列出程序清单。2. 简单说明静态显
10、示与动态显示的特点。实验六 脉冲计数实验一、 实验目的与要求1. 熟悉51单片机定时/计数功能;2. 掌握定时/计数器初始化编程方法。二、 实验设备计算机编程器目标板单片机AT89S51三、 实验原理电路实验电路如下图所示。四、 实验内容与步骤1. 计算定时/计数器定时1s的计数初值;2. 编程实现定时功能:定时1s改变一次led的状态,顺序点亮led1led8;3. 编程实现计数功能:计数器初值为0,并显示在其中一位显示器上,当led1led8循环点亮1遍后,计数器加1,并显示,依次计数到9后,清零,进行下次计数。五、 实验报告要求1. 写出计算初值的过程;2. 列出程序清单;实验七 单片机
11、串口通信程序设计一、 实验目的与要求1. 学习串口工作方式初始化编程;2. 学习单片机与单片机点对点的通信编程方法。二、 实验设备计算机编程器目标板(两块)单片机AT89S51三、 实验原理电路实验电路如下图所示。甲机的串口发送端TXD接到乙机的接收端RXD,而乙机的发送端又接到了甲机的接收端,两机的地线连在一起。四、 实验内容与步骤1. 首先按照图示连线;2. 甲机作为发送端,编写发送程序;3. 乙机作为接收端,编写接收程序;4. 要求用甲机控制乙机,顺序点亮乙机的LED1LED8:乙机LED初始状态为全灭,甲机按键S1按下时,点亮LED1,再按一下点亮LED2,依次类推。五、 实验报告要求
12、1. 分别列出发送、接收程序清单;实验八 模拟交通灯实验一、 实验目的与要求1. 了解中断矢量地址在中断程序中的作用;2. 学习外部中断技术的基本使用方法;3. 学习中断处理程序的编程方法;二、 实验设备计算机编程器目标板单片机AT89S51三、 实验原理电路实验电路如下图所示。本实验是交通灯控制实验,所以需要了解交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然
13、红灯。最后循环至状态1。所设计的交通灯管理系统还要求满足急救车优先通过的要求。若有急救车到达时,两向交通信号为全红,以便让急救车通过。假定急救车通过路口时间为10S,急救车通过后,交通灯恢复中断前状态。该实验中以S1为中断请求,表示有急救车通过。LED资源分配可参考下表,也可以自己定义(报告中程序要与定义的一致)。灯LED东西红灯LED1东西黄灯LED2东西绿灯LED3南北红灯LED6南北黄灯LED7南北绿灯LED8四、 实验内容与步骤1. 了解交通灯的变化规律;2. 将目标板上的按键S1接在INT0引脚上;3. 按照交通灯规律编写程序,调试。五、 实验报告要求1. 画出程序流程图;2. 列出
14、程序清单;实验九 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转换参考电路。图1 A/D转换实验参考电路图四、 实验步骤1、 按电路连好线路,将调试好的程序烧入单
15、片机;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转换的编程和调
16、试方法。二、实验设备及器材单片机AT89S51、D/A转换器DAC0832、计算机、编程器、万用表、电阻、电容、晶振等三、 实验原理及内容1、 进行D/A转换,调节零点和满量程,校对D/A数值关系;2、 产生幅度为5V,频率为100Hz的三角波。下图所示为D/A转换实验的参考电路。图2 D/A转换实验参考电路图四、 实验步骤1、 按电路连好线路,将调试好的程序烧入单片机;2、 调节零点和满量程: 单片机输出#00H时,调节运算放大器的调零电位器RP1,使Vout=0; 单片机输出#0FFH时,调节运算放大器的调零电位器RP2,使Vout=4.98V,然后再校对一下零点;3、 分别对#00H、#
17、40H、#80H、#0C0H、#0FFH进行D/A转换,记录相应的转换结果Vout;4、 输出一定幅度和周期的三角波: 烧入所编写的三角波程序; 执行程序,用示波器观察Vout波形是否为三角波,画下波形图,记录并核对幅值和周期值;五、 思考1、 如何控制三角波的幅度、周期?2、 若要使输出电压Vout为正值,应如何改变电路?实验十一 矩阵式键盘接口技术实验一、实验目的1、了解矩阵式键盘的结构及驱动程序的编写方法;2、学习键盘程序的使用方法;二、实验设备及器材单片机AT89S51、计算机、编程器、万用表、电阻、电容、晶振、矩阵键盘等三、实验原理及内容矩阵式键盘的结构与工作原理:在键盘中按键数量较
18、多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,下图为4*4矩阵式键盘的原理图。当无按键闭合时,P1.0P1.3与相应的P1.4P1.7之间开路;当有键闭合时,与闭合键相连的两条I/O端线之间短路。判断有无按键按下的方法是:第一步,置列线P1.4P1.7为输入态,行线P1.0P1.3输出低电平,读入列线数据,若某一列线为低电平,则该列线上有按键闭合。第二步,置行线P1.0P1.3为输入态,列线P1.4P1.7输出低电平,读入行线数据,若某一行线为低电平,则该行线上有键闭合。综合一、二两步的结果,可确定按键键号。图3 矩阵式键盘实验参考电路图四、实验步骤1、按上图连接好电路;2、编写4*
19、4键盘的驱动子程序,其中行列信号与按键及键值的对应关系如下表所示:表3-1 行列信号与按键及键值的对应关系按键行线信号列线信号键值P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7K00111111000HK10111110101HK20111101102HK30111011103HK41011111004HK51011110105HK61011101106HK71011011107HK81101111008HK91101110109HK10110110110AHK11110101110BHK12111011100CHK13111011010DHK14111010110EHK15
20、111001110FH3、编写主程序,当按键按下时,能够在数码管显示器上显示与按键键值对应的数字。五、思考1、若想采用中断方式,电路图应作何改动?实验十二 开关量输出接口实验一、 实验目的1、 掌握光电隔离技术,学习光电耦合器的驱动方法;2、 掌握用单片机控制继电器的原理和方法;二、实验设备及器材单片机AT89S51、计算机、编程器、万用表、电阻、电容、晶振、光耦、继电器等三、实验原理及内容在工业控制系统中,需要接通或断开开关量输入输出通道。当开关接高电压电路时,还需将控制电路和被控对象加以隔离,以保护主控电路和人身安全。继电器是电气控制中最常用的控制元件之一。它能同时实现接通和隔离两项任务,
21、因此在工业控制中得到广泛的应用。在本实验中,主要是根据按键S1、S2的状态对继电器进行控制。下图即为本实验的电路图。图4 单片机驱动继电器参考电路图实验要求通过程序将P2.0置高、置低,控制继电器的通断,具体要求如下: 按下S1键,使继电器常开触点闭合,常闭触点打开,同时点亮LED1(LED2不亮); 按下S2键,使继电器常开触点打开,常闭触点闭合,同时点亮LED2(LED1不亮);四、实验步骤1、按上图连接好线路;2、运行程序,观察继电器及LED1、LED2的状态变化,五、思考1、若要用此单片机实验电路板去控制交流220V电源开关并驱动一台电动机的启动与停止。实验电路应如何接线?实验十三 步
22、进电机控制实验一、 实验目的3、 熟悉采用单片机控制步进电机的硬件接口技术;4、 熟悉步进电机驱动程序的编制与调试方法;5、 熟悉步进电机的工作特性;二、实验设备及器材单片机AT89S51、计算机、集成块SN75412两片、74LS04一片、编程器、万用表、电阻、电容、晶振等三、实验原理及内容编程实现使步进电机工作于单三拍方式,正走10步,每步间隔1s。下图为步进电机控制的实验参考电路。图5 步进电机控制实验参考电路图图中A、B、C是步进电动机的三相绕组。R1、R2、R3是限流电阻,可按照步进电动机绕组的静态电流不超过额定电流来确定其阻值和功率。VD1、VD2、VD3是续流二极管电路。步进电动
23、机的供电电源(+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、
24、运行程序,观察LED0、LED1、LED2的发光情况是否正常。若发光情况正常,断开电源,接上电机绕组;4、合上电源,分别使P1.0、P1.1、P1.2为低电平,观察电动机绕组的静态电流是否接近额定电流或不超过某个限定值。若不符合要求,立即断电,改变R1、R2、R3的阻值;5、运行程序,观察步进电机动作情况,记录转过角度,检查是否正确。五、思考1、设计一个程序,使步进电机反转。2、设计一个程序,改变电机转速。实验十四 单片机与PC机的通信实验一、实验目的1、进一步熟悉51单片机串口通信程序的编写;2、学习单片机与PC机通过RS232串口实现串行通信。二、 实验设备及器材单片机AT89S51、计算
25、机、RS232串口线、MAX232集成块、编程器、万用表、电阻、电容、晶振等三、 实验原理及内容51单片机有一个全双工的串行通信口,所以单片机和PC机之间可以方便地进行串口通信。进行串行通信时要满足一定的条件,比如PC机的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,实验中采用了专用芯片MAX232进行电平转换,也可以用几个三极管进行模拟转换,但是使用专用芯片更简单可靠。实验中采用了三线制连接串口,即单片机和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚
26、和单片机的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机)能够通过与下位机(单片机)的通信,实现对现场的控制与数据采集。
27、实验十五 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口
28、连线上应有改动)五、实验步骤:1、原理图绘制的元件清单:元件名称所属类所属子类AT89S51MicroprocessorICs8051 FamilyCRYSTALMIscellaneous-CAPCapacitorsGenericCAP-ELECCapacitorsGenericRESResistors7 wait wirewoundRESResistors10 wait wirewound8255AMicroprocessorICsperipheralsRESPACK-8ResistorsResistors PacksButtonSwitches&RelaysSwitches2、观察实验结果,是否实现按键流水灯效果3、观察实验结果,是否实现交通灯效果六、思考题 如何对8255A的PC口进行位操作?实验十六 字符型液晶显示实验(SMC1602A)一、实验目的 1. 了解字符型液晶模块的控制方法。2. 了解它与单片机的接口逻辑。二、实验设备 单片机AT89S51、LCD、计算机、编程器、万用表、电阻、电容、按键、proteus仿真软件等三、实验内容1、SMC1602A液晶显示器 (1)字符型液晶显示器,可显示两行,每行最多16个字符 (2)带有背光源,采用时分
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1