计算机控制技术课程设计说明书--基于AT89S52单片机的直流电机PWM控制系统设计

上传人:e****s 文档编号:194936308 上传时间:2023-03-14 格式:DOC 页数:28 大小:113KB
收藏 版权申诉 举报 下载
计算机控制技术课程设计说明书--基于AT89S52单片机的直流电机PWM控制系统设计_第1页
第1页 / 共28页
计算机控制技术课程设计说明书--基于AT89S52单片机的直流电机PWM控制系统设计_第2页
第2页 / 共28页
计算机控制技术课程设计说明书--基于AT89S52单片机的直流电机PWM控制系统设计_第3页
第3页 / 共28页
资源描述:

《计算机控制技术课程设计说明书--基于AT89S52单片机的直流电机PWM控制系统设计》由会员分享,可在线阅读,更多相关《计算机控制技术课程设计说明书--基于AT89S52单片机的直流电机PWM控制系统设计(28页珍藏版)》请在装配图网上搜索。

1、计算机控制技术课程设计说明书-基于AT89S52单片机的直流电机PWM控制系统设计 目 录1 引言12 系统论述221 设计背景222 设计思路223 系统框架设计23 PWM脉宽调制定理431 PWM调速原理432 PWM调速方法433 PWM实现方法44 系统硬件设计441 系统基本组成4com 硬件模块组成4com 单片机整个控制模块442 AT89S52单片机简介4com AT89S52主要性能4com AT89S52主要功能例举4com AT89S52各引脚功能介绍4com AT89S52的内部资源443 L298电机驱动模块4com L298电机驱动简介4com L298内部原理图

2、4com L298引脚符号及功能4com L298逻辑功能444 LED数码管显示4com LED简介4com LED七段数码管的结构4com 常见数字和字符的字段码4com LED数码管与单片机的连接4com 简单的程序流程4com 本系统中单片机与LED的连接445 独立式键盘控制模块4com 键盘的功能及分类4com 独立式键盘4com 独立式键盘与单片机的连接45 系统软件设计4结论5致谢6参考文献7附录8附录18附录281 引言早期直流传动的控制系统采用模拟分离器件构成由于模拟器件有其固有的缺点如存在温漂零漂电压构成系统的器件较多使得模拟直流传动系统的控制精度及可靠性较低随着计算机控

3、制技术的发展微处理器已经广泛使用于直流传动系统实现了全数字化控制由于微处理器以数字信号工作控制手段灵活方便抗干扰能力强所以全数字直流调速控制精度可靠性和稳定性比模拟直流调速系统大大提高所以直流传动控制采用微处理器实现全数字化使直流调速系统进入一个崭新的阶段微处理器诞生于上个世纪七十年代随着集成电路大规模及超大规模集成电路制造工艺的迅速发展微处理器的性价比越来越高此外由于电力电子技术的发展制作工艺的提升使得大功率电子器件的性能迅速提高为微处理器普遍用于控制电机提供了可能利用微处理器控制电机完成各种新颖的高性能的控制策略使电机的各种潜在能力得到充分的发挥使电机的性能更符合工业生产使用要求还促进了电

4、机生产商研发出各种如步进电机无刷直流电机开关磁阻电动机等便于控制且实用的新型电机使电机的发展出现了新的变化对于简单的微处理器控制电机只需利用用微处理器控制继电器电子开关元器件使电路开通或关断就可实现对电机的控制现在带微处理器的可编程控制器已经在各种的机床设备和各种的生产流水线中普遍得到应用通过对可编程控制器进行编程就可以实现对电机的规律化控制对于复杂的微处理器控制电机则要利用微处理器控制电机的电压电流转矩转速转角等使电机按给定的指令准确工作通过微处理器控制可使电机的性能有很大的提高目前相比直流电机和交流电机他们各有所长如直流电机调速性能好但带有机械换向器有机械磨损及换向火花等问题交流电机不论是

5、异步电机还是同步电机结构都比直流电机简单工作也比直流电机可靠但在频率恒定的电网上运行时它们的速度不能方便而经济地调节2高性能的微处理器如DSP DIGITAL SIGNAL PROCESSOR即数字信号处理器 的出现为采用新的控制理论和控制策略提供了良好的物质基础使电机传动的自动化程度大为提高在先进的数控机床等数控位置伺服系统已经采用了如DSP等的高速微处理器其执行速度可达数百万兆以上每秒且具有适合的矩阵运算2 系统论述21设计背景近年来随着科技的进步电力电子技术得到了迅速的发展直流电机得到了越来越广泛的应用直流它具有优良的调速特性调速平滑方便调速范围广过载能力大能承受频繁的冲击负载可实现频繁

6、的无级快速起动制动和反转需要能满足生产过程自动化系统各种不同的特殊运行要求从而对直流电机的调速提出了较高的要求改变电枢回路电阻调速改变电枢电压调速等技术已远远不能满足要求这时通过PWM方式控制直流电机调速的方法应运而生22 设计思路直流电机PWM控制系统的主要功能包括主体电路即AT89S52单片机的IO端口定时计数器外部中断扩展等控制直流电机的加速AT89S52单片机产生脉宽可调的脉冲信号并输入到L298驱动芯片来控制直流电机工作的该系统由以下电路模块组成这一模块主要是利用来实现控制AT89S52单片机的外部中断扩展电路组成直流电机PWM控制实现部分主要由一些二极管电机和L298直流电机驱动模

7、块组成设计显示部分直流电机PWM调速系统AT89S52单片机为控制核心由命令输入模块模块键盘PWM可以应用在许多方面比如电机调PWM脉冲宽度调制是通过控制固定电压的直流电源开关频率改变负速温度控制压力控制等等7在PWM驱动控制的调整系统中按一个固定的频率来接通和断开电源并且根据需要改变一个周期内接通和断开时间的长短通过改变直流电机电枢上电压的占空比来达到改变平均电压大小的目的从而来控制电动机的转速也正因为如此PWM又被称为开关驱动装置如图1所示图1 PWM信号的占空比设电机始终接通电源时电机转速最大为V设占空比为D t1 T则电机的平均速度为Va V D其中Va指的是电机的平均速度V 是指电机

8、在全通电时的最大速度D t1 T是指占空比由上面的公式可见当我们改变占空比D t1T时就可以得到不同的电机平均速度Vd从而达到调速的目的严格来说平均速度Vd与占空比D并非严格的线性关系但是在一般的应用中我们可以将其近似的看成是线性关系3 2 PWM调速方法基于单片机类由软件来实现PWM在PWM调速系统中占空比D是一个重要参数在电源电压不变的情况下电枢端电压的平均值取决于占空比D的大小改变D的值可以改变电枢端电压的平均值从而达到调速的目的改变占空比D的值有三种方法A定宽调频法保持不变只改变t这样使周期 或频率 也随之改变B调宽调频法保持t不变只改变这样使周期 或频率 也随之改变C定频调宽法保持周

9、期T 或频率 不变同时改变和t 前两种方法在调速时改变了控制脉冲的周期 或频率 当控制脉冲的频率与系统的固有频率接近时将会引起振荡因此常采用定频调宽法来改变占空比从而改变直流电动机电枢两端电压利用单片机的定时计数器外加软件延时等方式来实现脉宽的自由调整此种方式可简化硬件电路操作性强等优点33 PWM实现方式方案一采用定时器做为脉宽控制的定时方式这一方式产生的脉冲宽度极其精确误差只在几个us方案二采用软件延时方式这一方式在精度上不及方案一特别是在引入中断后将有一定的误差故采用方案一 4系统硬件设计41系统基本组成com 硬件模块组成1单片机控制模块2L298电机驱动模块3LED显示模块4独立键盘

10、控制模块33系统硬件各模块电路com 单片机整个控制模块单片机整个控制模块 这里利用定时计数器让单片机P2口的P26P27引脚输出占空比不同的方波然后经驱动芯片L298放大后控制直流电机驱动芯片的输入电压是两引脚的电压差在调速时一根引脚线为低电平另一个引脚产生调速方波这样两个引脚的电压差就可通过控制其中一个引脚来控制当需要改变电机转动方向时两个引脚的输出相反 定时计数器若干时间1us中断一次com个高电平或低电平直流电机的速度分成100个等级因此一个周期就有100个脉冲周期为一百个脉冲的时间速度等级对应一个周期的高电平脉冲的个数占空比为高电平脉冲个数占一个周期总脉冲个数的百分数一个周期加在电机

11、两端的电压为脉冲高电压乘以占空比占空比越大加在电机两端的电压越大电机转动越快电机的平均速度等于在一定的占空比下电机的最大速度乘以占空比当我们改变占空比时就可以得到不同的电机平均速度从而达到调速的目的精确的讲平均速度与占空比并不是严格的线性关系在一般的应用中可以将其近似看成线性关系42 AT89S52的简介421 AT89S52主要性能AT89S52是一种低功耗高性能CMOS8位微控制器具有8K 在系统可编程Flash 存储器使用Atmel 公司高密度非易失性存储器技术制造与工业80C51 产品指令和引脚完全兼容片上Flash允许程序存储器在系统可编程亦适于常规编程器在单芯片上拥有灵巧的8 位C

12、PU 和在系统可编程Flash使得AT89S52为众多嵌入式控制应用系统提供高灵活超有效的解决方案与MCS-51单片机产品兼容8K字节在系统可编程Flash存储器1000次擦写周期全静态操作0Hz33Hz三级加密程序存储器32个可编程IO口线三个16位定时器计数器八个中断源全双工UART串行通道低功耗空闲和掉电模式掉电后中断可唤醒看门狗定时器双数据指针掉电标识符422 AT89S52主要功能列举1拥有灵巧的8位CPU和在系统可编程Flash2晶片内部具时钟振荡器传统最高工作频率可至 12MHz3内部程序存储器ROM为 8KB4内部数据存储器RAM为 256字节532 个可编程IO 口线68 个

13、中断向量源7三个 16 位定时器计数器8三级加密程序存储器9全双工UART串行通道423 AT89S52各引脚功能介绍VCCAT89S52电源正端输入接5VVSS电源地端XTAL1单芯片系统时钟的反相放大器输入端XTAL2系统时钟的反相放大器输出端一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了此外可以在两引脚与地之间加入一 20PF 的小电容可以使系统更稳定避免噪声干扰而死机RESETAT89S52的重置引脚高电平动作当要对晶片重置时只要对此引脚电平提升至高电平并保持两个机器周期以上的时间AT89S51便能完成系统重置的各项动作使得内部特殊功能寄存器之内

14、容均被设成已知状态并且至地址0000H处开始读入程序代码而执行程序EAVppEA为英文External Access的缩写表示存取外部程序代码之意低电平动作也就是说当此引脚接低电平后系统会取用外部的程序代码存于外部EPROM中来执行程序因此在8031及8032中EA引脚必须接低电平因为其内部无程序存储器空间如果是使用 8751 内部程序空间时此引脚要接成高电平此外在将程序代码烧录至8751内部EPROM时可以利用此引脚来输入21V的烧录高压VppALEPROGALE是英文Address Latch Enable的缩写表示地址锁存器启用信号AT89S52可以利用这支引脚来触发外部的8位锁存器如7

15、4LS373将端口0的地址总线A0A7锁进锁存器中因为AT89S52是以多工的方式送出地址及数据平时在程序执行时ALE引脚的输出频率约是系统工作频率的16因此可以用来驱动其他周边晶片的时基输入此外在烧录8751程序代码时此引脚会被当成程序规划的特殊功能来使用PSEN此为Program Store Enable的缩写其意为程序储存启用当8051被设成为读取外部程序代码工作模式时EA 0会送出此信号以便取得程序代码通常这支脚是接到EPROM的OE脚AT89S52可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围PORT0P0

16、0P07端口0是一个8位宽的开路汲极Open Drain双向输出入端口共有8个位P00表示位0P01表示位1依此类推其他三个IO端口P1P2P3则不具有此电路组态而是内部有一提升电路P0在当做IO用时可以推动8个LS的TTL负载如果当EA引脚为低电平时即取用外部程序代码或数据存储器P0就以多工方式提供地址总线A0A7及数据总线D0D7设计者必须外加一锁存器将端口0送出的地址栓锁住成为A0A7再配合端口2所送出的A8A15合成一完整的16位地址总线而定址到64K的外部存储器空间PORT2P20P27端口2是具有内部提升电路的双向IO端口每一个引脚可以推动4个LS的TTL负载若将端口2的输出设为高

17、电平时此端口便能当成输入端口来使用P2除了当做一般IO端口使用外若是在AT89S52扩充外接程序存储器或数据存储器时也提供地址总线的高字节A8A15这个时候P2便不能当做IO来使用了PORT1P10P17端口1也是具有内部提升电路的双向IO端口其输出缓冲器可以推动4个LS TTL负载同样地若将端口1的输出设为高电平便是由此端口来输入数据如果是使用8052或是8032的话P10又当做定时器2的外部脉冲输入脚而P11可以有T2EX功能可以做外部中断输入的触发脚位PORT3P30P37端口3也具有内部提升电路的双向IO端口其输出缓冲器可以推动4个TTL负载同时还多工具有其他的额外特殊功能包括串行通信

18、外部中断控制计时计数控制及外部数据存储器内容的读取或写入控制等功能其引脚分配如下P30RXD串行通信输入P31TXD串行通信输出P32INT0外部中断0输入P33INT1外部中断1输入P34T0计时计数器0输入P35T1计时计数器1输入P36WR外部数据存储器的写入信号P37RD外部数据存储器的读取信号RST复位输入当振荡器复位器件时要保持RST脚两个机器周期的高电平时间ALEPROG当访问外部存储器时地址锁存允许的输出电平用于锁存地址的地位字节在FLASH编程期间此引脚用于输入编程脉冲在平时ALE端以不变的频率周期输出正脉冲信号此频率为振荡器频率的16因此它可用作对外部输出的脉冲或用于定时目

19、的然而要注意的是每当用作外部数据存储器时将跳过一个ALE脉冲如想禁止ALE的输出可在SFR8EH地址上置0此时 ALE只有在执行MOVXMOVC指令是ALE才起作用另外该引脚被略微拉高如果微处理器在外部执行状态ALE禁止置位无效PSEN外部程序存储器的选通信号在由外部程序存储器取指期间每个机器周期两次PSEN有效但在访问外部数据存储器时这两次有效的PSEN信号将不出现EAVPP当EA保持低电平时则在此期间外部程序存储器0000H-FFFFH不管是否有内部程序存储器注意加密方式1时EA将内部锁定为RESET当EA端保持高电平时此间内部程序存储器在FLASH编程期间此引脚也用于施加12V编程电源V

20、PPXTAL1反向振荡放大器的输入及内部时钟工作电路的输入XTAL2来自反向振荡器的输出424 AT89S52的内部资源 AT89S52 有6个中断源两个外部中断INT0 和INT1三个定时中断定时器012和一个串行中断这些中断每个中断源都可以通过置位或清除特殊寄存器IE中的相关中断允许控制位分别使得中断源有效或无效IE还包括一个中断允许总控制位EA它能一次禁止所有中断 AT89S52内部具有看门狗定时器及3个16位可编程定时器计数器16位是指他们都是由16个触发器构成故最大计数模值为可编程是指它们的工作方式由指令来设置或者当计数器用或者当定时器用并且记数定时的范围也可以由指令来设置这种控制功

21、能是通过定时器方式控制器TMOD来完成的 存储器结构MCS-51器件有单独的程序存储器和数据存储器外部程序存储器和数据存储器都可以64K寻址程序存储器如果EA引脚接地程序读取只从外部存储器开始对于 89S52如果EA 接VCC程序读写先从内部存储器地址为0000H1FFFH开始接着从外部寻址寻址地址为2000HFFFFH数据存储器AT89S52 有256 字节片内数据存储器高128 字节与特殊功能寄存器重叠也就是说高128字节与特殊功能寄存器有相同的地址而物理上是分开的当一条指令访问高于7FH 的地址时寻址方式决定CPU 访问高128 字节RAM 还是特殊功能寄存器空间直接寻址方式访问特殊功能

22、寄存器SFR例如下面的直接寻址指令访问0A0HP2口存储单元MOV 0A0H data使用间接寻址方式访问高128 字节RAM例如下面的间接寻址方式中R0 内容为0A0H访问的是地址0A0H的寄存器而不是P2口它的地址也是0A0HMOV R0 data堆栈操作也是简介寻址方式因此高128字节数据RAM也可用于堆栈空间4 3 L298电机驱动模块4 31 L298电机驱动简介 L298是SGS公司的产品L298N为15个管角的单块集成电路高电压高电流四通道驱动设计用L298N来接收DTL或者TTL逻辑电平驱动感性负载 比如继电器直流和步进马达 和开关电源晶体管内部包含4通道逻辑驱动电路其额定工作

23、电流为 1 A最大可达 15 AVss 电压最小 45 V最大可达 36 VVs 电压最大值也是 36 VL298N可直接对电机进行控制无须隔离电路可以驱动双电机4 32 L298内部的原理图4 33 L298 引脚符号及功能引 脚功 能SENSASENSBENA ENBTTL逻辑电平信号OUT1OUT2OUT3OUT4输出端与对应输入端同逻辑VCC逻辑控制电源457VVSS电机驱动电源最小值需比输入的低电平电压高GND地4 34 L298的逻辑功能IN1IN2ENA电机状态XX0停止101顺时针011逆时针000停止110停止当使能端为高电平时输入端IN1为PWM信号IN2为低电平信号时电机

24、正转输入端IN1为低电平信号IN2为PWM信号时电机反转IN1与IN2相 同时电机快速停止当使能端为低电平时电动机停止转动在对直流电动机电压的控制和驱动中半导体功率器件 L298 在使用上可以分为两种方式线性放大驱动方式和开关驱动方式在线性放大驱动方式半导体功率器件工作在线性区优点是控制原理简单输出波动小线性好对邻近电路干扰小缺点为功率器件工作在线性区功率低和散热问题严重开关驱动方式是使半导体功率器件工作在开关状态通过脉调制PWM来控制电动机的电压从而实现电动机转速的控制4 4 LED数码管显示4 41 LED简介LEDLight Emitting Diode发光二极管是一种固态的半导体器件它

25、可以直接把电转化为光LED的心脏是一个半导体的晶片晶片的一端附在一个支架上一端是负极另一端连接电源的正极使整个晶片被环氧树脂封装起来半导体晶片由两部分组成一部分是P型半导体在它里面空穴占主导地位另一端是N型半导体在这边主要是电子但这两种半导体连接起来的时候它们之间就形成一个P-N结当电流通过导线作用于这个晶片的时候电子就会被推向P区在P区里电子跟空穴复合然后就会以光子的形式发出能量这就是LED发光的原理而光的波长也就是光的颜色是由形成P-N结的材料决定的除半导体激光器外当电流激励时能发射光学辐射的半导体二极管严格地讲术语LED应该仅应用于发射可见光的二极管发射近红外辐射的二极管叫红外发光二极管

26、IREDInfrared Emitting Diode发射峰值波长在可见光短波限附近由部份紫外辐射的二极管称为紫外发光二极管但是习惯上把上述三种半导体二极管统称为发光二极管4 42 LED七段数码管的结构 共阴极 共阳极 管脚图其中图a为共阴极结构8断发光二极管的阴极端连接在一起阳极端分开控制使用时公共端接地要使哪根发光二极管则对应的阳极端接高电平图b为共阳极结构8端发光二极管的阳极端连接在一起阴极端分开控制使用时公共端接电源要使哪根发光二极管则对应的阴极端接地其中7段发光二极管构成7笔的字形81根发光二极管构成小数点图c为引脚图从a-g引脚输入不同的8位二进制编码可显示不同的数字或字符通常把

27、控制发光二极管的7或8位二极管编制称为字段码不同数字或字符其字段码不一样对于同一个数字或字符共阴极连接和共阳极连接的字段码也不一样共阴极和共阳极的字段码互为反码4 43常见数字和字符的字段码显示字符共阴极字段码共阳极字段码显示字符共阴极字段码共阳极字段码03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82HT31HCEH707HF8HY6EH91H87FH80HL38HC7H96FH90H8FFH00HA77H88H灭00FFHB7CH83H4 44 LED数码管和单

28、片机的连接电路的接法决定了必须采用逐位扫描显示方式即从段选口送出某位LED的字型码然后选通该位LED 并保持一段延时时间然后选通下一位直到所有位扫 描完4 45简单的程序流程4 46本系统中单片机与LED的连接45独立式键盘控制模块com功能及分类键盘是一种最常用的输入设备它是一组按键的集合从功能上可分为数字键和功能键两种作用是输入数据与命令查询和控制系统的工作状态实现简单的人机对话键盘的分类a键盘按照接口原理可分为编码键盘与非编码键盘两类这两类键盘的主要区别是识别键符及给出相应键码的方法 编码键盘主要是用硬件来实现对键的识别 非编码键盘主要是由软件来实现键盘的定义与识别b键盘按照其结构可分为

29、独立式键盘与矩阵式键盘两类 独立式键盘主要用于按键较少的场合矩阵式键盘主要用于按键较多的场合也称行列式键盘com键盘独立式键盘的按键相互独立每个按键接一根IO口线一根IO口线上的按键工作状态不会影响其它IO口线的工作状态因此通过检测IO口线的电平状态即可判断键盘上哪个键被按下com键盘与单片机的链接5系统软件设计 直接应用AT89S52的软件方法实现PWM信号输出这比硬件实现PWM信号成本低限制少实现便捷其流程图如下所示51流程图com流程图图51系统主单片机总程序框图结论通过本次毕业设计使我学到了许多书本上无法学到的知识也使我深刻体会到单片机技术应用领域的广泛不仅让我对学过的单片机知识有了很

30、多的巩固同时也对单片机这一门课程产生了更大的兴趣在本次课程设计过程中我学会了在网络上查找有关本设计的各硬件的资源其中包括直流电机PWM调速AT89S52单片机L28912进一步加强了的动手能力和运用专业知识的能力从中学习到如何去思考和解决问题以及如何灵活地改变方法去实现设计方案特别是深刻体会到软件和硬件结合的重要性以及两者的联系和配合作用3 数字温度传感器在仓库温度检测系统的应用J 传感器世界20018 DALLAS DS18B20数据手册Z com北京北京航空航天大学出版社200610康华光陈大钦电子技术基础模拟部分M北京高等教育出版社199911康华光邹寿彬电子技术基础数字部分M北京高等教

31、育出版社200012胡祝兵基于单片机控制的直流电机调速系统的设计J承德石油高等专科学校学报2008113 卢春华姚海燕张莉 基于单片机的直流电机调速系统设计J硅谷20092014 吴守箴戚英杰电气传的脉宽调制控制技术北京机械工业出版社15 贾玉瑛王臣基于单片机控制的PWM直流调速系统包头钢铁学院学报2005年16 康华光邹寿彬电子技术基础 数字部分第四版 高等教育出版社2004年MCS 51单片机原理与应用实例北京电子工业出版社2008年1月18 浦龙梅李私单片机控制的直流PWM调速装置的研究变频器世界2006年3月19 张波SG3525A控制的直流电机脉宽调速装置电气制造2006年第七期附录

32、附录1 C程序直流电机PWM调速功能描述使用单片机T0定时器产生 xxxHz 脉宽调制信号输到L298N的EN_A 实现双直流电机的速度调控修订日期2011-5-7include include define uchar unsigned chardefine uint unsigned int L298n接口定义 sbit MOTOR_A_2 P36sbit MOTOR_A_1 P37sbit EN_MOTOR_A P34 sbit k1 P15定义k1为p15口sbit k2 P31 定义k2为p31口sbit k3 P32 定义k3为p32口sbit k4 P33 定义k4为p33口uc

33、har T 0 定时标记uchar W 0 脉宽值 0100uchar A 0 方向标记 01uchar k 0 按键标记uchar i 0 计数变量uchar code table1 0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x770x7c0x390x5e0x790x71 uchar code table2 0xef0xbf0xdf0x7f void delayms uint t 数码管显示 void disp void P0 table23P2 table1W10显示占空比个位delayms 1 延时1msP0 0xffP0清1P0 table22P

34、2 table1W100 显示占空比百位delayms 1 延时1msP0 0xffP0清1P0 table21P2 table1W1010 显示占空比十位delayms 1 延时1msP0 0xff P0清1P0 table20P2 table1A 显示方向delayms 1 延时1msP0 0xffP0清1 定时器变量定义 void init void 启动中断TMOD 0x01EA 1ET0 1TR0 1设置定时时间TH0 0xfdTL0 0x17 void timer0 interrupt 1 重置定时器时间TL0 0x17TH0 0xffT 定时标记加1 disp 数码管显示if T

35、 W EN_MOTOR_A 1elseEN_MOTOR_A 0if T 100 T 0 延时1ms void delayms uint t uchar jwhile t- for j 0j 250j 循环250次 _nop_ 系统延时 _nop_ 系统延时 _nop_ 系统延时 _nop_ 系统延时 独立按键检测 void key void 按键判断程序 if k1 0 按键1按下 while k1 0 按键1抬起if W 100 如果脉宽为100W 0脉宽置0elseW 1否则加1 else if k2 0 按键2按下 while k2 0 按键2抬起if W 0 如果脉宽为0W 100脉宽设置成100elseW- 1否则减1 else if k3 0 按键3按下 while k3 0 按键3抬起A A方向标记取反k 0按键标记清0 else if k4 0 按键4按下 while k4 0 按键4抬起W 0脉宽清0k 0按键标记清0 void main void init 系统初始化 while 1 key 查询按键 END附录2原理图1

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!