1、实验二十五 单片机控制系统综合实验-指导书 作者: 日期:19 个人收集整理 勿做商业用途机械工程基础实验单片机控制系统综合实验实验指导书重庆工学院汽车学院汽车及机械制造实验室2008年1月学生实验守则1学生应按照实验教学计划和约定的时间,准时上实验课,不得迟到早退。2实验前认真阅读实验指导书,明确实验目的、步骤、原理,预习有关的理论知识,并接受实验教师的提问和检查.3进入实验室必须遵守实验室的规章制度。不得高声喧哗和打闹,不准抽烟、随地吐痰和乱丢杂物。4做实验时必须严格遵守仪器设备的操作规程,爱护仪器设备,服从实验教师和技术人员指导。未经许可不得动用与本实验无关的仪器设备及其它物品.5实验中
2、要细心观察,认真记录各种试验数据。不准敷衍,不准抄袭别组数据,不得擅自离开操作岗位。6实验时必须注意安全,防止人身和设备事故的发生。若出现事故,应立即切断电源,及时向指导教师报告,并保护现场,不得自行处理。7实验完毕,应主动清理实验现场.经指导教师检查仪器设备、工具、材料和实验记录后方可离开。8实验后要认真完成实验报告,包括分析结果、处理数据、绘制曲线及图表。在规定时间内交指导教师批改.9在实验过程中,由于不慎造成仪器设备、器皿、工具损坏者,应写出损坏情况报告,并接受检查,由领导根据情况进行处理。10凡违反操作规程,擅自动用与本实验无关的仪器设备、私自拆卸仪器而造成事故和损失的,肇事者必须写出
3、书面检查,视情节轻重和认识程度,按学院有关规定予以赔偿.重庆工学院说 明1. 同学可以登录学校的“实验选课系统”(从学校首页登陆:syxk。cqit。或从数字校园登录),自己进行实验项目的选择。希望同学们能在每个实验项目开放的时间内尽早进行实验预约(预约时间必须比实验上课时间提前3天),因为学生数量比较多,如果某实验项目开放的时间内同学未能进行实验预约,则错过该实验项目的实验机会,补做就要在该实验项目下一次开放时进行。2. 在学期末因无法完成规定的实验项目个数,该门课程就必须重修。3. 如有什么问题,同学可以拨打电话68667451联系李鑫老师.单片机控制系统综合实验一、学时:4学时二、实验类
4、型:综合三、实验目的:1、 掌握伟福Lab2000P单片机仿真实验系统提供的几种典型外围电路。2、 熟悉典型外围电路与单片机的输入/输出端子的电路接线。3、 掌握MSC-51单片机的编程、仿真、写入、调试。4、 掌握用单片机控制步进电机的硬件连接和编程方法。四、实验设备与仪器计算机、伟福Lab2000P单片机仿真实验系统、步进电机驱动器、步进电机、直流电源、连接电缆,模拟示波器,万用表五、实验原理:伟福Lab2000P单片机仿真实验系统1、伟福Lab2000P单片机仿真实验系统可具有三种使用方法:(1)无系统机,仅用实验仪的板上仿真器进行仿真和实验;(2)有系统机,用系统机上的集成调试软件驱动
5、板上仿真器进行仿真和实验;(3)无实验仪,无仿真器,仅在系统机上采用软件模拟方式进行仿真。注: 1、本实验采用第(2)种使用方法,计算机作为系统机使用。2、系统配MCS51/196仿真板,可进行8051或80C196的实验.3、关于伟福Lab2000P单片机仿真实验系统的详细说明。在“校园网-机械工程实验教学中心”网站上下载.2、伟福Lab2000P单片机仿真实验系统,提供了以下几种的典型电路:(需要使用示波器、万用表)l LED电平显示电路l 单脉冲发生电路l 多级分频电路:与4MHz脉冲源结合,可得多种脉冲信号。l A/D转换电路:模数变换电路,可接入两路模拟量。l D/A转换电路:数模变
6、换电路,提供05V,-5V+5V,-8V+8V三路输出.l PWM转换电路3、仿真实验/开发系统的连接l 仿真实验/开发系统集成调试软件的安装和使用,见WAVE仿真开发系统使用手册。(在“校园网-机械工程实验教学中心”网站上下载)l 进行MCS51单片机实验时,应插上POD51/96仿真板,并插上8051或8052CPU。l 将配套的串行通讯电缆的一端与实验仪上的“仿真器串口9芯D形插座相连,另一端与PC相的串行口相连。l 将实验台的电源线与220V电源相连。l 打开实验台电源开关,红色电源指示灯亮。仿真开发器初始化成功后,LED会显示8051,表示仿真系统正常。l 打开计算机电源,执行WAV
7、E集成调试软件。注意:(1)无论是集成电路的插拔、通讯电缆的连接、跳线器的设置还是实验线路的连接,都应确保在断电情况下进行,否则可能造成对设备的损坏。(2)实验线路连接完成后,应仔细检查无误后再接通电源。4、程序调试环境:WAVE集成调试环境应设置如下:仿真器型号:伟福Lab2000P实验仪仿真头型号:MCS51实验 (803132)5、单片机程序:可使用汇编语言(EX51ASM目录下)、C语言(EX51C目录下)编写l P1口输入/输出 汇编(EX51ASM目录下H1。PRJ)、C(EX51C目录下H1.PRJ)l PWM转换电压 汇编(EX51ASM目录下H5。PRJ)、C(EX51C目录
8、下H5。PRJ)l D/A转换电路 汇编(EX51ASM目录下H13。PRJ)、C(EX51C目录下H13。PRJ)l A/D转换电路 汇编(EX51ASM目录下H14。PRJ)、C(EX51C目录下H14.PRJ)l 步进电机控制实验 汇编(EX51ASM目录下H22.PRJ)、C(EX51C目录下H22.PRJ)6、MSC-51单片机的编程、仿真、写入、调试的操作步骤:MSC51单片机的编程、仿真、写入、调试的操作步骤,可参阅WAVE仿真开发系统使用手册。(在“校园网-机械工程实验教学中心”网站上下载)7、MSC51系列单片机单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如
9、算术运算,逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换器及A/D转换器等电路集成到一块单块芯片上,构成一个最小而完善的计算机系统。这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。该系列单片机是采用高性能的静态80C51设计,由先进CMOS工艺制造并带有非易失性Flash程序存储器。P89C51X2包含128字节RAM、32条I/O口线、3个16位定时/计数器、6输入4
10、优先级嵌套中断结构、1个串行I/O口(可用于多机通信,I/O扩展或全双工UART)以及片内振荡器和时钟电路。由于器件采用了静态设计,可提供很宽的操作频率范围(频率可降至0),可实现两个由软件选择的节电模式空闲模式和掉电模式。空闲模式冻结CPU,但RAM、定时器、串口和中断系统仍然工作。掉电模式保存RAM的内容,但是冻结振荡器,导致所有其它的片内功能停止工作。由于设计是静态的,时钟可停止而不会丢失用户数据,运行可从时钟停止处恢复。8、A/D、D/A转换原理随着数字技术,特别是信息技术的飞速发展与普及,在现代控制、通信及检测等领域,为了提高系统的性能指标,对信号的处理广泛采用了数字计算机技术。由于
11、系统的实际对象往往都是一些模拟量(如温度、压力、位移、图像等),要使计算机或数字仪表能识别、处理这些信号,必须首先将这些模拟信号转换成数字信号;而经计算机分析、处理后输出的数字量也往往需要将其转换为相应模拟信号才能为执行机构所接受。这样,就需要一种能在模拟信号与数字信号之间起桥梁作用的电路模数和数模转换器。A/D转换即模拟/数字转换,意思是模拟信号转换为数字信号;D/A转换即数字/模拟转换,意思是数字信号转换为模拟信号;ADC表示模拟/数字转换器,DAC表示数字/模拟转换器.A/D转换器和D/A转换器已成为信息系统中不可缺少的重要组成部分,为确保系统处理结果的精确度,A/D转换器和D/A转换器
12、必须具有足够的转换精度;如果要实现快速变化信号的实时控制与检测,A/D与D/A转换器还要求具有较高的转换速度。转换精度与转换速度是衡量A/D与D/A转换器的重要技术指标。A/D转换器A/D转换器按分辨率分为4位、6位、8位、10位、14位、16位和bcd码的31/2位、51/2位等。按照转换速度可分为超高速(转换时间330ns),次超高速(3303。3s),高速(转换时间3。3333s),低速(转换时间330s)等。A/D转换器按照转换原理可分为直接A/D转换器和间接A/D转换器。所谓直接A/D转换器,是把模拟信号直接转换成数字信号,如逐次逼近型,并联比较型等。其中逐次逼近型A/D转换器,易于
13、用集成工艺实现,且能达到较高的分辨率和速度,故目前集成化A/D芯片采用逐次逼近型者多;间接A/D转换器是先把模拟量转换成中间量,然后再转换成数字量,如电压/时间转换型(积分型),电压/频率转换型,电压/脉宽转换型等.其中积分型A/D转换器电路简单,抗干扰能力强,且能作到高分辨率,但转换速度较慢。D/A转换器衡量一个D/A转换器的性能的主要参数有:(1) 分辨率是指D/A转换器能够转换的二进制数的位数,位数多分辨率也就越高。(2) 转换时间指数字量输入到完成转换,输出达到最终值并稳定为止所需的时间。电流型D/A转换较快,一般在几ns到几百ns之间。电压型D/A转换较慢,取决于运算放大器的响应时间
14、。(3) 精度指D/A转换器实际输出电压与理论值之间的误差,一般采用数字量的最低有效位作为衡量单位.(4) 线性度当数字量变化时,D/A转换器输出的模拟量按比例关系变化的程度。理想的D/A转换器是线性的,但是实际上是有误差的,模拟输出偏离理想输出的最大值称为线性误差.六、实验操作步骤:注:以下硬件实验一至四任选二个完成,步进电机控制实验必须完成。1、 认真预习实验内容。2、 按“五、实验原理中的“3、仿真实验/开发系统的连接”的说明,将伟福Lab2000P单片机仿真实验系统与PC连接好。并在PC上安装好相应的“WAVE6000集成调试软件”。3、 按“电路连接图”连接好实验电路。经实验教师检查
15、后,方可继续下一步操作。4、 运行“WAVE6000集成调试软件,在该软件平台上打开“五、实验原理”中的“5、单片机程序”里所述的程序,进行软件调试。5、 在理解实验流程框图的基础上,读懂程序代码。6、 调整程序内的部分控制指令或 参数,再次调试程序,记录参数调整前后,程序的运行状态是否有所改变。7、 实验完成后,整理好实验器材、连线,关闭实验箱和PC的电源。并经实验教师检查确认。硬件实验一 P1口输入、输出实验一、实验要求1、P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮.2、P1.0,P1。1作输入口接两个拨动开关,P1。2,P1.3作输出口,接两个发光二极管,编写程序读
16、取开关状态,将此状态,在发光二极管上显示出来.编程时应注意P1。0,P1.1作为输入口时应先置1,才能正确读入值。二、实验目的1、学习P1口的使用方法。2、学习延时子程序的编写和使用.三、实验电路及连线 实验项目1: P1口循环点灯 实验项目2: P1口输入输出 四、实验说明1、 P1口是准双向口。它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口用为输入口时,必须先对它置“1”。若不先对它置“1”,读入的数据是不正确的。2、 80C51可以将位变量通过C标志位赋值给其它位。3、8051延时子程序的延时计算问题对于程序 Delay: MOV R6,#0H MOV R7, #0
17、H DelayLoop: DJNZ R6,DelayLoop DJNZ R7,DelayLoop RET查指令表可知MOV,DJNZ指令均需用两个机器周期,在6MHz晶振时,一个机器周期时间长度为12/6MHZ,所以该段程序执行时间为:(256255+2)2126 261ms五、实验框图开始开始P1.0,P1.1置1设置初始值设移位次数读入P1.0口值将读入的值输出到P1.2数据输出读入P1.1口值左移一位将读入的值输出到P1.3是否延时 移位次数完成?(A) P1口循环点灯程序框图 (B) P1口输入输出程序框图六、实验要求对于实验项目1: P1口循环点灯A、改变程序的有关指令或参数,改变循
18、环点灯的流动方向.B、改变程序的有关指令或参数,改变循环点灯的移动速度。对于实验项目2: P1口输入输出A、 改变程序的有关指令或参数,将读入的P1。1值输出到P1.2.B、 改变程序的有关指令或参数,将读入的P1。0值输出到P1。3.硬件实验二 PWM转换电压实验 一、实验要求 用P1端口输出不同占空比的脉冲,通过PWM转换电压电路转换成电压。 二、实验目的1 了解脉宽调制(PWM)的原理2 学习用PWM输出模拟量三、实验电路及连接PWM输入电压输出 四、实验说明PWM是单片机上常用的模拟量输出方法,通过外接的转换电路,可以将脉冲的占空比变成电压。程序中通过调整占空比来输出模拟电压.占空比就
19、是脉冲中高电平与低电平的宽度比。低电平宽度延时输出低电平开始五、程序框图高电平宽度延时输出高电平六、实验要求改变程序的有关指令或参数,达到改变脉冲的占空比的目的。然后用电压表测量相应的电压值.并记录在表格中。硬件实验三 D/A转换实验一、 实验要求利用DAC0832,编制程序产生锯齿波、三角波、正弦波.三种波轮流显示,用示波器观看.二、 实验目的1、了解D/A转换的基本原理。2、了解D/A转换芯片0832的性能及编程方法。3、了解单片机系统中扩展D/A转换的基本方法。三、 实验电路及连线 用示波器探头接触输出,观察显示波形.四、 实验说明1、D/A转换是把数字量转换成模拟量的变换,实验台上D/
20、A电路输出的是模拟电压信号。要实现实验要求,比较简单的方法是产生三个波形的表格,然后通过查表来实现波形显示。2、产生锯齿波和三角波的表格只需由数字量的增减来控制,同时要注意三角波要分段来产生。要产生正弦波,较简单的方法是造一张正弦数字量表。即查函数表得到的值转换成十六进制数填表。D/A转换取值范围为一个周期,采样点越多,精度越高些。本例采用的采样点为256点/周期.3、八位D/A转换器的输入数据与输出电压的关系为:U(05V)=Uref/256NU(-5V+5V)=2Uref/256N-5V (这里 Uref为+5V)五、 实验框图开始置计数器初值查表读波形数据启动D/A改变计数器及表指针否转
21、换完毕是六、实验要求改变程序中计数器的初值,然后用示波器观察电路产生的三种波形的前后变化。并做记录。硬件实验四 A/D转换实验一、实验要求利用实验板上的ADC0809做A/D转换器,实验板上的电位器提供模拟量输入,编制程序,将模拟量转换成二进制数字量,用8255的PA口输出到发光二极管显示。二、实验目的1、 掌握A/D转换与单片机的接口方法.2、 了解A/D芯片ADC0809转换性能及编程。3、 通过实验了解单片机如何进行数据采集。三、实验电路及连线四、实验说明A/D转换器大致有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好;价格便宜,但速度慢;二是逐次逼近A/D转换器,精度,速度,价
22、格适中;三是并行A/D转换器,速度快,价格也昂贵.实验用的ADC0809属第二类,是八位A/D转换器。每采集一次一般需100us。本程序是用延时查询方式读入A/D转换结果,也可以用中断方式读入结果,在中断方式下,A/D转换结束后会自动产生EOC信号,将其与CPU的外部中断相接,有兴趣的同学可以试试编程用中断方式读回A/D结果。 五、实验框图开始初始化启动A/D否A/D转换完数据输出清读数标志 主程序框图六、实验要求改变实验板上的电位器的阻值,观察发光二极管显示的前后变化。并做记录。步进电机控制实验一、 实验要求用8255扩展端口控制步进电机,编写程序输出脉冲序列到8255的PA口,控制步进电机
23、正转、反转,加速,减速。二、实验目的1 了解步进电机控制的基本原理。2 掌握控制步进电机转动的编程方法。3 了解单片机控制外部设备的常用电路。三、实验电路连线框图8255控制的原理图参见8255实验。PA.0PA.1PA.2PA.3VCCDBAC8255驱动步进电机CS0四、实验说明步进电机驱动原理是通过对每相线圈中的电流的顺序切换来使电机作步进式旋转。切换是通过单片机输出脉冲信号来实现的。所以调节脉冲信号的频率便可以改变步进电机的转速,改变各相脉冲的先后顺序,可以改变电机的旋转方向。步进电机的转速应由慢到快逐步加速。电机驱动方式可以采用双四拍(ABBCCDDAAB)方式,也可以采用单四拍(A
24、BCDA)方式,或单、双八拍(AABBBCCCDDDAA)方式.各种工作方式的时序图如下:(高电平有效)单四拍方式双四拍方式 A B C D A DA AB BC CD DAABCD单、双八拍工作方式DA A AB B BC C CD D DAABCD上图中示意的脉冲信号是高有效,但实际控制时公共端是接在VCC上的,所以实际控制脉冲是低有效。8255的PA口输出的脉冲信号经(MC1413或ULN2003A)倒相驱动后,向步进电机输出脉冲信号序列。8051或80C196单片机也可以通过P1口输出脉冲信号控制步进电机的运转。五、实验程序框图开始设置初始延时值输出一拍脉冲延时准备下一拍脉冲否是否提速?是是是否到最快否延时值减少六、实验要求A、改变程序的有关指令或参数,完成双四拍方式下的步进电机正/反转控制,B、改变程序中最高转速的设定,用光电转速计测量步进电机转速的改变,并做记录。C、改变程序中延时值的设定,用光电转速计测量步进电机的转速,观察转速是否改变?改变了多少(%)?