STC89C51单片机整个控制系统的控制电路设计毕业设计论文_第1页
STC89C51单片机整个控制系统的控制电路设计毕业设计论文_第2页
STC89C51单片机整个控制系统的控制电路设计毕业设计论文_第3页
STC89C51单片机整个控制系统的控制电路设计毕业设计论文_第4页
STC89C51单片机整个控制系统的控制电路设计毕业设计论文_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE32摘要本课题是对直流电机PWM调速器设计的研究,主要实现对电动机的控制。因此在设计中,对直流调速的原理,直流调速控制方式以及调速特性,PWM基本原理及实现方式进行了全面的阐述。为实现系统的微机控制,在设计中,采用了STC89C51单片机作为整个控制系统的控制电路的核心部分,配以各种显示,驱动模块,实现对电动机的转速的显示和测量;由命令输入模块,光电隔离模块及H型驱动模块组成。采用带中断的独立式键盘作为命令的输入,单片机在程序的控制下,不断给光电隔离电路发送PWM波形,H型驱动电路完成电机的正反转控制。在设计中,采用PWM调速方式,通过改变PWM的占空比从而改变电动机的电枢电压,进而实现对电动机的调速。设计的整个控制系统,在硬件结构上采用了大量的集成电路模块,大大的简化了硬件电路,提高了系统的稳定性和可靠性,使整个系统的性能得到提高。

目录摘要 11直流电机 31.1直流电机的结构 31.2直流电机的工作原理 31.3直流电机的主要的技术参数 41.4直流电机的调速的技术指标 42单片机的相关知识 62.1单片机的简介 62.2单片机的发展史 62.2.14位单片机 62.2.28位单片机 62.2.316位单片机 62.2.432位单片机 72.2.564位单片机 72.3单片机的特点 72.4STC89C51单片机介绍 83硬件电路的设计 123.1控制电路的设计 123.2霍尔元件测速部分电路的设计 123.3电机控制正反转电路设计 133.4显示设计 164软件设计 184.1主程序部分 184.2数码管显示设计 194.2.1设计要求 194.2.2程序设计注意事项 194.2.3数码管显示程序设计 194.3功能程序设计 195直流测速系统仿真 215.1直流测速系统仿真 215.1.1单片机最小系统仿真 225.1.2数码管显示仿真 226结束语 24参考文献 24附1源程序代码 25附2原理图 31

1直流电机1.1直流电机的结构直流电机的结构应由定子和转子两大部分组成。直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极、换向极、端盖、轴承和电刷装置等组成。运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,所以通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。直流电机的结构如图1.2直流电机的工作原理直流电机模型如图1.2所示,磁极N,S间装着一个可以转动的铁磁圆柱体,圆柱体的表面固定着线圈abcd。当线圈流过电流的时候,线圈受到电磁力的作用,产生旋转。根据左手定则可知,当流过线圈中电流改变方向时,线圈的受力方向也将改变,因此通过改变线圈电流的方向实现改变电机的方向。1.3直流电机的主要的技术参数额定功率Pn:在额定电流和电压下,电机的负载能力。额定电压Ue:长期运行的最高电压。额定电流Ie:长期运行的最大电流。额定转速n:单位时间里面电机转速的快慢。励磁电流If:施加到电极线圈上的电流。1.4直流电机的调速的技术指标1.4.1调速范围调速范围是指最低可控转速到最高可控转速的范围,最低可控转速对最高可控转速的比值,叫电机的调速比。1.4.2调速的相对稳定性和静差度所谓相对稳定性,是指负载转矩在给定的范围里面变化所引起的速度的变化,它决定于机械特性的斜率。静差度(又称静差率)是指当电动机在一条机械特性上运行时,由理想空载到满载时的转速降落与理想空载转速n0的比值。用百分数表示,即,在一般的情况下,取额定转矩下的速度落差,有1.4.3调速的平滑性调速的平滑性是在一定的调速范围内,相邻两极速度变化的程度,用平滑系数表示,即式中和相邻两极,即i级与i-1级的速度1.4.4调速时的容许输出调速时的容许输出是指电动机在得到充分利用的情况下,在调速的过程中轴能够输出的功率和转矩。

2单片机的相关知识2.1单片机的简介单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。2.2单片机的发展史2.2.14位单片机1975年,美国德克萨斯公司首次推出4位单片机TMS-1000,此后各个计算机公司竞相推出4位单片机。日本松下公司的MN1400系列。美国洛克威尔公司的PPS/1系列等。4位单片机的主要的应用的领域有:PC机的输入装置。电池的充电器,运动器材,带液晶显示器的音/视频产品控制器,一般家用电器的控制及遥控器,电子玩具,钟表,计算器,多功能电话等。2.2.28位单片机1972年,美国Intel公司首先推出8位微处理器8008,并与1976年9月率先推出MCS-48系列单片机。在这以后,8位单片机纷纷面世。例如莫斯特克和仙童公司合作生产的3870系列,摩托罗拉公司生产的6801系列等。随着集成电路工艺水平的提高,一些高性能的8位单片机相继问世,例如1978年摩托罗拉公司的MC6801。这类单片机的寻址能力达到64KB,片内ROM的容量达4-8KB,片内除带有并行I/O口,甚至还有A/D转换器的功能。8位单片机由于性能强大,被广泛用于自动化装置,智能接口,过程控制等各领域。2.2.316位单片机1983年以后,集成电路的集成度可达几十万只管/片,各系列16位单片机纷纷面世,这一阶段的代表产品有1983年Intel公司推出的MCS-96系列,1987年Intel公司推出了80C96,美国半导体公司推出了HPC16040。16位单片机主要用于工业控制,智能仪器仪表等场合。2.2.432位单片机随着高新技术智能机器人,激光打印机,图像与数据实时处理,复杂实时控制,网络服务器等领域的应用和发展,20世纪80年代末,推出了32位单片机,如摩托罗拉公司的MC683XX系列。32位单片机是单片机的发展趋势,随着技术的发展和开发成本的降低,将会和8位单片机并驾齐驱。2.2.564位单片机近年来,64位单片机在引擎控制,智能机器人,磁盘控制,算法密集的实时控制场所已有应用。如英国的Inmos公司的TransputerT800是高性能的64位单片机2.3单片机的特点1、单片机的特点(1)高集成度,体积小,高可靠性单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的CPU。单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。(2)控制功能强为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力,I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。(3)低电压,低功耗,便于生产便携式产品为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8V~3.6V,而工作电流仅为数百微安。(4)易扩展片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。(5)优异的性能价格比单片机的性能极高。为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。单片机的寻址能力也已突破64KB的限制,有的已可达到1MB和16MB,片内的ROM容量可达62MB,RAM容量则可达2MB。由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。2.4STC89C51单片机介绍STC89C51单片机是一款低功耗、低电压、高性能CMOS8位单片机,片内含8KB(可经受1000次擦写周期)的FLASH可编程可反复擦写的只读程序存储器(EPROM),器件采用CMOS工艺和ATMEL公司的高密度,非易失性存储器(NURAM)技术制造,其输出引脚和指令系统都与MCS-51兼容,片内的FLASH存储器允许在系统内可改编程序或用常规的非易失性存储编程器来编程。因此,AT89C52是一种功能强,灵活性高且价格合理的单片机,可方便的应用在各个控制领域[1]。STC89C51具有以下主要性能:1.4KB可改编程序FLASH存储器;2.全表态工作:0~24HZ;3.256X8字节内部RAM;4.32个外部双向输入,输出(I、O)口;如图2.1。图2.1STC89C51引脚说明引脚功能说明如下[2]:VCC:电源电压。GND:地。P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据线复用口。作为输出口时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端。在访问外部数据储存器或程序储存器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。FLASH编程和程序校验期间,P1接收低8位地址。P2口:P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序储存器或16位地址的外部数据储存器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据储存器(例如执行MOVX@RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。FLASH编程或校验时,P2亦接收高位地址和其他控制信号。P3口:P3是一个带内部上拉电阻的8位双向I/O口,P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。P3除了作为一般的I/O口线外,更重要的用途是它的第二功能,具体功能说明如表2-1。P3口还接收一些用于FLASH闪速存储器编程和程序校的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。端口引脚第二功能P3.0RXD(串行输出口)P3.1TXD(串行输入口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器0)P3.6WR(外部数据写选通)P3.7RD(外部数据读选通)表3-1P3口的第二功能表即使不访问外部存储器,ALE仍以是时钟振荡频率的1/6输出固定的正脉冲信号,因此他可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT80C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。EA/VPP:外部访问允许。欲使CPU仅访问外部程序储存器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需要注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(Vcc端),CPU则执行内部程序储存器中的指令。FLASH储存器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12v编程电压。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端

3硬件电路的设计对题目进行深入的分析和思考,可以将整个模块分为以下几个部分:控制部分,显示电路,按键电路,霍尔元件测速电路,电机驱动电路。系统的框图如图3.1所示。单片机电机驱动晶振电路电机驱动晶振电路复位电路复位电路显示电路显示电路按键电路按键电路测速电路测速电路图3.1系统框图3.1控制电路的设计控制电路主要由单片机来控制,编写一段程序使单片机发出的PWM脉冲来实现对驱动的控制。新一代的单片机增加了很多的功能,其中包括PWM功能。单片机通过初始化设置,使其能自动的发出PWM脉冲波,只有在改变占空比的时候CPU才干预。3.2霍尔元件测速部分电路的设计霍尔传感器是基于霍尔效应的一种磁敏式传感器。霍尔效应1897年首次被美国物理学家霍尔在金属材料中发现,但由于霍尔效应在金属材料中太微弱而没有得到人们的重视及较好的应用。直到20世纪50年代,随着半导体技术的发展,利用半导体材料做成的霍尔元件的霍尔效应比较显著,从而霍尔效应被人们所重视和充分利用,霍尔式传感器得到了快速的应用和发展。目前霍尔传感器已经广泛的应用于电磁、电流、水位、速度、振动等的测量领域。由于霍尔元件产生的电势差很小,故通常将霍尔元件与放大器电路、温度补偿电路及稳压电源电路等集成在一个芯片上,称之为霍尔传感器。霍尔传感器也称为霍尔集成电路,其外形较小,如图1所示,是其中一种型号的外形图。3.3电机控制正反转电路设计H桥部分控制电路设计知道通过调节直流电机的电压可以改变电机的转速,但是一般我们设计的电源大都是固定的电压,而且模拟可调电源不易于单片机控制,数字可调电源设计麻烦。所以这里用脉宽调制(PWM)来实现调速。方波的有效电压跟电压幅值和占空比有关,我们可以通过站空比实现改变有效电压。一般用软件模拟PWM可以有延时和定时两种方法,延时方法占用大量的CPU,所以这里采用定时方法。直流电机旋转方向

一般利用H桥电路来实现调速。H桥驱动电路:

图3.3.1中所示为一个典型的直流电机控制电路。电路得名于“H桥驱动电路”是因为它的形状酷似字母H。4个三极管组成H的4条垂直腿,而电机就是H中的横杠(注意:图3.3.1及随后的两个图都只是示意图,而不是完整的电路图,其中三极管的驱动电路没有画出来)。

如图所示,H桥式电机驱动电路包括4个三极管和一个电机。要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。图3.3.1H桥驱动电路

要使电机运转,必须使对角线上的一对三极管导通。例如,如图4.13所示,当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经Q4回到电源负极。按图中电流箭头所示,该流向的电流将驱动电机顺时针转动。当三极管Q1和Q4导通时,电流将从左至右流过电机,从而驱动电机按特定方向转动(电机周围的箭头指示为顺时针方向)。图3.3.2H桥电路驱动电机顺时针转动

图3.3.3所示为另一对三极管Q2和Q3导通的情况,电流将从右至左流过电机。当三极管Q2和Q3导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动(电机周围的箭头表示为逆时针方向)。

图3.3.3H桥驱动电机逆时针转动实际电路图如下图所示:图3.3.4H桥原理图3.4显示设计LED数码管是一种半导体发光器件,其基本单元是发光二极管,通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字。可以显示:时间、日期、距离等可以用数字代替的参数。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳极数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,通过由各自独立的I/O线控制,当单片机的P0口输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对P2.4-P2.7位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在本设计中采用了四位七段数码管,用动态驱动来显示距离的值,如图3.4所示。图3.4.1数码管结构图

4软件设计4.1主程序部分程序的完整流程图如图4.1所示:本程序的功能是通过对测量的转速,并用L293D器件来控制电机的转速,与电机转动的方向。然后用4位数码管显示出来当前的转速与转动方向。主程序程序设计如源程序代码。开始开始初始化初始化是否启动是否启动否是变速电机转动变速电机转动电机转动电机转动切换方向电机转动显示当前转速电机转动计算转速电机转动是否切换转是否加减速切换方向电机转动显示当前转速电机转动计算转速电机转动是否切换转是否加减速是否是否是否停止否是否停止是结束结束电机转动图4.1.1主程序流程图4.2数码管显示设计4.2.1设计要求数码管要显示当前各种状态,当前转速与当前转动方向。当电机转速发生改变的时候,数码管显示内容立即显示当前转速。4.2.2程序设计注意事项消除各个数码管之间的显示阴影部分;由于硬件没有锁存器,需要延长数码管的点亮时间,从而使数码管显示的更加清晰;合理运用程序空间,避免数码管显示不清晰;(4)动态扫描可以实现各个数码管的不同显示。4.2.3数码管显示程序设计 if(flat==0) P0=table[11]; //"C" else P0=table[12]; //"A" P2=0xfe; delayms(3); P2=0xfd; P0=table[shuju/100]; delayms(3); P2=0xfb; P0=table[shuju%100/10]; delayms(3); P2=0xf7; P0=table[shuju%10]; delayms(3); P2=0xff;//消隐部分4.3功能程序设计功能程序部分,主要实现各个按键的功能。主要功能如下:启动/停止键:用来控制电机的启动和停止按键;加速按键:用来控制电机的转速,可以增加电机的当前转速;减速按键:用来控制电机的转速,减缓电机的转速;正/反转按键:改变电机的转动方向。主要功能按键程序如下: if(K4==0) //启动停止 { delayms(5); if(K4==0) { while(!K4); num=!num; } } if(K1==0) //加速键 { delayms(5); if(K1==0) { while(!K1); if(num<3) num++; } } if(K2==0) //减速键 { delayms(5); if(K2==0) { while(!K2); if(num>0) num--; } } if(K3==0) //电机正反转按键 { delayms(5); if(K3==0) { while(!K3); flat++; if(flat==2) flat=0; } }

5直流测速系统仿真硬件电路完成以后,进行系统软件设计和仿真。首先要分析系统对软件的要求,然后进行软件的总体的设计,包括程序的总体设计和对程序的模块化设计。按整体功能分为多个不同的模块,单独设计、编程、调试,然后将各个模块装配联调,组成完整的软件。根据设计的要求,单片机的任务是:内部进行计数,在计算出速度后显示。软件编程用C语言完成的,需要能掌握C语言,还要熟练AT89C51单片机。从程序流程图、编写程序、编译,到最后的调试,是很复杂的。下面作简单介绍:系统软件主程序的功能是完成系统的初始化、显示程序。5.1直流测速系统仿真与以往的80C51单片机不同,AT89C51具有在线调试和下载功能,它由支持AT89C51的开发工具包KeiluVersion2.0开发系统来提供。也就是说,在用户系统保留AT89C51的情况下,通过开发系统与AT89C51的串行接口通信,直接对用户系统进行调试,并在调试完成后将调试好的程序下载到AT89C51中。KeiluVersion3.0开发系统提供四项功能:编译、下载、调试和模拟,分别由KeiluVersion2.0提供的编译器、在线串行下载器、调试器和模拟器来实现。KeiluVersion2.0编译器可在Windows操作系统下直接使用,编译C语言源程序,并生成16进制文件和列表文件。调试器采用Windows系统,允许用户使用AT89C51的UART串行接口在芯片上调试代码执行。在典型调试对话中,调试器提供对片内所有外围设备的访问、单步和设置断点的代码执行控制方式。模拟器采用Windows系统,能完全模拟AT89C51的所有功能。模拟器使用简单,结合了许多标准调试特征,包括多断点、单步以及代码执行跟踪等能力。同样伟福仿真器是国内较好的仿真器之一,它能够仿真的CPU品种多、功能强。通过更换仿真头POD,可以对不同的CPU进行仿真。可仿真51系列,196系列,PIC系列,飞利蒲公司的552、LPC764、DALLAS320,华邦438等51增强型CPU。由于伟福编译过程没有KeiluVersion2.0那么繁琐,能对程序进行直接编译,省去了建立和设置工程等步骤,使用方便、快捷。所以本设计以KeiluVersion2.0为基础,运用C语言来编译程序。当程序设计完以后,仿真部分运用Proteus仿真软件来实现,Proteus软件是一款强大的单片机仿真软件,它除了具有和其他工具一样的原理编辑、印制电路板(PCB)自动或人工布线及电路仿真外,最大的特色是其电路仿真是交互的、可视化的。对于单片机学习和开发帮助极大。ProteusISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和数字集成电路,包括单片机。通过Proteus可以绘制硬件原理图,并设置元件参数;为单片机及其程序以及外部接口电路的仿真提供可能,验证设计的可行性与合理性;还可以为连接实际的硬件电路做好准备;如有必要时,可以利用它来设计电路板。5.1.1单片机最小系统仿真最小系统的仿真实验如图5-1所示。图5-1最小系统的仿真图5.1.2数码管显示仿真数码管动态显示仿真模拟实验如图5-2所示。图5-2动态显示仿真图

6结束语通过本次课程设计,使我学到了许多书本上无法学到的知识,也使我深刻领会到单片机技术应用领域的广泛。不仅让我对我学过的单片机知识的巩固,同时也对单片机这门课产生了很大的兴趣,在课程设计的之中,体会良多,收获很大。主要有以下方面:巩固了书本上学习的知识,通过本次的课程设计,对书本上面的知识更加的了解,也对编写程序有了一定的认识。在本次的课程设计中,我进一步加强了自己的动手的能力和运用专业知识的能力,从中学到如何去思考和解决问题通过本次的课程设计,让我了解到单片机技术对当今人们生活的重要性。同时这次课程设计也让我明白不管做什么事都要脚踏实地,刻苦努力的去做。参考文献[1].何立明,单片机中级教程[M]北京:北京航天航空大学出版社2006.10[2]邹久朋,80C51单片机实用技术[M]北京航天航空大学出版社2008.04[3]刘湘涛,江世明单片机原理与应用[M]北京:电子工业出本社2007.04[4]李全利单片机原理及接口技术(第二版)高等教育出版社2009.01

附1源程序代码/****************************************************=========直流电机控制+速度显示==========****************************************************/#include<reg52.h> //头文件#defineucharunsignedchar //宏定义#defineuintunsignedint#defineCYCLE10 //定义PWM的周期T为10msucharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0Xff,0xc6,0x88};//0-9R共阳数码管段选数据/*************************************************** 端口定义***************************************************/sbitPWM1=P1^4; //PWM输出口1(电机正转)sbitPWM2=P1^5; //PWM输出口2(电机反转)sbitK1=P1^1; //加速sbitK2=P1^2; //减速sbitK3=P1^3; //正反转sbitK4=P1^0; //启动停止/***************************************************/ucharPWM_ON=0; //PWM高电平时间ucharcount=0; //中断计时ucharnum=0;ucharnum1=0; //中断时间计数uintnum2=0; //外部中断次数ucharflat=0; //正反转标示位ucharflag=0; //刷新数据标示位/*************************************************** 函数名称:延时子函数 函数功能:按键消抖***************************************************/voiddelayms(uintxms){ uinti,j; for(i=xms;i>0;i--) for(j=110;j>0;j--);}/*************************************************** 函数名称:按键子函数 函数功能:***************************************************/voidkey(){ if(K4==0) //启动停止 { delayms(5); if(K4==0) { while(!K4); num=!num; } } if(K1==0) //加速键 { delayms(5); if(K1==0) { while(!K1); if(num<3) num++; } } if(K2==0) //减速键 { delayms(5); if(K2==0) { while(!K2); if(num>0) num--; } } if(K3==0) //电机正反转按键 { delayms(5); if(K3==0) { while(!K3); flat++; if(flat==2) flat=0; } } switch(num) { case0:PWM_ON=0;break; //占空比为00% case1:PWM_ON=4;break; //占空比为40% case2:PWM_ON=7;break; //占空比为70% case3:PWM_ON=10;break; //占空比为100% default: break; }}/*******速度数据采集*****************************************/voidsudu(){ uintshuju; if(flag==1) { flag=0; shuju=num2*2; //电机一秒转的圈数 num2=0; } if(flat==0) P0=table[11]; //"C" else P0=table[12]; //"A" P2=0xfe; delayms(3); P2=0xfd; P0=table[shuju/100]; delayms(3); P2=0xfb; P0=table[shuju%100/10]; delayms(3); P2=0xf7; P0=table[shuju%10]; delayms(3); P2=0xff;}voidinit(){ PWM1=1; //初始化 PWM2=1; TMOD=0x11; //打开定时器 TH0=(65536-50000)/256; TL0=(65536-50000)%256; ET0=1; TR0=1; EX0=1; IT0=1; TH1=(65536-1000)/256; TL1=(65536-1000)%256; EA=1; ET1=1; TR1=1;}/************************************************** 函数名称:主函数 函数功能:**************************************************/voidmain(){init(); while(1) { key(); sudu(); }}/************************************************** 函数名称:定时器/计数器0中断子函数 函数功能:**************************************************/voidT1_time()interrupt3{ TH1=(65536-1000)/256; TL1=(65536-1000)%256; count++; if(count>CYCLE) count=0; if(count<PWM_ON) //如果计时时间在不大于高电平时时间,电机转 { if(flat==0) { PWM1=0; PWM2=1; } if(flat==1) { PWM1=1; PWM2=0; } } else //如果计时时间大于高电平时时间,电机停 { PWM1=1; PWM2=1; }}voidT0_time()interrupt1 //定时器0{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; num1++; if(num1==10) //每0.5s刷新一次数据 { num1=0; flag=1; } }voidtimer()interrupt0 //外部中断1{ num2++;}

附2原理图基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究HYPERLINK"/detail.htm?367

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论