ImageVerifierCode 换一换
格式:DOC , 页数:37 ,大小:472KB ,
资源ID:853043      下载积分:20 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 微信支付   
验证码:   换一换

加入VIP,免费下载资源
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.wodocx.com/d-853043.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机控制技术课程设计直流电机转速闭环控制设计.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

计算机控制技术课程设计直流电机转速闭环控制设计.doc

1、计算机控制技术:直流电机转速闭环控制设计 目录摘要- 1 -1.设计要求- 2 -1.1任务- 2 -1.2要求- 2 -1.3分工- 3 -2设计方案确定与实施- 4 -2.1系统原理- 4 -2.2软件设计(流程图)- 5 -3系统测试及分析- 10 -4总结- 10 -4.1小组总结- 10 -4.2个人总结- 11 -5附录- 14 -摘要 在运动控制系统中,电机转速控制占有至关重要的作用,其控制算法和手段有很多,模拟PID控制是最早发展起来的控制策略之一,长期以来形成了典型的结构,并且参数整定方便,能够满足一般控制的要求,但由于在模拟PID控制系统中,参数一旦整定好后,在整个控制过程

2、中都是固定不变的,而在实际中,由于现场的系统参数、温度等条件发生变化,使系统很难达到最佳的控制效果,因此采用模拟PID控制器难以获得满意的控制效果。随着计算机技术与智能控制理论的发展,数字PID技术渐渐发展起来,它不仅能够实现模拟PID所完成的控制任务,而且具备控制算法灵活、可靠性高等优点,应用面越来越广。 本设计以上面提到的数字PID为基本控制算法,以Intel80486CPU为控制核心,产生占空比受数字PID算法控制的PWM脉冲实现对直流电机转速的控制。同时利用霍尔传感器将电机速度转换成脉冲频率反馈到CPU中,实现转速闭环控制,达到转速无静差调节的目的。在系统中采数码管和键盘、AD作为人机

3、交互界面,启动后可以通过显示部件了解电机当前的转速。该系统控制简单,反应灵敏,具有很强的抗干扰能力。关键词:直流电机;Intel80486CPU;转速控制1.设计要求1.1任务(1)已知参数和设计要求1)用PD-32E实验装置产生PWM方波调制直流电机以一定速率旋转,人为给一个速度漂移,霍尔元件测出速度并根据PID算法跟踪校正速度漂移。2)要求用LED或LCD时实显示电机速度。3)要求在10秒内PID算法纠正速率漂移。(2)实现方法采用PD-32E实验装置实现 (限4人选做)1.2要求1)硬件设计:要求完成控制系统框图;绘制完整的控制系统电原理图;说明各功能模块的具体功能和参数;结合实验室现有

4、的PD-32E实验装置进行系统组成,对整个系统的工作原理进行全面分析,论述其结构特点、工作原理、优、缺点和使用场合。分析和论述系统采用的主要单元的工作原理和特性。2)软件设计:要求合理分配系统资源,完成直流电机转速闭环控制的程序设计(如:系统初始化;主程序;A/D转换;D/A转换;标度变换;显示与键盘管理;控制算法处理;输出等)。3)对设计控制系统进行系统联调。4)编写课程设计报告:按统一论文格式、统一报告纸和报告的各要素【封面、任务书、目录、摘要、序言、主要内容(包括设计总体思路、设计步骤、原理分析和相关知识的引用等)、总结、各组员心得体会、参考书及附录(包括系统框图、程序流程图、电原理图和

5、程序原代码)】进行编写,字数要求不少于4000字,要求设计报告论理正确,逻辑性强,文理通顺,层次分明,表达确切。1.3分工廖海平:程序的主体流程逻辑,算法的编写,系统的初始化,最后再把组员的各部分子程序融合在一起。 王璐:负责三色LED显示程序的实现,程序的测试,论文的编写,显示及部分流程图的绘制。朱建康:资料查阅,键盘控制程序的编写和测试,程序流程图的绘制,部分论文的编写。 余凌飞:AD程序的设计及编写,AD程序流程图的绘制,论文编写。2设计方案确定与实施2.1系统原理2.1.1电路2.1.2硬件连线硬件连线:8254: OUT0接8259 IRQ0,GATE0接+5v,CLK0接47K,C

6、S接CS1;8259: CS_1接CS3,INT1接INTR,SP/1接5v;AD574: 转换板out接10VIN,12/8接5V,A0接GND,CS接CS2;DA0832: IOW接WR2 XFER接CS CS接CS4,out接占空比输入;键盘:Q0,1,2接A5,6,7,P0-P3接C3-C0 转换板:脉冲输出接IN。2.2软件设计(流程图)2.2.1控制流程图2.2.2主程序流程图2.2.3 AD子程序流程图2.2.4 LED显示程序流程图2.2.5 键盘子程序流程图3系统测试及分析3.1 比例系数的调节序号参数P系数I系数D系数现象:误差及调节速度13000误差:9转每秒调节速度:6

7、s24000误差:6转每秒调节速度:5秒35000误差:4转每秒调节速度:3秒46000误差:5转每秒调节速度:2秒57000误差:7转每秒调节速度:1秒由上述P系数的调节现象可知,比例系数越小,控制作用越弱,系统响应速度变慢,比例系数调大能减小偏差,但不能彻底消除偏差,比例系数越大,控制也越强,系统响应速度也越快,但是P系数过大会是系统产生较大的超调和振荡,导致系统的稳定性能变差。因此,P系数选取不能过大。由上表可知,P系数的大小以50较为合适。3.2 积分系数的调节序号参数P系数I系数D系数误差及调节速度1500.0010误差:4转每秒调节速度:3秒2500.0050误差:2转每秒调节速度

8、:3秒3500.0100误差:1转每秒调节速度:3秒4500.0200误差:2转每秒调节速度:4秒5500.0300误差:4转每秒调节速度:5秒上表为积分系数的调节过程,积分控制作用的存在与偏差的存在时间有关,只要系统存在着偏差,积分环节就会不断起作用。积分时间足够长的情况下,理论上是可以完全消除偏差,这是积分控制作用将维持不变。I系数越大,积分速度越快,积分作用越强,积分作用太强会使系统超调加大,甚至使系统出现振荡,同时会使得系统调节速度变慢。I系数越小,积分控制器作用越小,系统调节速度没有明显的变化,误差没有明显的减小趋势。由上表可知,积分系数为0.010的时候控制作用最好。3.3 微分系

9、数的调节序号参数P系数I系数D系数误差及调节速度1500.0100.001误差:1转每秒调节速度:3秒2500.0100.005误差:1转每秒调节速度:3秒3500.0100.010误差:1转每秒调节速度:2秒4500.0100.015误差:1转每秒调节速度:1秒5500.0100.020误差:2转每秒调节速度:1秒内6500.0100.030误差:2转每秒调节速度:1秒内积分控制作用的引入虽然可以消除静差,但是降低了系统的响应速度,特别是对于具有较大惯性的被控对象。这是需要用到微分控制,微分控制可以将偏差消灭在萌芽状态,这样可以大大减小系统的动态偏差和调节时间,使系统的动态调节品质得以改善。

10、微分环节有助于系统减小超调,克服振荡,加快系统的响应速度,减小调节时间。但是微分时间常数过大,会是系统不稳定。微分控制作用一个很大的缺陷是容易引入高频噪声。所以由上表可知,此系统的最佳D系数为0.015。综上所述:PID控制器的各参数为:P系数I系数D系数现象500.0100.015误差:1转每秒调节速度:1秒实际效果:被控电机的实际转速在050转/秒。在给定速度为742转/秒时,待系统稳定后,系统的静差为1转每秒,调节速度为1秒,符合题目要求。在其他给定速度范围内,系统的调节品质会略降低,当给定速度大于50时,系统不能再向上调节。4总结4.1小组总结课程设计是培养学生综合运用所学知识,发现,

11、提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.通过这次课程设计,我们学会了:1通过本设计熟悉了实验设计过程。2了解并掌握了试验常用的方法和技术,熟悉了实验的基本操作。3升化了我们的理论水平,锻炼了我们理论联系实际的能力。4学会了运用基础知识,专业技术基础知识分析探讨直流电机转速控制的设计。回顾起此次课程设计,我们仍感慨颇多,从设计流程到定稿,从理论到实践,在这一个星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很

12、重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。通过这次课程设计之后,一定把以前所学过的知识重新温故。这次的课程设计是一项集体活动,是要我们通过集体的努力,相互帮助,共同团结,发挥小组的战斗堡垒作用,使任务保质保量的完成。很多人在一起,时间长了,就会产生意见分歧。这次的课程设计也不例外。第一天就发生了这样的事情,

13、对于分工问题,有某些人有点争议,其实也应该理解啦。大家都是大四的学生了现在对我们来说,确实有时候时间上有点冲突,好好商量,整合大家的意见,这个风波很快就烟消云散了。每个同学都很认真的对待每一个任务。通过这次的课程设计,让我们小组的人有了共识。团结合作,协调组织是完成集体任务的核心。课程设计终于结束了,这段时间是我们小组在大学期间不可多得的美好记忆。它给了我们很多的感受和经验,让我们在饱受酸甜苦辣的同时也体会到集体的力量和成功的喜悦。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在游纪源老师的辛勤指导下,终于游逆而解。在次,我们表示感谢!4.2个人总结余凌飞:此次课程设计总体来说对我还

14、是比较难,时间也非常紧迫,对我们考验很大。我们这次的设计主要是以单片机的知识进行设计,我主要负责AD转换和标度变换。在设计过程中我遇到了很多问题,首先是对单片机的不熟悉,在翻看以前学的书籍后,才进行编程。在编程过程中,我们也有很多错误,经过大家共同努力才发现了那些隐蔽而有影响的错误。经过改正,才得以实现。通过这次的课程设计,使我对计算机硬件和计算机控制的知识更加熟悉了,也使我对查阅资料更加的得心应手。我最大的收获就是自己的动手能力和独立解决问题的能力得到了很大的提高,也充分体会到了自己设计东西的乐趣、学会查阅资料和对别人的东西融会变通的重要性,也明白了很多知识光靠趴在书本上学是学不到其中的精髓

15、的,必须亲自去试着实践,亲自去经历才能对它们真正的掌握,凡事都要自己去动下手,去实践一下,遇到困难,永远不要沮丧气馁。在动手的过程中,不仅能增强实践能力,而且在理论上可以有更深的认识;这次设计给了我极大的鼓舞和信心,相信在以后的学习中可以通过不断的摸索和实践来提高其他方面的知识。朱建康:这次课程设计我主要负责显示与键盘管理,设计过程中遇到了很多难题,在同学和老是帮助下,总算克服万难完成了任务。在此,我还要感谢在一起设计讨论的同学,正是由于你们的帮助和支持,我才能克服一个又一个的困难和疑惑,直至本设计的顺利完成。 感谢你们给予我的帮助。在本系统的设计过程和论文编写过程中,还有很多老师、同学和朋友

16、都给予了我许多无私的帮助,尤其是我的导师给我提出了很多宝贵的修改意见,在这里,我向这些无私帮助我的人表示衷心的感谢!通过这次让我学到了很多,我明白了一个人的力量再大也是渺小的,我们必须团结起来才能做到更好。我们需要相互学习和信赖,我们需要理性的协调和分配。当我们遇到困难时,我们都应当迎头去面对它,而不能逃避,就可以使很多看似复杂的问题简单化,简单的问题解决掉。这次我真的学到很多,让我认识到我不止理论和实践,专业知识和其他方面也需要加强学习,不断充实自身。王璐:通过本次课程设计,使我对计算机控制技术这门课程有了更深入的理解。计算机控制技术是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知

17、识的同时,加强上机实践。一个人的力量是有限的,要想把课程设计做的更好,就要学会参考一定的资料,吸取别人的经验,让自己和别人的思想有机的结合起来,得出属于你自己的灵感。 程序的编写需要有耐心,有些事情看起来很复杂,但问题需要一点一点去解决,分析问题,把问题一个一个划分,划分成小块以后就逐个去解决。再总体解决大的问题。这样做起来不仅有条理也使问题得到了轻松的解决。 在这个过程中,我也曾经因为实践经验的缺乏失落过,也曾经仿真成功而热情高涨。生活生活生活生活就是这样,汗水预示着结果也见证着收获。劳动是人类生存生活永恒不变的话题。虽然这只是一次的极简单的课程制作,可是平心而论,也耗费了我不少的心血,这就

18、让我不得不佩服开发技术的前辈,才意识到老一辈对我们社会的付出,为了人们的生活更美好,他们为我们社会所付出多少心血啊! 对我而言,知识上的收获重要,精神上的丰收更加可喜。让我知道了学无止境的道理。我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。挫折是一份财富,经历是一份拥有。这次课程设计必将成为我人生旅途上一个非常美好的回忆! 通过这次的课程设计我对于专业课的学习有了更加深刻的认识,以为现在学的知识用不上就加以怠慢,等到想用的时候却发现自己的学习原来是那么的不扎实。以后努力学好每门专业课,让自己拥有更多的知识,才能解决更多的问题!廖海平:此次课程设计,

19、我主要负责程序的主体流程和算法,PWM波形的设计和输出。此次设计的题目是直流电机的转速闭环控制,直流电机的控制是通过PWM波,顾名思义,PWM输出是数字信号,通过改变占空比实现对电机转速的控制。闭环控制就是要求实时检测电机的转速,由于电机的实际输出转速在050转,所以实际控制中给定速度也在这个范围。通过负反馈,设计PID控制器。由于设计要求精度并不高,并且硬件的稳定性不高,所以控制精度也不高,实际程序中D控制一般没有输出,主要采用PI控制。P控制转速的快速跟踪,P增大会导致控制超调,P过大会导致输出振荡和发散,所以P必须要有一个合适的值。I控制的好处消除静差,但是I过大会导致调节速度变慢,一般

20、I给的很小,保证输出范围的同时保证调节速度较快。D控制会加快调节速度,减小超调,但是D过大也会导致系统出现震荡,所以D一般也给的较小。整个控制中P控制的调节力度最大。PWM波形的产生:由于没有PWM直接输出的硬件支持,所以只有模拟输出PWM波。PWM波是固定周期的,只能调节占空比。实际程序中,运用8254的方式0,和8259中断管理芯片,产生PWM波。具体实现原理为:首先固定周期,例如10ms,设计中断的产生效果是任意相邻的两个中断的总周期等于PWM波的周期。由于8254方式0,接47K的时钟信号。所以相邻两个中断的计时为470个时钟信号,及8254计数470。在中断中调节8254的初值,即可

21、实现总周期为10ms。以达到相对准确的PWM波的输出。实际试验结果符合上述阐述。程序的流程如前所述,为了实现较多的功能,比如可以实时更改P、I、D参数,可以实时更改给定速度,所以程序比较冗长。此次试验我更加清楚的了解了PID控制算法,包括位置式PID和增量式PID。更加熟悉了汇编语言。学到了更多的专业知识。知识无止境,学海无涯。相信继续努力会学到更多的知识。5附录;计算机控制技术课程设计 ; ; 题目: 直流电机转速闭环控制 ; 指导老师: ;Designed By:王璐/朱健康/余凌飞/廖海平 ;Greed/Class:09级 自动化 04班 ;Time :2012/9/15 ;接线说明:

22、;8254: OUT0接8259 IRQ0,GATE0接+5v,CLK0接47K,CS接CS1 ;8259: CS_1接CS3,INT1接INTR,SP/1接5v ;AD574: 转换板out接10VIN,12/8接5V,A0接GND,CS接CS2 ;DA0832: IOW接WR2 XFER接CS CS接CS4,out接占空比输入 ; ;键盘: Q0,1,2接A5,6,7,P0-P3接C3-C0 ;单色LED: A0-DS3,A1-DS4,A2-DS5,A3-DS6, ; B0B7接段选信号a b c d e f g dp ;转换板:脉冲输出接IN ;.486DATASEGMENT USE16

23、ORG4000HKP DB50;P系数 /100KIDB0;i系数 /1000KDDB0;d系数 /1000EK_NOWDw0;第K次采样的偏差值 EK_LASTDw0 ;第K-1次采样的偏差值 EIDw0;误差积分 EDDw0;K-(K-1)偏差值 speed_givenDw30;速度给定 P_outDW0;P输出I_outDW0;I输出D_outDW0;D输出speed_fusion dw0speed_geidw 0speed_back dw 0test_value db 0second dw 0second_1s db 0PID_outdw0N DW ? ;脉冲计数器MOTOR_CURR

24、ENT DW 0 ;电机电流speeddw0;ad_data DW? ;AD一次转换结?sum_ad_dataDW0 ;ad_result DW0 ;转换电压终值flag db 00hflag_kpdb 00hflag_kidb00hflag_kddb00hflag_piddb 00hflag_pid_last db 00hflag_online db 00hkey_value db 00hDISP_CODE_BUF_THREE DB ?,?,?,?,?,?;显示缓冲区DISP_CODE_BUF_SINGLE DB ?,?,?,?;显示缓冲区INTQ EQU 40H; 按键定义 ;key_on

25、 EQU 0D7H ;系统开 ;4*3按键布局;key_off EQU 0DBH ;关 ; on ki xxx ;key_set_kp EQU 0DDH ;切换显示 ; off kd xxx ;key_set_ki EQU 0B7H ;起步价设置 ; kp up xxx ;key_set_kdEQU 0BBH ;单价设置 ; xxx down xxx ;key_setupEQU 0BDH ;设置加 ;key_setdownEQU 0BEH ;设置减 DATAENDSCODESEGMENT USE16ASSUMECS:CODE,DS:DATAORG1000HBEG:JMPSTARTTABDB0c

26、0H,0f9H,0a4H,0b0H,99H,92H,82H,0f8H ;三色显示字形码DB80H,90H,88H,83H,0c6H,0a1H,86H,8eHSTART:CALL INITsue:callDISPLAY_DAIJI ;待机显示start_key:CALL KEY_SCAN ;CMP key_value,0ffh;je sueCALL DELAY_MSCALL SHIFANGMOV Al,key_valueCALL KEY_ANALYSECALL functions_keycmp flag,00hje start_keycmp flag,01h;键盘扫描,flag=01h转入主函数

27、je main_itcmp flag,02hjestart_keyjmp start_keymain_it:calltime_500ms;启动定时器。开启中断callVERINITmain:callSPEED_CALCULATEcall speed_changecalldisplay_speed call display_testCALL KEY_SCANMOV AL,key_valueCMP AL,key_offje sys_offjmpmainsys_off:CALL DELAY_msCALL SHIFANGMOV DX,300h MOV AX,00H ;关闭8254,关闭中断 OUT D

28、X,AL MOV AL,AH OUT DX,ALcall display_offmov flag,00hmov flag_online,00hmov speed,0mov speed_given,30mov EK_NOW,0mov EK_LAST,0mov ei,0mov ed,0mov N,0mov P_out,0mov i_out,0mov d_out,0mov Pid_out,0call delay_longjmpstart;DISPLAY_OFF PROC NEAR ;关闭显示PUSHAMOV DX,208H MOV EAX,0FF0F0F0FH OUT DX,EAX MOV DX,2

29、03HAND AX,0E0HOUT DX,AXPOPARETDISPLAY_OFF ENDP;DISPLAY_DAIJI PROC NEAR ;设置待机显示PUSHA MOV EAX,0F7F7F7H MOV DX,200H OUT DX,EAX MOV EAX,0F7F7F7H MOV DX,204H OUT DX,EAX MOV DX,208H MOV EAX,0ff000000H OUT DX,EAX ;位选,显示颜 POPA RETDISPLAY_DAIJI ENDP; 速度输入检测 ;speed_change proc nearPUSHAdoe:mov dx,20bhin al,dx

30、or al,01111111bcmp al,11111111bje speed_upin al,dxand al,01000000bcmp al,00000000bje speed_downspeed_out:mov ax,speed_givenshl ax,1mov speed_gei,axpoparetspeed_up:add speed_given,1call delay_keycmp speed_given,59jnb seoiejmp srwseoie:mov speed_given,0 srw:call display_speedjmp speed_outspeed_down:cm

31、p speed_given,0je seoiwjmp srqseoiw:mov speed_given,60srq: sub speed_given,1call delay_key call display_speedjmp speed_outspeed_change endp; 所有初始化 ;INIT PROC NEAR ;初始化子程序 PUSHA MOV AX,DATA ;初始化数据段 MOV DS,AX MOV AX,0 ;8255,8254初始化 MOV DX,20CH MOV EAX,89808080H ;A,B口输出,C口输入 OUT DX,EAX MOV DX, 30CH ;82

32、54初始化 ,地址为300H MOV AL, 00110000B ;通道0用作定时,定时500毫秒 OUT DX,AL POPA RETINIT ENDP; 中断初始化 ;VERINIT PROC NEAR PUSHA MOV DX,340H;写ICW1 MOV AL,00010011B;8259A 高电平触发,不级联,送ICW4 OUT DX,AL MOV DX,348H ;写ICW2 MOV AL,40H;中断类型号40H OUT DX,AL MOV DX,348H;写ICW4 MOV AL,01H OUT DX,AL MOV DX,348H;改写OCW1,开放IRQ IN AL,DX A

33、ND AL,0FEH OUT DX,AL;装填中断向量 CLI;清中断标志 MOV AX,0 MOV DS,AX LEA AX,INTP1S MOV DS:INTQ*4,AX MOV AX,SEG INTP1S MOV DS:INTQ*4+2,AX STI;置中断标志 POPA RETVERINIT ENDP ; 启动8254 装初值 ;TIME_500ms PROC NEAR ;启动定时器0,计数器1 PUSHA MOV DX,300h MOV AX,47000 ;定时0.5秒定时值,CLK0接47KHZ方波 OUT DX,AL MOV AL,AH OUT DX,AL POPA RETTIM

34、E_500ms ENDP; 键盘扫描子程序 ;SHIFANG PROC NEAR ;等待按键释放 PUSHA MOV AL,1FH MOV DX,203H ;A口输出列信号 OUT DX,ALNOP MOV DX,20BHAAG: IN AL,DX AND AL,0FH CMP AL,0FH JE TUICHU JMP AAGTUICHU:CALL DELAY POPA RETSHIFANG ENDP;KEY_SCAN PROC PUSHAKSCAN:MOV BL,0DFHNXTCOL:MOV AL,BLMOV DX,203HOUT DX,ALMOV DX,20BHIN AL,DXAND AL

35、,0FHCMP AL,0FHJNZ FUNDKEYROL BL,1JC NXTCOLFUNDKEY:AND BL,0F0HOR Bl,AlMOV key_value,BlPOPARETKEY_SCAN ENDP;KEY_ANALYSE PROCcmp al,key_onjne next_key1mov al,0jmp keyaly_endnext_key1:cmp al,key_offjne next_key2mov al,1jmp keyaly_endnext_key2:cmp al,key_set_kpjne next_key3mov al,2jmp keyaly_endnext_key3

36、:cmp al,key_set_kijne next_key4mov al,3jmp keyaly_endnext_key4:cmp al,key_set_kdjne next_key5mov al,4jmp keyaly_endnext_key5:cmp al,key_setupjne next_key6mov al,5jmp keyaly_endnext_key6:cmp al,key_setdownjne error_keymov al,6jmp keyaly_enderror_key:mov al,7keyaly_end:retKEY_ANALYSE ENDP;functions_key proccmp al,0 ;启动按键jne key_next1mov flag,01hjmp functions_endkey_next1:cmp al,1 ;停止按键jne key_next2 mov flag,02h jmp functions_endkey_next2:cmp al,2 ;设置KPjne key_next3call key_setkpjmp functions_endkey_next3:cmp

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922