直流电机调速与系统控制详解_第1页
直流电机调速与系统控制详解_第2页
直流电机调速与系统控制详解_第3页
直流电机调速与系统控制详解_第4页
直流电机调速与系统控制详解_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、电子工艺课程设计报告姓名卢星星班级T983-6学号20090830616指导老师王思山标题 直流电机调速与控制系统设计.课程设计课题总体分析1.1 直流电机调速原理图1.1所示电枢电压为Ua,电枢电流为Ia ,电枢回路总电阻为Ra,电机常数Ca, 励磁磁通量是。根据KVL方程:电机转速n=(Ua-IaRa)/Ca。,其中,对于极对数p,匝数为N, 电枢支路数为a的电机来说:电机常数Ca=pN/60a,意味着电机确定后,该值是 不变的。而在Ua-IaRa中,由于Ra仅为绕组电阻,导致IaRa非常小,所以Ua-IaRa 约等于Ua由此可见我们改变电枢电压时,转速 n即可随之改变。图1.1直流电机原

2、理图1.2 系统硬件组成原理调速系统硬件原理框图1.2图直流电机调速系统硬件原理框图如图 1.2所示,以89C51单片机为控制核心,包 括测速电路、电源电路、数模转换电机驱动电路、显示电路、键盘控制电路。1.3 直流电动机转速控制系统的工作原理直流电动机的转速与施加于电动机两端的电压大小有关。本系统用DAC0832空制输出到直流电动机的电压的方法来控制电动机的转速。当电动机转速小于设定值时,DAC08325片的输出电压增大,当大于设定值时则 DAC08325片输出电压减 小,从而使电动机以设定的速度恒速旋转。我们采用比例调节器算法。控制规律:Y=KPe(t)+KI式中:Y-比例调节器输出,KP

3、-比例系数,ki-积分系数e(t)-调节器的输入,一般为偏差值。系统采用了比例积分调节器,简称 PI调节器,使系统在扰动的作用下,通过 PI 调节器的调节器作用使电动机的转速达到静态无差,从而实现了静态无差。无静 差调速系统中,比例积分调节器的比例部分使动态响应比较快(无滞后) ,积分 部分使系统消除静差。1.4 转速测量电路原理转速是工程上一个常用的参数,旋转体的转速常以每分钟的转数来表示。其单位为r/min。转速的测量方法很多,由于转速是以单位时间内的转数来衡量的,因 此采用霍尔元器件测量转速是较为常用的一种测量方法。霍尔器件是有半导体材料制成的一种薄片,器件的长、宽、高分别为1、b、d。

4、若在垂直于薄片平面(沿厚度 d)方向施加外加磁场B,在沿1方向的两个端面 加以外电场,则有一定的电流经过。由于电子在磁场中运动,所以将受到一个洛 仑磁力,其大小为:fl =qVB式中:fl 洛仑磁力,q载流子电荷,V载流子运动速度,B 磁感 应强度。.这样使电子的运动轨迹发生偏移,在霍尔元器件薄片的两个侧面分别产生电U称为霍形成霍尔电场,子积聚或电荷过剩,霍尔元器件两个侧面间的电位差h尔电压。URxi霍尔电压大小为:x =B/d(mV)hhR-霍尔常数,d-兀件厚度,B-磁感应强度,式中:I-控制电流HUKKR 乂1=设=x/d,则 B (mV)hhhhK为霍尔器件的灵敏系数(mV/mA/T)

5、,它表示该霍尔元件在单位磁感应h强度和单位控制电流下输出霍尔电动势的大小。应注意,当电磁感应强度B反向时,霍尔电动势也反向。若控制电流保持不变,则霍尔感应电压将随外界磁场强度而 变化,根据这一原理,可以将一块永久磁钢固定在电动机的转轴上转盘的边沿,转盘随被测轴旋转,磁钢也将跟着同步旋转,在转盘附近安装一个霍尔元件,转 盘随轴旋转时,霍尔元件受到磁钢所产生的磁场影响, 故输出脉冲信号,其频率 和转速成正比,测出脉冲的周期或频率即可计算出转速。二系统设计2.1 硬件设计通过自制5V电源来确保工作电压正常,由霍尔元件及外围器件组成的测速电路将电动机转速转换成脉冲信号,送至单片机的计数器T1,由T1测

6、出电动机的实际转速,并与设定值比较形成偏差。根据比较结果,使DAC0832俞出控制电压增 大或减小。功放电路将DAC0832俞出的模拟电压转换成具有一定输出功率的电动 机控制电压。2.1.2 电机测速及驱动部分测速在这里选用美国史普拉格公司(SPRAGU曲产的3000系列霍尔开关传感器 3013,它是一种硅单片集成电路,器件的内部含有稳压电路、霍尔电势发生器、 放大器、史密特触发器和集电极开路输出电路,具有工作电压范围宽、可靠性高、 外电路简单、输出电平可与各种数字电路兼容等特点。LM324它价格便宜,带有真差动输入的四运算放大器。因为DAC0832俞出的为电流,所以需要接一个运放,将信号转化

7、为电压输出。电路如图2.1.2所示。直流电机驱动电路图2.1.2电机测速及驱动部分2.1.3 数模转换DAC0832是采用CMOS工艺制成的单片电流输出型8位D/A转换器,其内部 结构如图图2.1.3a所示:芯片内有两级输入寄存器,使DAC0832具备双缓冲、 单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输 入、同步转换等)。D/A转换结果采用电流形式输出。要是需要相应的模拟信号, 可通过一个高输入阻抗的线性运算放大器实现这个供功能。运放的反馈电阻可通 过RFB端引用片内固有电阻,还可以外接。电路或微机电路相接。TTL可直接与电压电平范围,TTL该片逻辑输入满 足.图

8、2.1.3a DAC0832内部结构图Vcc:芯片电源电压,为:+5V+15V;VREF参考电压,为:-10V+10V ; RFB反馈电阻引出端,此端可接运算放大 器输出端;AGND模拟信号地;DGND数字信号地;DI7 DI0:数字量输入信号,其中:DI0为最低位,DI7为最高位;ILE :输入锁 存允许信号,高电平有效;CS:片选信号,低电平有效;WR1写信号1,低电平有效;当ILE、CS WR伺时有效时,LE=1,输入寄存器 的输出随输入而变化;WR1E上升沿时,LE=0,将输入数据锁存到输入寄存器; XFER转移控制信号,低电平有效;WR2写信号2,低电平有效;当 XFER WR洞时有

9、效时,LE2=1 , DACJ存器输 出随输入而变化; WR1在上升沿时,LE=0,将输入数据锁存到DACJ存器,数据进入D/A转换器,开始D/A转换;IOUT1:模拟电流输出端1,当输入数字为:全" 1"时,输出电流最大,约RV 全“ 0”时,输出电流为0; IOUT2为:255/256:模拟电流输出端2 , fbreFOUTI + I OUT2 =数模转换如图2.5.3b所示。其中DAC0832的DI0 DI7 8个数字量输入端所以得到接89C51单片机的P0.0P0.7 端。由于DAC0832采用了直通的方式, 可以直接往其数据端口加上数值,就能从 DAC0832后面

10、的运放的输出端 所需的模拟电压。由于其输出电压可根据公式:P0端计算得来,因而在需要输出某个电压值时,按该式求出对应的数值,通过DVV2 X/= inoutREF图213b数模转换2.1.4 8421BCD编码键盘一手动控制转速部分采用8421编码的键盘,“0”表示“0000”,“1”表示“0001”,“1001”。如图2.1.4所示“9”表示MCS 51图2.1.4 8421BCD 编码键盘2.1.5显示部分采用74LS164串入并出的移位寄存器给出用行口扩展的3位L ED显示接口电路,如图2.1.5所示64H 9 0田Q。由MU 9Hg Q U 由,-4L5J74LS0814U?74LSH

11、 0 k 0 R M <y<yoa(y<y<yo/cc工I31.3SUs In j |o g 储p-H i-HT" LEDLEDLEDu i"液晶显示模块图2.1.5显示部分2.1.6系统心脏AT89C51单片机提干单片总的京藐电收网逑拄鸯这麻蜃国VCC供电电压。GND接地。位漏级开口为一个8 口: P0 P0门8TTL口,每脚可吸收路双向I/O 时,1当P1 口的管脚第一次写电流。能够用于外 P0被定义为高阻输入。它可以 被定义为部程序数据存储器,编程 FIASH数据/地址的第八位。在FIASH当时, P0 口作为原码输入口, P0输出原码,此时进

12、行校验时,P0外部必须被拉高。 口是一个内部提供上 P1P1 口: 口缓P1I/O 口,拉电阻的8位双向口 P14TTL门电 流。冲器能接收输出可被内部上拉为高,1后,管脚写入口被外部下拉为低电 P1 用作输入,这是由于内部上将输出电流,平时, FLASH拉的缘故。在 口作为第八位地址接收。编程和校验时, P1 口缓冲器可接收, 口,P2 口为一个内部上拉电阻的8位双向I/OP2 口: P2'时,其管脚被内部上 拉电阻拉高,且作口被写“1个TTL门电流,当P2输出4 口的管脚被外部拉低, 将输出电流。这是由于为输入。并因此作为输入时,P2位地址外部数据存储器进行口当用于外部程序存储器或

13、16内部上拉的缘故。P2'时,它利用内部上拉 优势,口输出地址的高八位。在给出地址“ 1存取时,P2 口输出其特殊功能寄存 器的内容。P2当对外部八位地址数据存储器进行读写时,编程和校验时接收高八位地址信号和控制信号。P2 口在FLASHt 4I/O 口,可接收输出个带内部上拉 电阻的双向口: P3 口管脚是8 P3”后,它们被内部上拉为高电平,并用作输入。作1P3 口写入“TTL门电流。当)这是由于上拉的缘故。ILL由于外部下拉为低 电平,P3 口将输出电流(为输入,AT89C51的一些特殊功能口,如下表所示:P3 口也可作为口管脚备选功能P3.0 RXD (串行输入口)P3.1 T

14、XD (用行输出口)P3.2 /INTO (外部中断0) P3.3 /INT1 (外部中断1) P3.4 T0 (记时器0 外部输入)P3.5 T1 (记时器1外部输入)P3.6 /WR (外部数据存储器写选 通)P3.7 /RD (外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号RST复位输入。当振荡器复位器件时,要保持 RST脚两个机器周期的高电平时 IALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位 字节。在FLASHg程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作

15、对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳 过一个ALE脉冲。如想禁止ALE的输出可在SFR8EK址上置0。此时,ALE只 有在执行MOVX MOV蜡令是ALE才起作用。另外,该引脚被略微拉高。如果微 处理器在外部执行状态ALE禁止,置位无效。/PSEN外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器 周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的 /PSEN信号将 不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH, 不管是否有内部程序存储器。注意加密方式 1时,/EA将内部锁定为R

16、ESET当 /EA端保持高电平时,此间内部程序存储器。在 FLASHS程期间,此引脚也用于 施加12V编程电源(VPP。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器 可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动 器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此 对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除:整个PERO阱列和三个锁定位的电擦除可通过正确的控制信号组合, 并保持ALE管脚处于低

17、电平10ms来完成。在芯片擦操作中,代码阵列全被写“1” 且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C5破有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种 软件可选的掉电模式。在闲置模式下,CPU亭止工作。但RAM定时器,计数器, 串口和中断系统仍在工作。在掉电模式下,保存RAM勺内容并且冻结振荡器,禁 止所用其他芯片功能,直到下一个硬件复位为止。串口通讯:单片机的结构和特殊寄存器,这是你编写软件的关键。至于串口通信 需要用到那些特殊功能寄存器呢,它们是 SCON TCON TMOD SCOW,各代表 什么含义呢?SBUF数据缓冲寄存器这是一个可以直接寻址的用行

18、口专用寄存器。有朋友这样 问起过“为何在用行口收发中,都只是使用到同一个寄存器SBUF而不是收发各用一个寄存器。”实际上SBUF包含了两个独立的寄存器,一个是发送寄存, 另一个是接收寄存器,但它们都共同使用同一个寻址地址-99A CPU在读时会 指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓SBUF冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。发送器则不需要用到双缓冲,一般情况下 我们在写发送程序时也不必用到发送中断去外理发送数据。操作SBUFW存器的方法则很简单,只要把这个99H地址用关键字sfr定义为一个变量就可以对其

19、 进行读写操作了,如sfr SBUF = 0x99;当然你也可以用其它的名称。通常在标 准的reg51.h或at89x51.h 等头文件中已对其做了定义,只要用#include 引用 就可以了。SCON用行口控制寄存器通常在芯片或设备中为了监视或控制接口状态,都会引 用到接口控制寄存器。SCONB是51芯片的用行口控制寄存器。它的寻址地址 是98H,是一个可以位寻址的寄存器,作用就是监视和控制51芯片用行口的工作状态。51芯片的用口可以工作在几个不同的工作模式下,其工作模式的设置 就是使用SCONJ存器。它的各个位的具体定义如下:SM0 SM1 SM2 REN TB8 RB8 TI RISM0

20、 SM1为用行口工作模式设置位,这样两位可以对应进行四种模式的设置。 用行口工作模式设置。SM0SM1功能波特率000同步移位寄存器fosc/12011UART8 位口艾1029 位 UARTfosc/32 或 fosc/641139 位 UART口艾在这里只说明最常用的模式1,其它的模式也就一一略过,有兴趣的朋友可以找 相关的硬件资料查看。表中的fosc代表振荡器的频率,也就是晶振的频率。UART 为(Universal Asynchronous Receiver ) 的英文缩写。SM2在模式2、模式3中为多处理机通信使能位。在模式 0中要求该位为00 REM为允许接收位,REM置1时串口允

21、许接收,置0时禁止接收。REM是由软 件置位或清零。如果在一个电路中接收和发送引脚 P3.0,P3.1都和上位机相连, 在软件上有用口中断处理程序,当要求在处理某个子程序时不允许串口被上位机 来的控制字符产生中断,那么可以在这个子程序的开始处加入REM=C*禁止接收,在子程序结束处加入 REM=1再次打开用口接收。大家也可以用上面的实际源码加入REM=CFfe进行实验。TB8 发送数据位8,在模式2 和 3 是要发送的第9 位。该位可以用软件根据需要置位或清除,通常这位在通信协议中做奇偶位,在多处理机通信中这一位则用于表示是地址帧还是数据帧。RB8 接收数据位8, 在模式 2 和 3 是已接收

22、数据的第9 位。 该位可能是奇偶位,地址/数据标识位。在模式0中,RB8为保留位没有被使用。在模式1中,当SM2=0 RB8是已接收数据的停止位。TI 发送中断标识位。在模式0,发送完第8 位数据时,由硬件置位。其它模式中则是在发送停止位之初,由硬件置位。TI置位后,申请中断,CPU响应中断后,发送下一帧数据。在任何模式下,TI 都必须由软件来清除,也就是说在数据写入到SBUF后,硬件发送数据,中断响应(如中断打开),这时TI=1 ,表明发送已完成,TI 不会由硬件清除,所以这时必须用软件对其清零。RI 接收中断标识位。在模式0,接收第8 位结束时,由硬件置位。其它模式中则是在接收停止位的半中

23、间,由硬件置位。 RI=1,申请中断,要求CPU取走数 据。但在模式1中,SM2=1时,当未收到有效的彳¥止位,则不会对 RI置位。同样 RI 也必须要靠软件清除。常用的串口模式1 是传输 10 个位的, 1 位起始位为 0,8 位数据位,低位在先,1 位停止位为1。它的波特率是可变的,其速率是取决于定时器1 或定时器2 的定时值(溢出速率)。 AT89C51 和 AT89C2051 等51 系列芯片只有两个定时器,定时器0 和定时器1,而定时器2是 89C52 系列芯片才有的。波特率在使用串口做通讯时,一个很重要的参数就是波特率,只有上下位机的波特率一样时才可以进行正常通讯。波特率

24、是指串行端口每秒内可以传输的波特位数。有一些初学的朋友认为波特率是指每秒传输的字节数,如标准9600 会被误认为每秒种可以传送9600 个字节,而实际上它是指每秒可以传送9600 个二进位,而一个字节要8 个二进位,如用串口模式1 来传输那么加上起始位和停止位,每个数据字节就要占用10 个二进位,9600 波特率用模式1 传输时,每秒传输的字节数是9600+ 10= 960字节。51芯片的串口工作模式0的波特率是固定的,为fosc/12 ,以一个12M 的晶振来计算,那么它的波特率可以达到1M。模式 2 的波特率是固定在fosc/64 或 fosc/32 ,具体用那一种就取决于PCON寄存器中

25、的SMO应,如SMOM 0,波特率为focs/64,SMOD为1,波特率为focs/32 。 模式 1 和模式 3 的波特率是可变的,取决于定时器1 或 2( 52 芯片)的溢出速率。那么我们怎么去计算这两个模式的波特率设置时相关的寄存器的值呢?可以用以下的公式去计算。波特率=(2SMOD32) X定时器1溢出速率上式中如设置了 PCONJ存器中的SMOg为1时就可以把波特率提升2倍。通常会使用定时器1 工作在定时器工作模式2 下,这时定时值中的TL1 做的值会 TH1 ,这个定时模式下,定时器溢出后,做为自动重装值TH1 为计数,自动装载到TL1,再次开始计数,这样可以不用软件去干预,使得定

26、时更准确。在这个定时模式2 下定时器1 溢出速率的计算公式如下:溢出速率=(计数速率)/(256 TH1)上式中的“计数速率”与所使用的晶体振荡器频率有关,在 51 芯片中定时器启动后会在每一个机器周期使定时寄存器TH 的值增加一,一个机器周期等于十二个振荡周期,所以可以得知51 芯片的计数速率为晶体振荡器频率的1/12 , 一个12M的晶振用在51芯片上,那么51的计数速率就为1M通常用11.0592M 晶体是为了得到标准的无误差的波特率, 那么为何呢?计算一下就知道了。如我 们要得到9600的波特率,晶振为11.0592M和12M定时器1为模式2, SMODS 为1,分别看看那所要求的TH

27、1为何值。代入公式:11.0592M9600 = (2 + 32) X (11.0592M/12)/(256-TH1) TH1 =25012M9600 = (2+32)义(12M/12)/(256-TH1) TH1 =249.49上面的计算可以看出使用12M晶体的时候计算出来的TH1不为整数,而TH1 的值只能取整数,这样它就会有一定的误差存在不能产生精确的9600波特率。当然一定的误差是可以在使用中被接受的,就算使用11.0592M的晶体振荡器也会因晶体本身所存在的误差使波特率产生误差,但晶体本身的误差对波特率的影 响是十分之小的,可以忽略不计。a2.2 软件设计1、编程思路:控制系统程序的

28、功能是用 89C51单片机的T0、T1测出电动芯片的输出控DAC0832fg根据比较结果,并与给定值进行比较。机的实际转速,制电压增大或减小。30H单元存放实际转速与设定值是否相等的标志。“1”表示 相等,“0”表示不相等。40H单元存放送入DAC0832E5片的数字才S制电压。7FFFH 为DAC083地址。2、系统流程图如图2.2所示:主程序中断既能程序喙豆TO初值(50H) 一。4阳)-7FH联T1情,/处孰际转述C7FFFH1 740H)(4 帕) 0H)-9TO为方式1, TO定时' 】Q &JTLET1为外部计敕方发速之定(4 0H) *- (4 0H1 4 1(3

29、0H) 7拓讲TQ中®i启斯TO. T1一十C30H1 =1 ?T1-0工延时C7FFFH) (40H)图2.2直流电动机转速控制系统流程图2.3 PWM初始化、占空比设置、频率计算rrvoid pim) 11. (voiai 卜一CHuD-iizBi.- /iioaii lcio p jl工作慢匕定存羁事,附钟/ia讣数明患出中XAPCn -ICCAPL - EX: ;"FG比我百存磊椁立 127 百低卤CGLPB0叩cS才火力口 口口1露允许比较裙 > 无仰脉宽调制输出/rnion rnoo fca控剌寄存居 cf-i盲动p:jl引城哥用列4数C7AFH1 - 口

30、诳二;。16位情朕桎式,二片沿触打F抻莪中雷匚匚FL CE*P 1L, - YDC : CCAFiH - 口工QJ ZA = If X丽 n T。:*功 能士设置P510的占空比void! SetPxmiO (unsigned int j0 J/占空比设置诵数CCAPDLv"CCAPOE-x;/设置比较值十功能:捕获中断话数土方区市古於雷云青雷击青吉雷 帝前左方才去上才击去肃生 才雷不#方才中青才肃左畲上才才古青才雷龙区弥才立青土米雷击卡於雷雷*t去W /畲力前 卡雷左右土卡1/ raid PCA_Interrupt- (void) interrupt 7i£ (CCF1)

31、FCA模块1中断标志(CCF1 = 0;if (shang - 0) /上升沿中1断 <shang CCAP1H; /获得捕捉数据的高口化高3粒R 3+低白位沟成16位整数shang - (shang « 8) + CCAP1L;CCAPltl = Oxll;/下降沿捕扶)e£e”下降沿中断(CCF1 = 0; 清CCF中断林志xia = CCAP1H;获得捕捉数据的高号位“高B位1日+低呼位构成16位整数xia = (xia « 曰+ CCAP1L;gao = xia - shang; /高电平期间计数次数 huansti = (lonu> 4562

32、20/ 日后口: / 得到周期颗型 CC1PM1 = ClxiLCi: 停止捕获中断eCFI产生 3hancr=i:; 为下一次捕捉设定初始条件 CCAP1L = UxCIQ; 清零CCAP1H = 0x010;cl = oxoo;清pen计数器CH - 0x00;CCAPM1 = 0x21;Catch_over = 力分摘获完成标志位if (CF = 1)"PS濡出中断CF = ;清PCJI溢出中断标志CCAPM1 = 0x21;shang-D; /为下一次捕捉设定初始条件CCAP1L = 口配口口;清零CCAP1H = 0x00;(3)调速#include <STC12CS

33、A60S2,H> include <main.h>extern int xdata l_speed;-extern unsigned, int xdata pwm;void pid (unslgrTLed int she speed f unsigned int shi speed)Int sdl=n, sd2=0, out;int xp-1xi«8yxd-O;sdl»shi_speed-she_speed;/计算:积分偏差sd2=sdl-l_3peed;计算比,例偏爱l_speed=sdl;,/更新ut-pwm+3(il/xi+sd2*Xp;/计算P控制

34、值if(3dl=0) output;计算不灵敏区的运算补偿e1零e if(3dl<4i£3dl>-4) if(sdl>0)(aut=out+l;LEri=l; ) /LEDR 为观察标志 else "ut=out-l; LED=O; / LED亮)else if(sdl<16|adl>-16>if(3dl>0)(ut=cur+2;else(ut=cuc-2;relse(if(3til>0)0ut=out+-4; else0Ut=OUtT; !pum=out;更新 out(4)通信模块的设计void send(unsigned

35、int n) 发送/SBUF=n;while(!TI);TI=0;void Receive。接收速度设定值if(RI=1)/接收二位十六进制数并进入PID调速speed_t=SBUF;RI=0;(5)中断服务模块PCA 测速void PCA_interrupt (void) interrupt 7TR0=0;/关定时器T0if(CCF1=1)/PCA 模靠块 1 中断CCF1=0;/清PCA 模块 1 中断标志catch_speed+=1;catch=256*CCAP1H+CCAP1L;catch=catch/1000.0;speed=1000*0.9216/catch;CH=CL=0x00;

36、catch=0;TR0=1;/开定时器T0(6)键盘修改转速void key_xiugai(void)if(KEY3=0) while(!KEY3) /消除抖动 ;switch(k2)case 1: gewei+;if(gewei>9) gewei=0; break;case 2: shiwei+;if(shiwei>9) shiwei=0; break;case 3:shiwei+;if(baiwei>9) baiwei=0; break; default:break; if(KEY4=0) while(!KEY4) /防止掉显 ;switch(k2)case 1: gew

温馨提示

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

评论

0/150

提交评论