绕线机计数器设计说明_第1页
绕线机计数器设计说明_第2页
绕线机计数器设计说明_第3页
绕线机计数器设计说明_第4页
绕线机计数器设计说明_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

........27/33毕业设计(论文)原创性声明和使用授权说明原创性声明本人重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作与取得的成果。尽我所知,除文中特别加以标注和致的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得与其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了意。作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部容。作者签名:日期:学位论文原创性声明本人重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期:年月日学位论文使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名: 日期:年月日导师签名:日期:年月日摘要绕线机是用来绕制线圈的专用设备,而计数器则起到了计数作用。计数器可以用来显示产品的工作状态,一般来说主要是用来表示产品已经完成了多少份的折页配页工作。绕线机计数器的核心控制是单片机。单片机技术作为一个非常有前途的计算机技术,其应用非常广泛,已深入到我们日常生活中的方方面面。目前,单片机正在向稳定可靠、小而廉价的方向发展。本设计选用AT89C51单片机来制作,它是一个40脚的8位单片机,片含4KB的可编程存储器,有4个8位并行输入/输出口,可用于多个按键信号的输入与控制信号、数字显示信号、声音信号的输出。有两个外中断输入端与两个定时器/计数器,为软件设计与电路设计相配合提供了方便。绕线机计数器的控制电路除了单片机电路外还有5V稳压电源电路、光电开关、4011与非门、按键输入电路、数码管显示电路和电动机电路。关键词:绕线机计数器;单片机;数码管显示;按键输入;AbstractWindingthecoilwindingmachineisusedspecialequipment,andthecounteriscountingplayedarole.Countercanbeusedtodisplaytheworkingstatusofproductsingeneralismainlyusedtoindicatehowmanyproductshavecompletedthepagewiththeworkoffolding.Windingmachinecontrolisthecoreofcountermicrocontroller.Microcomputertechnologyasapromisingcomputertechnology,itsapplicationisveryextensive,hasbeendeepintoeveryaspectofourdailylife.Currently,SCMisthereliable,smallandcheapdirection.AT89C51microcontrollerusedinthisdesigntoproduction,itisa40-foot8-bitmicrocontrollerwithaprogrammablememorycontaining4KB,therearefour8-bitparallelinput/output,multiplekeyscanbeusedtoinputsignalsandcontrolsignalsdigitaldisplaysignals,soundsignalsoutput.Therearetwointerruptinputsandthetwooutertimer/counter,forthedesignandcircuitdesignsoftwareprovidesaconvenientmatch.Windingmachinecountercontrolcircuitinadditiontomicrocontrollercircuitexternal5Vregulatedpowersupplycircuitalso,photoelectricswitches,4011andnon-gate,keyinputcircuit,digitalcontrolcircuitandmotorcircuit.Keywords:Windingmachinecounter;SCM;digitaldisplay;keyinput;目录1绪论11.1课题的目的与意义11.2采取的研究方法、技术路线、实验方案与可行性分析11.3课题的发展现状和前景展望11.4特色或创新之处12硬件部分设计22.1系统框图22.2电源电路22.2.1整流电路22.2.2稳压电路32.2.3滤波电路32.3传感器驱动电路42.3.1光电开关42.3.2CD4011与非门52.4主控制电路62.4.1AT89C51单片机72.4.2振荡电路92.4.3复位电路92.5编码式键盘电路102.6数码管显示电路112.6.1数码管介绍112.6.2七段LED数码管发光原理112.6.3数码显示电路原理112.7直流电动机驱动电路122.7.1电机工作原理123软件部分设计143.1主程序框图143.2加1子程序框图213.3加1子程序源码分析213.4减1子程序框图223.5减1子程序源码分析223.6显示子程序234总结25致26参考文献27附录281绪论1.1课题的目的与意义本课题是绕线机计数器的设计,根据计数器的原理,用AT89C51单片机把硬件电路和软件编程进行设计。目前,单片机正朝着高性能和多品种方向发展,发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路装化等几个方面发展。单片机应用的重要意义在于它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。绕线机计数器电路由单片机作为控制器,加上各种控制电路、显示电路和电机驱动器电路,控制程序用汇编语言编写。该设计方案能使学生把所学到的电子技术结合起来,为走上工程技术道路提供很好的练兵机会。1.2采取的研究方法、技术路线、实验方案与可行性分析先理解电路图与工作原理,再复习单片机MCS-51系列的硬件构成与命令系统,拟采取硬件电路和软件编程联合研究的方法,根据实际的工作原理与参考电路图改用AT89C51单片机来重新设计硬件电路;再利用网上以与书本上的控制过程来设计出主程序流程图与各子程序流程图,然后用汇编语言编制单片机AT89C51的控制软件。要求控制软件能使硬件电路正常运行,达到已有产品同样的可编程定时器的各种功能。1.3课题的发展现状和前景展望先研究现成的微电脑控制的绕线机计数器的电路图与工作原理说明,再复习单片机MCS-51系列的硬件构成与命令系统,根据绕线机计数器的工作原理与已有电路图,选择AT89C51单片机做控制电路。设计出主程序流程图与各子程序流程图,然后用汇编语言编制单片机的控制软件。要求软件能使硬件电路正常运行,达到绕线机计数器的自动计数功能。1.4特色或创新之处使用我们比较熟悉51系列单片机,而AT89C51单片机与MCS-51单片机的51子系列完全兼容。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。因此在设计中选择AT89C51作为控制单片机,结合适当的外围电路,设计绘制电原路图,再绘制出主程序流程图与各子程序流程图,然后用汇编语言编制控制软件。2硬件部分设计2.1系统框图该计数器是以AT89C51单片机为核心的应用系统。整个系统包括几个部分:AT89C51单片机、驱动电路、传感器、数码管显示器、按键电路。单片机显示单片机显示驱动电路电机键盘图2-1系统框图2.2电源电路稳压电源电路作用是为整个系统提供稳定的工作电源。稳压电源一般由变压器、整流器和稳压器三大部分组成。变压器把市电交流电压变为所需要的低压交流电。整流器把交流电变为直流电。经滤波后,稳压器再把不稳定的直流电压变为稳定的直流电压输出。电源工作原理:220V交流电经变压器T1、桥式整流电路D1和电解电容C1滤波后,再经由5V稳压集成电路U1稳压后得到+5V直流电压作为单片机与其它电路的电源VCC。如图2-4所示。图2-2稳压电路原理图2.2.1整流电路桥式整流电路是使用最多的一种整流电路。这种电路,只要增加两只二极管口连接成“桥”式结构,便具有全波整流电路的优点,而同时在一定程度上克服了它的缺点。图2-3整流电路引脚图2.2.2稳压电路7805是常用的稳压芯片,它的使用方便,用很简单的电路即可以输入一个直流稳压电源,他的输出电压恰好为5V,刚好是51系列单片机运行所需的电压。图2-47805芯片引脚图其中1接整流器输出的电压,2为公共地(也就是负极),3就是我们需要的+5V输出电压了。2.2.3滤波电路整流电路的输出电压虽然是单一方向的,但是脉动较大,含有较大的谐波成分,不能适应大多数电子线路与设备的需求。因此,一般在整流后,还需要利用滤波电路将脉动的直流电压变为平滑的直流电压。电容滤波电路是最常见也是最简单的滤波电路,在整流电路的输出端(即负载电阻两端)并联一个电容即构成电容滤波电路,如图。滤波电容容量较大,因此一般采用电解电容,在接线时要注意电解电容的正、负极。电容滤波电路利用电容的充、放电作用,使输出电压趋于平滑。图2-5滤波电路2.3传感器驱动电路传感器是能感受规定的被测量并按照一定规律转换成可用输出信号的器件或装置,通常由敏感元件和转换元件组成。其中,敏感元件是指传感器中直接感受被测量的部分,转换元件是指传感器能将敏感元件的输出转换为适于传输和测量的电信号部分。光电式传感器是将光通量转换为电量的一种传感器。光电式传感器的基础是光电转换元件的光电效应。由于光电测量方法灵活多样,可测参数众多,一般情况下具有非接触、高精度、高分辨率、高可靠性和反应快等特点。图2-6传感器驱动电路2.3.1光电开关光电开关是传感器大家族中的成员,它把发射端和接收端之间光的强弱变化转化为电流的变化以达到探测的目的。由于光电开关输出回路和输入回路是电隔离的,所以它可以在许多场合得到应用。新型光电开关体积小、功能多、寿命长、精度高、响应速度快、检测距离远以与抗光、电、磁干扰能力强。新型的光电开关已被用作物位检测、液位控制、产品计数、宽度判别、速度检测、定长剪切、孔位识别、信号延时、自动门传感、色标检出、冲床和剪切机以与安全防护等诸多领域。光电开关的特点:具有自诊断稳定工作区指示功能,可与时告知工作状态是否可靠;对射式、反射式、镜面反射式光电开关都有防止相互干扰功能,安装方便;响应速度快,高速光电开关的响应速度可达到0.1ms,每分钟可进行30万次检测操作,能检出高速移动的微小物体;采用专用集成电路和先进的SMT表面安装工艺,具有很高的可靠性;体积小、重量轻,安装调试简单,并具有短路保护功能。2.3.2CD4011与非门VDDVDDVSS1413121110981234567图2-7CD4011部逻辑结构图11131211109814234567VDD4B4A4Y3Y3B3A1A1B1Y2Y2A2BVSS图2-8CD4011引脚图CD4011功能与真值表:逻辑表达式:Y=A.BA=Y.B表2-1真值表XYQ动作00?禁止011设定100重置11不变无(1)当X=0、Y=0时,将使两个NAND门之输出均为1,违反触发器之功用,故禁止使用。如真值表第一列。(2)当X=0、Y=1时,由于X=1导致NAND-A的输出为“1”,使得NAND-B的两个输入均为“1”,因此NAND-B的输出为“(3)当X=1、Y=0时,由于Y=0导致NAND-B的输出为“1”,使得NAND-1的两个输入均为“1”,因此NAND-A的输出为“(4)当X=1、Y=1时,因为一个“1”不影响NAND门的输出,所以两个NAND管脚功能数据输入端1A数据输入端1B2B3B4B电源正极VDD接地VSS数据输出端1Y2Y3Y4Y2.4主控制电路主控制器主要由单片机AT89C51、振荡电路和复位电路三部分组成。由于它是单片机工作的必要组成部分,所以又称为单片机最小系统。图2-9最小应用系统2.4.1AT89C51单片机AT89C51是一种低功耗、高性能CMOS8位微控制器,具有4K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89C51提供以下标准功能:4K字节Flash闪存存储器,128字节部RAM,32个I/O口线,两个16位定时/计数器;一个5向量两级中断结构,一个全双工串行通信口,片振荡器与时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式,空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信与中断系统继续工作。掉电方式保存RAM中的容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。图2-10AT89C51引脚图VCC:电源GND:地P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有部上拉电阻。在flash编程时,P0P1口:P1口是一个具有部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表3-1所示。在flash编程和校验时,P1口接收低8表2-2P1口的第二功能引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2口:P2口是一个具有部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVXDPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的部上拉发送1。在使用8位地址(如MOVXRI)访问外部数据存储器时,P2口输出P2锁存器的容。在flash编程和校验时,P2口也接收高8P3口:P3口是一个具有部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于部电阻的原因,将输出电流(IIL)。P3口亦作为AT89C51特殊功能(第二功能)使用,如下表3-2所示。在flash编程和校验时,P3引脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INT0(外部中断0)P3.3INT0(外部中断0)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器写选通)表2-3P3口的第二功能RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。XTAL1:振荡器反相放大器和部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。2.4.2振荡电路AT89C51单片机有一个用于构成部振荡器的反相放大器,XTAL1和XTAL2分别是放大器的输入、输出端。石英晶体和瓷谐振器都可以用来一起构成自激振荡器,自激振荡器与单片机部的时钟发生器构成单片机的时钟电路。在单片机应用系统中,常选用晶体振动器作为外接振荡源,简称晶振。晶振的频率越高,则单片机系统的时钟频率越高,单片机的运行速度越快。图2-10振荡电路2.4.3复位电路MCS-51系列单片机的复位是由外部的复位电路实现的。复位电路的目的是产生持续时间不小于2个机器周期的高电平。单片机通常采用2种形式的复位电路:上电自动复位电路和按钮开关复位电路。图为上电自动复位电路。上电自动复位电路是通过电容充电来实现的。在接通电源(上电)的瞬间,RC电路充电,由于电容C两端的电压不能突变,在RESET引脚上电压接近电源电压+5V;随着充电时间的延长,充电电流减小,RESET引脚的电位也逐渐下降;当电容C两端的电压接近+5V,RESET引脚也被拉成低电平。在电容C充电过程中,只要RESET引脚能够保持10ms的高电平,就能使单片机有效地复位。图2-11复位电路2.5编码式键盘电路计数器面板上有9个轻触按键,按键值由单片机的P1.0-P1.7端输入,按键S1、S2、S3、S4、S5、S6、S7、S8、S12分别是“L1”按键、“L2”按键、“L3”按键、“L4”按键、“-rel-”按键、“+/r”按键、“-/p”按键和“清零”按键。当无按键按下时,单片机的P1.0~P1.7端读入的应是高电平;若有按键按下时,单片机P1.0~P1.7的某位为低电平,并设置电路同时触发单片机的外中断输入端INT0,使控制程序转入中断服务程序,来扫描P1.0~P1.7的各位是哪个按键被按下,然后转入相应的按键处理程序。图2-12编码式键盘电路2.6数码管显示电路2.6.1数码管介绍最常用的数码管为LED数码管,LED就是lightemittingdiode,发光二极管的英文缩写。它是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。它的优点:亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。单片机I/O的应用最典型的是通过I/O口与7段LED数码管构成显示电路。2.6.2七段LED数码管发光原理LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。是共阴和共阳极数码管的部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。将多只LED的阴极连在一起即为共阴式,而将多只LED的阳极连在一起即为共阳式。以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光。当然,LED的电流通常较小,一般均需在回路中接上限流电阻。图2-13数码管原理图2.6.3数码显示电路原理显示电路采用6位LED数码管,6个数码管的8段字符负极与单片机P1并口的8位对应相连。6位数码管有个6个正极引线。数码管8段字符是用单片机软件来译码的,由P1并口输出所需的字符数据,6个数码管的正极是快速轮流导通的。当第1位数码管的正极导通时(其它数码管的正极处于截止),P1口输出的是第1位要显示的数据;过了2MS,当第2位数码管的正极导通时(第1位和其它数码管的正极处于截止),P1口输出的是第2位要显示的数据。因此6个数码管则快速轮流显示各自的字符,由于人眼有视觉暂留特性,所以看到的就是6个数码管在固定地显示各自的字符。图2-14数码显示电路2.7直流电动机驱动电路图2-15电动机驱动电路2.7.1电机工作原理三极管的两种状态:(1)截止状态:当加在三极管发射结的电压小于PN结的导通电压,基极电流为零,集电极电流和发射极电流都为零,三极管这时失去了电流放大作用,集电极和发射极之间相当于开关的断开状态,我们称三极管处于截止状态。(2)饱和导通状态:当加在三极管发射结的电压大于PN结的导通电压,并当基极电流增大到一定程度时,集电极电流不再随着基极电流的增大而增大,而是处于某一定值附近不怎么变化,这时三极管失去电流放大作用,集电极与发射极之间的电压很小,集电极和发射极之间相当于开关的导通状态。三极管的这种状态我们称之为饱和导通状态。当三极管处于截止状态时,电机正常工作;当三极管处于饱和导通状态时,电机被短路,不能正常工作。3软件部分设计3.1主程序框图图3-1主程序框图MAIN:MOVA,SLOW4;判断是否到减速的数值(千位)MOVMOVD,LED4CJNEA,MOVD,LOOP0MOVA,SLOW3;判断是否到减速的数值(百位)MOVMOVD,LED3CJNEA,MOVD,LOOP0MOVA,SLOW2;判断是否到减速的数值(十位)MOVMOVD,LED2CJNEA,MOVD,LOOP0MOVA,SLOW1;判断是否到减速的数值(个位)MOVMOVD,LED1CJNEA,MOVD,LOOP0MOVA,LED0;减速(使P1.7口电压下降约0.6V)MOVCA,A+DPTR;递增减速MOVP1,ACLRP3.5;高位高亮显示发出提示,并断开慢起动电路ACALLD1MSSETBP1.7LOOP0:MOVA,TOEND4;判断是否到预置数了(千位)MOVMOVD,LED4CJNEA,MOVD,LOOPMOVA,TOEND3;判断是否到预置数了(百位)MOVMOVD,LED3CJNEA,MOVD,LOOPMOVA,TOEND2;判断是否到预置数了(十位)MOVMOVD,LED2CJNEA,MOVD,LOOPMOVA,TOEND1;判断是否到预置数了(个位)MOVMOVD,LED1CJNEA,MOVD,LOOPMODA,TOEND0;判断是否到预置数了(小数位)MOVMOVD,LED0CJNEA,MOVD,LOOPCLRP1.7;控制电机停车LCALLDLS3;延时约0.5秒MOVA,#05H;CJNEA,L1ORL2,LOOP1;如标记位不是07则跳至LOOP1AJMPACTION_X;到预置数时,跳到循环L1-L2计数LOOP:AJMPACTION;跳到停机等待按键处理程序LOOP1:ACALLDISPLAY;调用显示程序MOVP1,#0FFH;置P1口为输入状态MOVP3,#0FFH;置P3口为输入状态JNBP1.0,NUMNOW;显示当前的预置数并将标志位置数JNBP1.1,NOTSLOW;不减速JNBP1.7,ALLCLR;如清零键按下跳至清零序清除所有已设定数JNBP3.7,SELSAVE0;如设置键按下跳到到点程序选数JNBP1.6,LED_L1;显示相应键位值是多少JNBP1.2,LED_L2;JNBP1.5,LED_L3;JNBP1.3,LED_L4;JNBP1.4,LED_L5;SELOD:SETBIT0;SETBEX0;SETBIT1;SETBEX1;SETBEA;开总中断AJMPMAIN;返回主程序重复LED_L1:AJMPLOOKL1;跳至显示当前键位的预置数是多少L1LED_L2:AJMPLOOKL2;跳至显示当前键位的预置数是多少L2LED_L3:AJMPLOOKL3;跳至显示当前键位的预置数是多少L3LED_L4:AJMPLOOKL4;跳至显示当前键位的预置数是多少L4LED_L5:AJMPLOOKL5;ALLCLR:LJMPSTART0;NUMNOW:AJMPLOOKNOWNOTSLOW:ACALLLOOKLX;NOTSLOW1:ACALLDISPLAY0LCALLDLS1SETBP1.1JNBP1.1,NOTSLOW1LCALLCLEARPX;调用不减速程序MOVSLOW4,#0FHMOVLED4,#0EH;高位显示PXXXXAJMPMAINSELSAVE0:ACALLLOOKLX;将当前数寄存在指定单元SELSAVE:P3.7,SELOD5LCALLDLS1JNBP3.7,SELOD2;若按下大于1秒则跳LCALLSELOD3SELOD1:AJMPSELOD5SELOD2:ACALLLOOKLX;显示“”MOVLED4,#013H;MOVLED3,#013H;MOVLED2,#013H;MOVLED1,#013H;MOVLED0,#013H;SELOD21:ACALLDISPLAY0SETBP3.7JNBP3.7,SELOD21LJMPSELNUM;跳到设置预置数状态SELOD3:MOVA,LED2MOVMOVD,#011H;如为T则返回避免在显示SET时出错CJNEA,MOVD,SELOD5AJMPSELODSELOD5:CLRP1.7CLREA;关总中断MOVLED4,#0DH;设置键按下时显示“SET”MOVLED3,#05HMOVLED3,#011HMOVLED3,#012HMOVLED3,#0DHACALLDISPLAY0SETBP3.7JNBP3.7,SELOD5;ACTION:CLRP1.7ACALLDISPLAY0MOVP1,#0FFH;置P1.0至P1.6为输入状态CLRP1.7SETBP3.7JNBP1.0,KBSET3;执行超程计数JNBP1.1,KBSET0;RETE:JNBP1.2,KBOUT22;L2只有L1至L4与SET\SEL键输入有效JNBP1.3,KBOUT40;L4JNBP1.4,KBOUT0;LrelNEXTJNBP1.5,KBOUT3;L3JNBP1.6,KBOUT11;L1JNBP3.7,KBSET1;SETAJMPACTION;KBSET0:AJMPACTION;KBSET1:MOVA,LED2MOVMOVD,#011H;如为E则返回CJNEA,MOVD,KBSET12;AJMPACTION;KBSET12:ACALLDISPLAY0LCALLDLS1JNBP3.7,KBSET11;若按下大于1秒则跳AJMPACTION;KBSET11:AJMPSELSAVE;KBSET3:MOVA,LED2MOVMOVD,#011H;看是否为SETCJNEA,MOVD,KBOUT60;如不为SET就执行超程计数AJMPRETF;是SET则返回KBOUT60:LJMPKBOUT6;KBOUT0:AJMPKBOUT5;KBOUT40:AJMPKBOUT4;KBOUT11:MOVA,#05H;CJNEA,L1ORL2,KBOUT1;如标记为不是05则跳MOVRUNNOVER,#08H;建立循环次数8次KBOUT1:MOVLED4,#0AH;当K1按下时显示“L1MOVLED3,#ODHMOVLED2,#01HMOVLED1,#0DHMOVLED0,#0DHACALLDISPLAY0SETBP1.6JNBP1.6,KBOUT1;延时消抖ACALLDISPLAY0LCALLDLS3LJMPCLEAR1;如松开键时跳至CLEAR1置数程序KBOUT22:MOVA,#05H;CJNEA,L1ORL2,KBOUT2;如标记位不是05则跳(不循环计数)MOVRUNOVER,#06H;建立循环次数6次KBOUT2:MOVLED4,#OAH;L2MOVLED3,#0DH;MOVLED2,#02H;MOVLED1,#ODH;MOVLED0,#ODH;ACALLDISPLAY0SETBP1.2JNBP1.2,KBOUT2ACALLDISPLAY0LCALLDLS3LJMPCLEAR2KBOUT3:MOVLED4,#0AH;L3MOVLED3,#0DHMOVLED2,#03HMOVLED1,#0DHMOVLED0,#0DHACALLDISPLAY0SETBP1.5JNBP1.5,KBOUT3ACALLDISPLAY0LCALLDLS3LJMPCLEAR3KBOUT4:MOVLED4,#0AH;L4MOVLED3,#0DHMOVLED2,#04HMOVLED1,#0DHMOVLED0,#0DHACALLDISPLAY0SETBP1.3JNBP1.3,KBOUT4ACALLDISPLAY0LCALLDLS3LJMPCLEAR4KBOUT5:ACALLDISPLAY0SETBP1.4JNBP1.4,KBOUT5LJMPLOOKL5KBOUT6:MOVLED4,#011H;E…解除电机锁定并继续计数,同时高位用E显示ACALLDISPLAY0LCALLDL05SSETBP1.0JNBP1.0,KBOUT6LJMPCLEAREXACTION_X:ACALLDISPLAY0;循环数判别CLRC;清进位标志LCALLDLS3;延时约1秒LCALLDLS3DJNZRUNOVER,NEXT;是否计完8/6次?不是则再继续循环LJMPACTION;跳到停机状态,等待按键处理NEXT:MOVA,#05H;CJNEA,L1ORL,GOL2;如是L1则转L2,如是L2则转L1LJMPKBOUT1;GOL2:LJMPKBOUT2;3.2加1子程序框图显存数加1显存数加1显存数=10?置零结束YN图3-2加1子程序框图3.3加1子程序源码分析ADD1:INCLED1;LED1加1MOVA,LED1CJNEA,#0AH,ADD1OUT;显存单元在0-9MOVLED1,#00H;如是10时则置0INCLED2;LED2加1MOVA,LED2CJNEA,#0AH,ADD1OUT;MOVLED2,#00HINCLED3MOVA,LED3CJNEA,#0AH,ADD1OUT;MOVLED3,#00HINCLED4MOVA,LED4CJNEA,#0AH,ADD1OUT;MOVLED4,#00HADD1OUT:RET3.4减1子程序框图显存数减1显存数减1清进位标志显存数是0FFH?置9,向前借1Y结束N图3-3减1子程序框图3.5减1子程序源码分析DEC1:DECLED1;LED1减1MOVA,LED1CLRC;清进位标志CJNEA,#0FFH,DEC1OUT;MOVLED1,#09H;DECLED2;MOVA,LED2CLRC;CJNEA,#0FFH,DEC1OUT;MOVLED2,#09H;DECLED3;MOVA,LED3CLRC;CJNEA,#0FFH,DEC1OUT;MOVLED3,#09H;DECLED4;MOVA,LED4CLRC;

温馨提示

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

评论

0/150

提交评论