《单片机实验》由会员分享,可在线阅读,更多相关《单片机实验(18页珍藏版)》请在金锄头文库上搜索。
1、武汉工程大学实验报告实验课程单片机综合实验姓名 张鹏 学号 0704140228 专业及班级 通信 02 IIHII IIMIIHIBHIIHIIHIBHIIH II IMIIHIBHIIMIIHII 实验地点408实验组号1组 实验日期_实验项目单片机控制电机实验(PWM)实验目的1 了解直流电机 PWM 调速的原理2 了解对象模块的工作原理3 了解 ADC0809 工作原理4 了解显示模块的工作原理实验任务(1)基础实验(开环)(2)扩展实验(闭环)实验原理,实验步骤,实验仪器设备(名称,型号,功能,量程,在本次试验中的用途)二实验原理(1) 单片机控制直流调速系统的工作原理概述整个系统的
2、工作原理:首先是人为给定电动机转速的电压信号,然后将这个 电压信号通过 A/D 转换成数字信号后传送给单片机(8025)。单片机通过中断方 式将接收到的数据先保存起来。然后再对此数据进行处理,接着启动 ADC0809 开始采样直流电动机的实际速度值,再通过 PID 控制算法,得到一个输出信号值, 再通过 DA 转换器将这个数字信号转换成相应的模拟电压控制信号,经过 PWM 波形发生器来驱动直流发动机;并且不断循环,并且在这个循环往复的过程中, 讲采集到的不断变化的速度值,通过 LED 数码管显示出直流电机的速度值。整个系统设计包括了电位器控制部分,A/D转换部分,单片机控制部分,数 码显示部分
3、,电动机模块部分。PWM 调速原理及其实现方法PWM 是通过控制固定电压的直流电源开关频率,从而改变伏在两端电压, 从而达到控制要求的一种电压调整方法。PWM可以应用在很多方面,如电机调 速,温度控制,压力控制等。在 PWM 驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并 根据需要改变一个周期内接通和断开的时间的长短。通过改变直流电机电枢上电 压的占空比来改变平均电压的大小,从而控制电动机的转速。因此,PWM又被 称为开关驱动装置。当电机通电时,速度增加;电机断电时,速度逐渐减少。只要按一定规律,改变通、断电的时间,即可让电机转速得到控制PWM信号的产生通常有两种方法:一种是软件的
4、方法,另一种是硬件的方法了解对象模块的工作原理PWM模块内部结构图在设计中首先要将给定的直流电动机转速的模拟电压转换成数字信号,同 时还要对测速发电机进行采样并转化成数字信号,因此需要用A/D芯片。我们采 用ADC0809芯片。ADC0809是8路8位逐次逼近式A/D,由多路模拟开关,通道地址 缩存,译码器,8位A/D转换器及三态输出数据锁存器组成。在电动机上我们装上 霍尔感应装置进行测速,并且将数据传给单片机进行测速处理,(3) 电位器的工作原理电位器是一种可调的电子元件。它是由一个电阻体和一个转动或滑动系统组 成。当电阻体的两个固定触电之间外加一个电压时,通过转动或滑动系统改变触 点在电阻
5、体上的位置,在动触点与固定触点之间便可得到一个与动触点位置成一 定关系的电压。它大多是用作分压器,电位器是一个四端元件。电位器基本上就是滑动变阻器,通过ADC0809采样05V的电压值就是由电位 器来产生的。(4) ADC0809的工作原理A/D 转换器大致有三类:一是双积分 A/D 转换器,优点是精度高,抗干扰性 好,价格便宜,但速度慢;二是逐次逼近法A/D转换器,精度、速度、价格适中; 三是并行 A/D 转换器,速度快,价格也昂贵。实验用的ADC0809属第二类,是八位A/D转换器。每采集一次需100us。ADC0809 START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号。
6、 实验电路中将其相连,以便同时锁存通道地址并开始A/D采样转换,故启动A/D 转换只需如下两条指令:MOVDPTR, #PORTMOVX DPTR,AA 中为何内容并不重要,这是一次虚拟写。在中断方式下,A/D转换结束后会自动产生EOC信号,将其与8031CPU板上 的INTO相连接。在中断处理程序中,使用如下指令即可读取A/D转换的结果:MOVDPTR, #PORTMOVX A, DPTRADC0809与电位器相连电路图(5) 8279显示模块工作原理实验7段LED显示器由7个发光二极管组成,7个条形发光二极管排列成日字形,每 个通过不同的发光管的组合可以显示数字09、AF以及一些特殊的字样
7、。LED显示器可以分为两种类型。一种是7个发光二极管的阳极连在一起,称为 共阳极LED显示器;另一种是7个发光二极管的阴极连在一起的,称为共阴极LED 显示器。为了显示字符,必须给LED的a、b、c、d、e、f、g个确定的电平, 如对于共阴极LED,为了显示0,则要求a、b、c、d、e、f端为高电平,g端为 低电平,用数据表示即为11111100。显然,将共阳极LED的段码按位取反即可得 到共阳极LED的段码。8279是一种可编程键盘/LED显示器接口器件,具有键盘、传感器以及选通 三种输入方式和8位或16位LED显示器控制功能,实际的应用系统中采用8279芯 片,不仅可以大大地节省CPU处理
8、键盘或显示操作的时间,减轻CPU的负担,而 且,显示稳定,编程简单。8279显示控制部分主要由显示控制逻辑电路和16个字节的显示RAM以及显 示寄存器组成。显示RAM用来存放显示数据;显示寄存器分为两组,OUTA30 和0 UTB3 0可以单独4位输出,也可以合成为8位(一个字节)输出,以字节输 出时,OUTA3对应数据总线的D7, OUTB0对应数据总线的D0。8279工作时, 显示寄存器不停地从显示RAM中读出显示数据,然后,从OUTA30和OUTB30 输出,与输出的扫描信号(SL3SL0)配合实现多位LED的循环显示。8279最多可用来控制16位的LED显示,当显示位数超过8位时,均设
9、定为16 位字符显示。LED有两种显示方式:即左边输入和右边输入。左边输入是较简单 的方式,显示RAM单元0对应显示器最左边的位;显示RAM单元7 (或15)对应 显示器的最右边的位。单片机写入单元的地址和显示的位之间的对应关系是固定 的,单片机依次从0地址或某一个地址开始将段码数据写入显示缓冲区。本次设计中要将霍尔传感器测得的转速的电压转换成用数字量的转速,并用 LED数码管显示,因此需要一个四位的LED数码管来完成实验要求。单片机控制系统的接口电路中的LED数码显示器使用的是共阴极接法。共阴 极接法的原理:将所有发光二极管的阴极互相连接后接地,每个发光二级管的阳 极通过电阻与输入端相连,当
10、阳极属于为高电平时,段发光二极管就导通点亮, 当阳极端输入为低电平时,段发光二极管就不点亮。设计中采用动态显示,单片 机控制系统采用动态扫描显示。动态显示软件法将要显示的十六进制数或BCD码 转化为相应字型码。三 系统组成(1) 结构框图本次设计的任务是单片机控制的直流调速系统,该单片机对直流电动机的速度进行控制,同时对速度进行检测采样,并显示速度。控制系统设计总体结 构框图如下:系统的总体设计以及连线图間L,SftZJ.IH=MS313:三it四 软件设计1 设计思路为实现单片机对直流电机的控制,满足设计要求,系统的工作过程是靠软件来 实现的。因此软件的设计和编写很重要。程序的编写采用汇编语
11、言。主程序的设计主程序的内容一般包括:主程序的起始地址,中断服务程序的起始地址 设置堆栈指针,相关存储单元和元器件的初始化以及一些子程序的调用等。主程序的初始化所谓的初始化,就是对将要用到的MCS-51系列单片机的内部单元和扩展芯片 进行初始化工作状态的设定。MCS-51系列单片机复位后,特殊功能寄存器IE, IP 的内容为00H,所以应对IE,IP进行初始化编程,以开CPU总中断,允许某些中断 源中断,并设置中断优先级等。主程序流程图和TO中断流程图设计如下:主程序如下ORGOOOOHLJMPMAINORGOOO3HLJMPINTAORG OOBH;TO;转主程序;外部中断INTO的入口地址
12、 ;转外部中断INT 0服务程序 ;入口地址LJMP TO-SEV;转TO溢出中断服务程序ORG0300H;DATABUFEQU5OHDISBUF1EQO6OHDISBUF2EQO64HSAMO-D1EQUOOOOHSAMP-D2EQUO5OOHMAIN:MOV SP, #7OHMOVTMOD, #O1HMOVTLO,#18HMOV THO, #OFCHMOV RO,#OFHSETB TR0;数据缓冲区的首地址;给定速度显示缓冲区的首地址 ;实际速度显示的缓冲区的首地址 ;保存给定速度的首地址 ;保存实际速度采样数据的首地址 ;设置堆栈指针;定时器TO工作方式1;定时器赋初值,定时1ms ;软
13、件计数器R0赋初值;启动TO工作SETBEX0;允许I NT 0中断SETBEA;CPU中断SJMP$;等待中断T0-SEV:;T0中断服务子程序SETBMOV TL0,#18HMOVTH0,#OFCH;定时器重新赋值,r . hbL A rrx r 、r.、/rt A r /、. 、 rxITO;中断触发方式为边沿触发方式SETB EA;CPU开中断SETBEXO;允许外部中断0中断INTA:PUSH ACCPUSHDPHPUSH DPL;保护现场ACALLAD1;调用AD1给定速度米样子程序ACALLFILTER;调用中值滤波子程序ACALLFA1ACALLAD2;调用AD2实际速度米样子
14、程序ACALLFILTER;调用中值滤波子程序ACALLFA2POPDPH;恢复现场POPDPLPOPRET1ACCACALLPID;调用PID控制算法子程序ACALLDAC;调用DAC转换程序LCALLTRAST1LCALLDBCD1LCALLDIS1;调用速度显示子程序MOV A,2AH;实际速度值送ALCALLTRAST1;调用代码转换子程序LCALLDBCD2;将实际转速压缩BCD码转换成单独BCD码LCALLDIS2;调用实际速度显示子程序RETI;中断返回采样子程序AD0809采样程序DAC0809的地址可为7FF8H7FFFH,具体该为哪一个地址涉及到转换通道的选择 我们设定转速电压模拟量地址为7FF8H (INO),实际速度电压通道地址为 7FF9H(IN1)采样设计流程图如下A/D巴舍处爆,NI加采样巴售亢成來样门门册呑柚也雉地仕型R(h 采邯賦数錨R2采样程序如下:AD1:;调用AD1给定速度米样子程序MOV RO,#2CH;采样值起始地址送R0MOV R2,#0