《机器人毕业设计.docx》由会员分享,可在线阅读,更多相关《机器人毕业设计.docx(29页珍藏版)》请在三一办公上搜索。
1、课程设计任务书(2015级)厦门工程技术学院(学校)应用电子技术专业设计题目跳舞机器人学生姓名连胜伟学号1299151024指导教师李天恩教研室主任谢玉妹系主任谢玉妹起迄日期2014年9月3号到20115年1月13号目录摘要4引言5任务书6第一章我国机器人技术的开展概况7第二章机器人的总体设计解剖1.1资料的收集与阐述71.2机器人工作原理简介1.总体设计剖82.伺服电机的剖析第三章机器人总体设计综述121、2单片1、3主控板局部简1、1设计课题的阐述机的选择介12第四章机器人的总体设计方案与局部简介1、1设计方案131、2各局部功能及原理简介13第五章机器人的原理图设计、仿真及电路板制作1、
2、1机人的原理图设计151、2电源局部16、3稳压电源局部161、5接口电路局部171、6单片机最小系统和ISP在线编程181、9电路板制作18第六章机器人电路板的调试与结论1、1数据的采集电路和处理方法211、2机器人测脉宽程序231、3调试结论31第七章心得体会31附录:1元器件清单322参考文献32摘要设计题目跳舞机器人30年前,比尔盖茨毅然弃学,创立微软,成为个人电脑普及革命的领军人物;30年后的今天,他预言,机器人即将重复个人电脑崛起的道路。点燃机器人普及的“导火索”,这场革命必将与个人电脑一样,彻底改变这个时代的生活方式。机器人作为人类20世纪最伟大的创造之一,在短短的几十年内发生了
3、日新月异的变化。近几年机器人已成为高技术领域内具有代表性的战略目标。机器人技术的出现和开展,不但使传统的工业生产面貌发生根本性变化,而且将对人类社会产生深远的影响。随着社会生产技术的飞速开展,机器人的应用领域不断扩展。从自动化生产线到海洋资源的探索,乃至太空作业等领域,机器人可谓是无处不在。目前机器已经走进人们的生活与工作,机器人已经在很多的领域代替着人类的劳动,发挥着越来越重要的作用,人们已经越来越离不开机器人帮助。机器人工程是一门复杂的学科,它集工程力学、机械制造、电子技术、技术科学、自动控制等为一体。目前对机器人的研究已经呈现出专业化和系统化,一些信息学、电子学方面的先进技术正越来越多地
4、应用于机器人领域。目前机器人行业的开展与30年前的电脑行业极为相似。今天在汽车装配线上忙碌的一线机器人,正是当年大型计算机的翻版。而机器人行业的利基产品也同样种类繁多,比方协助医生进行外科手术的机械臂、在伊拉克和阿富汗战场上负责排除路边炸弹的侦察机器人、以及负责清扫地板的家用机器人,还有不少参照人、狗、恐龙的样子制造机器人玩具。关键词:STC15W4K60S4;伺服电机,单片机;机器人。Abstract30yearsago,BillGateresolutelyabandonedschool,foundedMicrosoft,becamealeadingfigureinthepopulariza
5、tionofthepersonalcomputerrevolution;30yearslater,hepredicted,robotisabouttoberepeatedpersonalcomputerrisingroad.LitrobotPopularizationfuse,thisrevolutionwillandpersonalcomputer,completelychangethewayoflifeofthisera.OneofthegreatestinventionrobotashumanbeingsintwentiethCentury,happenedtochangerapidly
6、changesindecades.Inrecentyears,robothasbecomeastrategicgoalofhightechnologyinthefieldofrepresentative.Theappearanceanddevelopmentofrobottechnology,notonlythetraditionalindustrialproductionhasundergoneafundamentalchange,andwillhaveaprofoundimpactonhumansociety.Withtherapiddevelopmentofsocialproductio
7、nandtechnology,theapplicationofroboticshasbeenextended.Explorationfromtheautomaticproductionlinetothemarineresources,andthespaceoperationfield,robotscanbeseeneverywhere.Currentmachinehasenteredpeopleslifeandwork,therobothasbeeninmanyareastoreplacehumanlabor,playsamoreandmoreimportantrole,moreandmore
8、peoplehavecannotdowithoutthehelpofrobot.Robotengineeringisacomplexsubject,itsetstheengineeringmechanics,mechanicalmanufacturing,electronictechnology,scienceandtechnology,automaticcontrolforthewhole.Atpresenttheresearchofrobotshasbeenshowingaprofessionalandsystematic,advancedtechnologyandsomeinformat
9、ionscience,electronicsareincreasinglyusedinthefieldofrobot.Atpresentthedevelopmentofrobotindustryand30yearsagoisverysimilartothecomputerindustry.TDdayinthelineofrobotcarassemblylinebusy,wasthelargecomputerversion.Buttherobotindustryisalsoawidevarietyofnicheproducts,suchasmechanicalarm,assistedthedoc
10、torinperformingthesurgeryoperationinIraqandAfghanistan,inchargeofreconnaissancerobotoutroadsidebombsandhouseholdrobotforcleaningfloors,therearealotofreferenceperson,dog,dinosaurlikemanufacturingrobottoy.Keywords:STC15W4K60S4;servomotor,singlechipmicrocomputer;robot.引言舞蹈机器人具有人类外观特征、可爱的外貌、又兼有技术含量,极受青少
11、年的喜爱。我们的毕业设计开始机器人方面的研究,在这过程中尝试过很屡次的失败,也感受到了无比的乐趣。基于前几届本课题设计的缺陷和缺乏之处本文提出了采用STC单片机STCI5W4K48S4的跳舞机器人的设计方案。方案以单片机作为系统的控制核心,详细介绍了通过STCl5W4K48S4单片机来控制机器人,实现跳舞的功能。并且整个系统具有电路简明、应用方便、性价比高等特性。任务书毕业设计课题为:遥控唱歌跳舞机器人的探索实验。主要任务内容有以下几点:1、收集相关机器人的资料及机器人相关工作原理的。2、阅读相关单片机的书籍,丰富自己的编程知识。3、对已有的机器人进行了解和解剖。4、解剖机器人的结构组成。5、
12、解剖机器人的各局部相关原理。7、根据解剖的结构设计出自己的主板。8、将自己设计的主板放入机器人看看是否能够驱动机器人做出表演。9、写出这次探索实验的论文。10、写出这次探索的心得体会。11、附录相关程序及元器件清单。第一章我国机器人技术开展概况在我国开展机器人技术起步于上个世纪70年代末,但是,机器人技术的开展引起我国科技界的高度重视。许多工程已被列入“863”、“八五”、“九五”科技开展方案中。被列入国家重点工程的“机器人示范工程”已由中国科学院沈阳自动化所完成,于1990年通过国家验收后向全国开放。他们已研制出多种型号的工业机器人、水下机器人、移动机器人等,己成为我国机器人研究、开发及国内
13、外机器人技术交流的基地。另外,我解徐敬如药姊技法恸滨!业仔上帧大学、清华大学等在步行机器人、移动机器人等前沿领域的研究取得了可喜的成绩。国防科技大学在1990年成功研制出我国第一台两足步行机器人的根底上,经过十年攻关,于2000年12月29日研制成了我国第一台类人机器人“先行者”,实现了机器人技术的重大突破。哈尔滨工业大学成功研制壁面清洗爬壁机器人,可以用于瓷砖壁面和玻璃壁面的清洗作业。现在我国已经拥有700多家机器人用户,3500多台机器人(不包括台湾的6000余台),这标志着我国的机器人工业前进了一大步,正在朝机器人工业大国迈进。第二章机器人的总体设i十解剖J资料的收集与阐述此次毕业设计,
14、单片机跳舞机器人课题小组有11人,我们利用课余时间收集相关机器人的开展史以及如何利用单片机作为微处理器控制机器人的相关实例。因为我们这次的毕业设计是建立在现有机器人之上将其主控局部换成我们熟悉的单片机来控制的一个课题,所以我们就得先找到一款符合,并且适合我们的一款机器人来进行我们要的设计。于是我们利用上一届所买的机器人,进行设计和制作。这款机器人(如图D这款机器人用遥控器直接控制的模式,组合操纵杆,按钮,可步行,胳膊动作,练武及日常的精彩动作及表情表演。有声音识别功能,“前进”、后遐、“你好”等简单的10句短语,象是与朋友聊天一样,他/她就会做出相应的动作表演了!重量约350克,电源使用三洋S
15、ANYoENEL00PAAA充电式银氢电池(3节)控制方式为红外线控制,伺服器马达有17个,分别为左右脚个5个,左右手各3个,头部1个,最大可动角度220度,使用金属齿轮,内置离合器遥控器高86MM宽100MM厚40MM,装有液晶显示屏:16*32dot,照嫩通道开关A-B,可以同时控制两台。通过对这款机器人的了解我们一致觉得这款机器人很符合我们的设计要求,并能够实现我们想要的设计效果。机器人工作原理简介1、总体结构的剖析我们对这款机器人做了一个解剖,解剖主要是把这个机器人拆了,并且把其中的一些我们需要的数据进行一些测量在对这些数据进行分析,据我们所了解和掌握的数据说明这款机器人是一个没有传感
16、器的机器人,这使得我们在对其进行改换单片机来控制这一方案变得电路的设计会简单起来。下面我用一个框图(如图2)把这款机器人的总体结构做一个比拟形象的论述。器人(主板)总体结构框图从上图我们可以很清晰的看出机器人的总体结构。这样就能够比拟清晰的了解到这款机器人的总体工作原理。(1)电源电源是由电池(3节,4.5V)供电的;从图上很容易看得出来机器人电源是有两路电源的。一路是直接由电池供电的VCC,另一路是由主板电路将进来的主电源稳压成3.3V的供电电路。(2)CPU局部主要的控制,通过内部的程序来产生相对应的数据,再把这些数据发送到每一个局部,实现相应的动作要求。(3)伺服电机的剖析机器人的本质特
17、征就是能动。是一种可以像人一样能动的机器,所以说机器人最终要的就是电机了。不过,机器人当中的电机并不是普普通通的电机,这种电机是伺服电机。下面我就对一种常用的伺服电机做一个介绍(这款机器人的伺服电机是有点区别的,不过在原理上是相通的):A.伺服电机(servomotor)是指在伺服系统中控制机械元件运转的发动机,是一种补助马达间接变速装置。伺服电机可使控制速度,位置精度非常准确,可以将电压信号转化为转矩和转速以驱动控制对象。伺服电机转子转速受输入信号控制,并能快速反响,在自动控制系统中,用作执行元件,且具有机电时间常数小、线性度高、始动电压等特性,可把所收到的电信号转换成电动机轴上的角位移或角
18、速度输出。分为直流和交流伺服电动机两大类(这款机器人使用的是直流伺服电机),其主要特点是,当信号电压为零时无自转现象,转速随着转矩的增加而匀速下降。这款机器人所用的伺服电机在伺服电机的领域内又叫做微型伺服马达,它总共使用了17个微型伺服电机。一个微型伺服马达内部包括了一个小型直流马达;一组变速齿轮组;一个反响可调电位器;及一块电子控制板。其中,高速转动的直流马达提供了原始动力,带动变速(减速)齿轮组,使之产生高扭力的输出,齿轮组的变速比愈大,伺服马达的输出扭力也愈大,也就是说越能承受更大的重量,但转动的速度也愈低。B、一个微型伺服马达是一个典型闭环反响系统,其原理可由下(图3)表示:(图3)减
19、速齿轮组由马达驱动,其终端(输出端)带动一个线性的比例电位器作位置检测,该电位器把转角坐标转换为一比例电压反响给控制线路板,控制线路板将其与输入的控制脉冲信号比拟,产生纠正脉冲,并驱动马达正向或反向地转动,使齿轮组的输出位置与期望值相符,令纠正脉冲趋于为0,从而到达使伺服马达精确定位的目的。那么这些伺服电机是怎么控制的呢?标准的微型伺服马达有三条控制线,分别为:电源、地及控制。电源线与地线用于提供内部的直流马达及控制线路所需的能源,电压通常介于4V-6V之间,该电源应尽可能与处理系统的电源隔离因为伺服马达会产生噪音)。甚至小伺服马达在重负载时也会拉低放大器的电压,所以整个系统的电源供给的比例必
20、须合理。输入一个周期性的正向脉冲信号,这个周期性脉冲信号的高电平时间通常在1ms2ms之间,而低电平时间应在5ms到20MS之间,并不很严格,下表表示出一个典型的20InS周期性脉冲的正脉冲宽度与微型伺服马达的输出臂位置的关系(如图4美C、刚刚也说了这款机器人使用的微型伺服电机和一般通用的伺服电机是有点差别的具体差异在哪呢?接下来我就对这款机器人的微型伺服电机做个简介:1、如下列图(图5)示是这款机器人的伺服电机接口:伺服电机接口4_VCC3VDD2!数据1|GND(图5)从图示的接口中我们不难看出这种伺服电机是有4条线控制的,其中VCC是给电机供电的,电压为4.5V;VDD是给伺服电机中的控
21、制芯片供电的,电压为3.3V;数据那么是由主板控制芯片给伺服电机控制数据的端口;最后那么是接地了。而且,这款机器人当中的伺服电机均是并联的,下面我以左脚的电机为例子做一个介绍(如图6):电机4Z- 电机5电机3(图6)电机17数据V电机2如上图所示,这款机器人的伺服电机是通过并联的方式连在一起的,简单地说也就是主板控制芯片发出一组数据,由各个电机中的控制芯片自己认出属于自己的数据并作出相应的动作。第三章【机器人的总体设计综述】通过对这款机器人的解剖后我们就已经对这款机器人有所了解了那么我们这次课题设计的题意是把机器人自带的主板换成我们学过的,熟悉的单片机来实现同样功能的电路主板或者是说用我们所
22、熟悉的单片机来替换原有的控制局部并实现我们想要的功能。我们通过查阅大量的单片机资料,并结合我们原有的电源等硬件设施,最终确定了单片机就使用STC15W4K48S4作为我们的主控微处理器,后面会对这个单片机做一个介绍。主控制系统是由充电式银氢电池(3节)+4.5V和+3.3V双电源供电的,按照这样的电源电路要求我们已经有一路电源是符合要求的,因此我们就得再设计一路电源是+3.3V供电的电路。通过我们查阅大量的稳压电路资料决定利用稳压ICLP2985AIM5X-3.3稳压得到+3.3V电源。整个主控制系统分为三个局部:第一局部是单片机控制局部;第二局部是稳压局部;第三局部是驱动局部;这样的三个局部
23、组合起来就是我这次设计的主板系统控制局部,这样的设计既简单又可行。第四章【机器人的总体设计方案及局部简介】在之前的机器人解剖中,介绍了这块机器人的各个局部的功能及各个局部的一些工作原理,接下来我们按照课题的设计要求开始我们自己的设计。接下来我主要讲一讲我的设计方案,及各个局部的功能和原理介绍。下面是我这次设计当中的系统主板总体结构框框图(如图7所示):电源(VCC)伺服电机(图7)主板总体设计框图处在这一电压范围。flash程序存储器大小为48k,同时具有44个I/O口,而且这款单片机是可以完成ISP在线编程功能的。下面是这款单片机的一个分装引脚图(如图8所示):CaPtUre (捕获)COm
24、Pare (比较)PWM (脉宽调制)LQFP44 (12xl 2mm)PWMFLT/SS_2a_3/A12P2.4 UCCP3A13P2.5CCPl 二 3A14P2.6UPWM2_2/A15/P2.7 UPWM3_2/ALBP4.5 URxD2-2P4.6t=RxD3AD0P0.0=TxD3,ADlP0.1 URxD4AD2P0.2 UTxE4AD3PO.3C=T3CLKOAD4 P0.4 =6 odDQ;H3OJJJs2n 二ccM(7ENU9Edn CWMdZT qw7CEdn 1 H - Id 口 Z SnRd厚内dn G2 En MOilQolS 空 8wos! EHMd/晨 ID
25、S 豆一 Zan PWMdZrOS 一 W/0 1 VASi SwMdZrISow/= Wszdn34223521362037193sLQFP44is39.174042 个 I/O164115421443134412 -o -、一ZEbS9C86一UZ UL U- Uo UL U9 US KXI芭-OavTOd8占 OXl -CVO:XlW-dyK2 OdZCaViM 9WM. OdMIWOygJyZ OdZSaWEg IJWdU9UsUFLJLJLJLJLJLJLJLJ 匚 LJLJLJLJLJLJ 匚特.56.56.7Gnp5.vcP5 nnnnnn 尊年 MO,.QLSH0 ONMdZr
26、N;S/6W f WMd/ZO1S - IVZ SHIIsON-WE(图8)B、ICCD4050六同相缓冲/变换器CD4049是六反相缓冲器(如图9所示),具有仅用一电源电压(VCC)进行逻辑电平转换的特征。用作逻辑电平转换时,输入高电平电压(VIH)超过电源电压VCD。该器件主要用作COS/MOS到DTUTTL的转换器,能直接驱动两个DTLnTL负载。CD4049可替换CD4009,因为CD4049仅需要一电源电压,可取代CD4009用于反相器、电源驱动器或逻辑电平转换器。CD4049与CD4009引出端排列一致,16引出端是空脚,与内部电路无连接。假设使用时不要求高的漏电流或电电压转换,推
27、荐使用CD4050六反相器。CD4050是非反相六缓冲器,具有仅用一电源电压(VCC)进行逻辑电平转换的特征。用作逻辑电平转换时,输入高电平电压(VIH)超过电源电压VCCo该器件主要用作COS/MOS到DTL/TTL的转换器,能直接驱动两个DTL/TTL负载。因此我们让CPU的数据信号通过CD4050来驱动伺服电机(图9)C、电源模块:主电源采用作VCC,副电源是通过稳压集成ICLP2985AIM5X-3.3稳压得到+3.3直流电压。供给伺服电机内部控制电路。第五章机器人的原理图设计、仿真及电路板制作机器人原理图设计(如图10所示)(图10)电路总体设计原理图(图 11)1.2电源局部电路:
28、电池2-1-+4.5V上面的图(如图11所示)是电源进来的一个电源开关控制局部原理图。从图中我们可以看出由电池供电出+4.5V后经过一个单刀单掷开关到一个自恢复保险丝,这里要说下为什么要使用自恢复保险丝;这个自恢复保险可以很好地保护到电路和电机。当电路,或者电机电流过大时,自恢复保险丝就会自动断开。在断电后,它又将恢复到导通状态,待电路检测好以后,在通电调试。电解电容C7那么是一个电源滤波电容,可以很好的滤除电池电源交流成分。1.3 稳压电源局部在之前的介绍中我讲到了,机器人供电是有两路电源供电的,一路是VCC(+4.5V)另一路是VDD(+3.3v),也就是接下来要介绍的这个稳压电源局部。下
29、图是稳压电源局部的电路原理图(如图12所示):从上图(如图13所示)中可以看出,VCC(+4.5v)从IC的1脚和3脚输入,经C6滤波,其中3脚是一个芯片的开关,高电平开,低电平关。所以也接入高电平。芯片5脚就可以输出+3.3V直流电源了。那么这个外围电路是怎么确定下来的呢?我查了这块芯片的资料后就根据下列图(如图14所示)的原理来设计出这个稳压电路的。(图14)芯片内部工作原理图1.4 接口电路(图15)如图15所示,在和伺服电机接口电路设计中,沿用原有插座,我在设计时就采用和原有的插座大小一样的排针(2.0)作为接口电路的输出插针。在李天恩老师的指导下在伺服电机供电两端参加两个电容滤波,这
30、样可以很好的将电机产生的回流交流成分)很好的滤除,以防止击穿主控芯片。1. 5单片机最小系统和ISP在线编程和往常的单片机电路一样的最小系统电路,晶振选择的是11.0592MHZ,这样时钟会比拟准确(如图16所示)。(图ISPGNDtxHVCC(图17)ISP在线编程很方便而且简单的实现单片机下载程序,这样能省去我们很多买单片机烧写器的开支。依据STC单片机芯片资料的介绍确定了ISP的接口电路(如上图17所示)。只要接4根线,分别是VCC、RXD、TXD.GND,这样就可以实现程序的下载了。1.7电路板的制作在对电路原理图的设计完工之后,我们就用Protel画出我们自己的PCB电路图然后制作出
31、设计出来的电路图下面三张图分别总图(图18所示)和打印出的顶层(图9所示)和底层PCB(图20所示):I_I(图 19)图20)一、PCB板制作(用菲林或硫酸纸)把设计好的电路图用激光(喷墨)打印机以透明的菲林或半透明的硫酸纸打印出来。1.被曝光部份会被显影剂除去从而露出铜面,另外打印原稿时应选择镜像打印,电路图打印墨水(碳粉)面必须与绿色的感光膜面相接紧密,以获得最高解析度。(绘图软件都有镜像MilTOr打印功能)2.线路部份如有透光破洞,请以油性黑笔修补。3.稿面需保持清洁无污物。二、曝光首先撕掉保护膜如图21所示),将打印好的线路图的打印面(碳粉面/墨水面)贴在感光膜而上,再以玻璃紧压原
32、稿及感光板,越紧密解析度越好。(图 21)然后用PCB智能环保制板机曝光标准时间:180-200秒双面板曝光法:1 .双面板曝光首选钻孔定位法:将原稿双面对正,胶纸固定,与未撕保护膜之感光板对好且固定,用LOnInl小钻头对角钻定位孔。最后在两根小钻头的帮助下对准位置,用胶纸固定后即可分别曝光;2 .另一种方法:原稿双面对正,两边用胶纸固定,再插入感光板。以双面胶纸将原稿与感光板粘贴固定,即可曝光.细线条小于0.5mm,必须使用双面曝光机。三、显像1.调制显像剂:显像剂:水(1:80),即1包20g的显像剂配1600毫升水,可显影约8片10x15Cm单面感光板(矿泉水瓶上面一般标有容量,可参照
33、,调显像剂请用塑料盆,不能用金属盆)2 .显像:膜面朝上放入感光板(双面板须悬空)每隔数秒摇晃容器或感光板,直到铜箔清晰且不再有绿色雾状冒起时即显像完成。此时需再静待几秒钟以确认显像百分百完成。*标准操作显像时间约卜2分钟,显影可在一般光线下进行,最关键的就是要随时注意观察显影的进度,绝不可照搬显影时间。3 .水洗:4 .枯燥及检查:为了确保膜面无任何损伤,最好能做到此步骤。即利用吹风机吹干,短路处请用小刀刮净,断线处用油性笔等修补。四、蚀刻三氯化铁蚀刻液的调配:250g的三氯化铁约调配1500毫升-2000毫升的水,尽量用热水化开,可以防止把细线条蚀刻断。A.蚀刻机:用蚀刻机蚀刻时间-新药液
34、约需要1.53分钟。细线条小于0.5m11b必须使用蚀刻机。B.水洗:C.枯燥:第六章机器人电路板调试与结论数据的采集电路和处理方法在完成电路板的制作以后,接下来最重要的就是软件的编写,调试工作了。因为我们之前找不到关于这个机器人的伺服电机的相关资料,于是在李天恩老师的指导下通过机器人测试脉宽电路(如图22所示)利用分段读取数据的方法将机器人的一组动作的左手、右手、左脚、右脚及头部的数据通过串口通信将数据保存在电脑,然后将这些数据通过TABLE的形式由单片机发送到左手、右手、左脚、右脚及头部。下面说说这些数据是怎么分段读取的。首先,用示波器观察数据最小的那段电平大概是多少,例如:最小是40OU
35、S的话就用40OUS作为最小基数,如果一段电平有7段最小基数长的话,拿数据就是07H。Cl一器人测试脉宽电路图22)tfa1三5y1y2a2三三88殴殴无S4Y4鼻74U112B1Y1SWLJMp MAIN机器人测脉宽程序ORG0000HORGOOOBHINC29HRETTORGOOlBHINC29HRETTORG0023HLJMPLOOPlORG0030HMAIN:MOVTMOD,#099HMOVSP,#IOHMOV20H,#00HMOV22H,#00HMOV23H,#00HMOV24H,#00HMOV25H,#00HMOV29H,#00HMOV28H,#00HMOVRO,#30HMOVR7
36、,#30HMOV09H,#30HMOVR5,#08HMOVT2C0N,#34HMOVT2M0D,#00HMOVRCAP2H,#0FFHMOVRCAP2L,#0F7HMOVTH2,#0FFHMOVTL2,#0F7HMOVSCON,#40HSETBETOSETBETlSETBESSETBEACLROOHMOVTHl,#0MOVTLl,#0MOVTHO,#0MOVTLO,#0MOVRl,#30HMOVR7,#0DOHMOVA,#0F6HLSI:MOVR1,AINCRlDJNZR7,LSIMOVP2,#3FHWAITl:SETBPl.2有低电平之后开始计数;JBPl.4,$P3.4=1&P3.5=1J
37、NBP3.4,$SENDDATASETBTRlSETBTROSETBOlHCLR02HSETB03HMOVRO,#0E5HINCROMOVR6,#01HFEG2:MOVR4,#0FOHDEFl:MOVR2,#0FoHX3:;P3.4ORP3.5ISLOWJBP3.2,$;计数高电平11.CALLCHHT4JNBOlH,X51SJMPX53X53:MOV22H,THOMOV23H,TLOMOV28H,29HMOVTLO,#00HMOVT11O,#00HMOV29H,#00HLCALLCHU39LCALLCCHH2X62:LCALLXXCJNBP3.2,$低电平O计数JNBOlH,X31SJMPX
38、32X31:X32:MOV22H,THlMOV23H,TLlMOV28H,2911MOVTLl,#00HMOVTHl,#00HMOV29H,#00HLCALL1.CALICHU3,CCHHl*CHU3:CLRCX63:DJNZR2,X3数据除3子程序DJNZR4,DEFlMOVA,23HDJNZR6,FEG2RLCANOPMOV23H,AMOVP2,#55HMOVA,22HSJMP$RLCA;*MOV22H,A*MOVA,28HCHHI4:JBP3.5,CHH3;RLCADATA=IGOTOMOV28H,AJB02H,X5CJNEA,#00H,SETBPl.3;CHU3AMOTORRETURN
39、DATAMOVA,22HSETB02HMOVB,#03HCLROlHDIVABCLR04HJNBB.1,CHU3ESJMPX5INCACHH3:JBP3.4,CHHT4MOV22H,AJBOlH,X5SJMPCHU3ESETBOlHCHU3A:MOV2AH,#00HCLR02HMOV2CH,#10HCLR03HCHU3B:CLRCX5:RETMOVA,22H;*RLCA*MOV22H,AXXC:JNBOlH,X6MOVA,28HJB03H,XERLCASETB03HMOV28H,AMOVR0,#0C5HMOVA,2AHINCRORLCAMOVR0,#0E5HMOV2AH,AINCROSUBBA
40、,#03HSJMPXEJCCHU3CX6:JNB02H,XEINC22HJB04H,XEMOV2AH,ASETB04HCHU3C:DJNZ2CH,CHU3BMOVR0,#0C5HCHU3E:RETINCRO;*MOVR0,#0D5H*INCROCCHHI:;CJNER5,#00H,XE:RETKK8;低电平数据处理;*;SJMPKKAMOVA,22HCJNEA,#OOH,KKDlSJMPKK3KKDl:SUBBA,R5JCKK6MOV22H,AKK5:CLRCMOVA,24HRLCAMOV24H,ADECR5CJNER5,#OOH,KK5MOVR5,#08HMOVA,24HMOVRO,AINC
41、ROMOV24H,#00HKKA:MOVA,28HCJNEA,#00H,KK9SJMPCHUL08KK9:MOVA,28HMOV28H,#00HMOV2BH,ACHULO7:MOV2CH,#20HCHUL06:MOVR0,#00HINCRODJNZ2CH,CHUL06DJNZ2BH,CHUL07CHUL08:MOVA,22H;如果未满8位,如何填满?CJNEA,#00H,KKC8SJMPKK3KKC8:CJNE:A,#08H,KKClKKCl:JCKKC2MOVB,#08HDTVABMOV2CH,AMOV22H,BCHUL09:MOVR0,#00HINCRODJNZ2C1I,C11ULO9KKC2:MOVA,22H;LOWLEVERSHIFTBITCJNEA,ttOOH,KK7SJMPKK3KK7:MOV25H,AKK2:CLRCMOVA,24HRLCAMOV24H,ADECR5CJNER5,#00H,KKlMOVR5,#08HMOVA,24HMOVR0,AINCROMOV24H,#00HKKl:DJNZ25H,KK2KK3:RETKK6:MOVA,#28HCJNEA,#01H,KKC3KKC3:JCKKC2CLRCMOVA,22HSUBBA,R5