还剩33页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意作者签名 日 期 指导教师签名 日 期 使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容作者签名 日 期 学位论文原创性声明本人郑重声明所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明本人完全意识到本声明的法律后果由本人承担作者签名日期年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文涉密论文按学校规定处理作者签名日期年月日导师签名日期年月日摘要绕线机是用来绕制线圈的专用设备而计数器则起到了计数作用计数器可以用来显示产品的工作状态,一般来说主要是用来表示产品已经完成了多少份的折页配页工作绕线机计数器的核心控制是单片机单片机技术作为一个非常有前途的计算机技术其应用非常广泛已深入到我们日常生活中的方方面面目前单片机正在向稳定可靠、小而廉价的方向发展本设计选用AT89C51单片机来制作,它是一个40脚的8位单片机,片内含4KB的可编程存储器,有4个8位并行输入/输出口,可用于多个按键信号的输入及控制信号、数字显示信号、声音信号的输出有两个外中断输入端及两个定时器/计数器,为软件设计与电路设计相配合提供了方便绕线机计数器的控制电路除了单片机电路外还有5V稳压电源电路、光电开关、4011与非门、按键输入电路、数码管显示电路和电动机电路关键词绕线机计数器;单片机;数码管显示;按键输入;AbstractWindingthecoilwindingmachineisusedspecialequipmentandthecounteriscountingplayedarole.Countercanbeusedtodisplaytheworkingstatusofproductsingeneralismainlyusedtoindicatehowmanyproductshavecompletedthepagewiththeworkoffolding.Windingmachinecontrolisthecoreofcountermicrocontroller.Microcomputertechnologyasapromisingcomputertechnologyitsapplicationisveryextensivehasbeendeepintoeveryaspectofourdailylife.CurrentlySCMisthereliablesmallandcheapdirection.AT89C51microcontrollerusedinthisdesigntoproductionitisa40-foot8-bitmicrocontrollerwithaprogrammablememorycontaining4KBtherearefour8-bitparallelinput/outputmultiplekeyscanbeusedtoinputsignalsandcontrolsignalsdigitaldisplaysignalssoundsignalsoutput.Therearetwointerruptinputsandthetwooutertimer/counterforthedesignandcircuitdesignsoftwareprovidesaconvenientmatch.Windingmachinecountercontrolcircuitinadditiontomicrocontrollercircuitexternal5Vregulatedpowersupplycircuitalsophotoelectricswitches4011andnon-gatekeyinputcircuitdigitalcontrolcircuitandmotorcircuit.Keywords Windingmachinecounter;SCM;digitaldisplay;keyinput;目录TOC\o1-3\h\z\u1绪论
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交流电经变压器T
1、桥式整流电路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与非门图2-7CD4011内部逻辑结构图图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的输出为“0”,如真值表第二列3当X=
1、Y=0时,由于Y=0导致NAND-B的输出为“1”,使得NAND-1的两个输入均为“1”,因此NAND-A的输出为“0”,如真值表第三列4当X=
1、Y=1时,因为一个“1”不影响NAND门的输出,所以两个NAND门的输出均不改变状态,如真值表第四列管脚功能数据输入端1A2A3A4A数据输入端1B2B3B4B电源正极VDD接地VSS数据输出端1Y2Y3Y4Y
2.4主控制电路主控制器主要由单片机AT89C
51、振荡电路和复位电路三部分组成由于它是单片机工作的必要组成部分,所以又称为单片机最小系统图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编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节程序校验时,需要外部上拉电阻P1口P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)此外,P
1.0和P
1.2分别作定时器/计数器2的外部计数输入(P
1.0/T2)和时器/计数器2的触发输入(P
1.1/T2EX),具体如下表3-1所示在flash编程和校验时,P1口接收低8位地址字节表2-2P1口的第二功能引脚号第二功能P
1.0T2(定时器/计数器T2的外部计数输入),时钟输出P
1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P
1.5MOSI(在系统编程用)P
1.6MISO(在系统编程用)P
1.7SCK(在系统编程用)P2口P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址在这种应用中,P2口使用很强的内部上拉发送1在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号P3口P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)P3口亦作为AT89C51特殊功能(第二功能)使用,如下表3-2所示在flash编程和校验时,P3口也接收一些控制信号引脚号第二功能P
3.0RXD(串行输入)P
3.1TXD(串行输出)P
3.2INT0外部中断0P
3.3INT0外部中断0P
3.4T0(定时器0外部输入)P
3.5T1(定时器1外部输入)P
3.6WR外部数据存储器写选通P
3.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个轻触按键,按键值由单片机的P
1.0-P
1.7端输入,按键S
1、S
2、S
3、S
4、S
5、S
6、S
7、S
8、S12分别是“L1”按键、“L2”按键、“L3”按键、“L4”按键、“-rel-”按键、“+/r”按键、“-/p”按键和“清零”按键当无按键按下时,单片机的P
1.0~P
1.7端读入的应是高电平;若有按键按下时,单片机P
1.0~P
1.7的某位为低电平,并设置电路同时触发单片机的外中断输入端INT0,使控制程序转入中断服务程序,来扫描P
1.0~P
1.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:MOVASLOW4;判断是否到减速的数值(千位)MOVMOVDLED4CJNEAMOVDLOOP0MOVASLOW3;判断是否到减速的数值(百位)MOVMOVDLED3CJNEAMOVDLOOP0MOVASLOW2;判断是否到减速的数值(十位)MOVMOVDLED2CJNEAMOVDLOOP0MOVASLOW1;判断是否到减速的数值(个位)MOVMOVDLED1CJNEAMOVDLOOP0MOVALED0;减速(使P
1.7口电压下降约
0.6V)MOVCA@A+DPTR;递增减速MOVP1ACLRP
3.5;高位高亮显示发出提示,并断开慢起动电路ACALLD1MSSETBP
1.7LOOP0:MOVATOEND4;判断是否到预置数了(千位)MOVMOVDLED4CJNEAMOVDLOOPMOVATOEND3;判断是否到预置数了(百位)MOVMOVDLED3CJNEAMOVDLOOPMOVATOEND2;判断是否到预置数了(十位)MOVMOVDLED2CJNEAMOVDLOOPMOVATOEND1;判断是否到预置数了(个位)MOVMOVDLED1CJNEAMOVDLOOPMODATOEND0;判断是否到预置数了(小数位)MOVMOVDLED0CJNEAMOVDLOOPCLRP
1.7;控制电机停车LCALLDLS3;延时约
0.5秒MOVA#05H;CJNEAL1ORL2LOOP1;如标记位不是07则跳至LOOP1AJMPACTION_X;到预置数时,跳到循环L1-L2计数LOOP:AJMPACTION;跳到停机等待按键处理程序LOOP1:ACALLDISPLAY;调用显示程序MOVP1#0FFH;置P1口为输入状态MOVP3#0FFH;置P3口为输入状态JNBP
1.0NUMNOW;显示当前的预置数并将标志位置数JNBP
1.1NOTSLOW;不减速JNBP
1.7ALLCLR;如清零键按下跳至清零序清除所有已设定数JNBP
3.7SELSAVE0;如设置键按下跳到到点程序选数JNBP
1.6LED_L1;显示相应键位值是多少JNBP
1.2LED_L2;JNBP
1.5LED_L3;JNBP
1.3LED_L4;JNBP
1.4LED_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:ACALLDISPLAY0LCALLDLS1SETBP
1.1JNBP
1.1NOTSLOW1LCALLCLEARPX;调用不减速程序MOVSLOW4#0FHMOVLED4#0EH;高位显示PXXXXAJMPMAINSELSAVE0:ACALLLOOKLX;将当前数寄存在指定单元SELSAVE:JBP
3.7SELOD5LCALLDLS1JNBP
3.7SELOD2;若按下大于1秒则跳LCALLSELOD3SELOD1:AJMPSELOD5SELOD2:ACALLLOOKLX;显示“-----”MOVLED4#013H;MOVLED3#013H;MOVLED2#013H;MOVLED1#013H;MOVLED0#013H;SELOD21:ACALLDISPLAY0SETBP
3.7JNBP
3.7SELOD21LJMPSELNUM;跳到设置预置数状态SELOD3:MOVALED2MOVMOVD#011H;如为T则返回避免在显示SET时出错CJNEAMOVDSELOD5AJMPSELODSELOD5:CLRP
1.7CLREA;关总中断MOVLED4#0DH;设置键按下时显示“SET”MOVLED3#05HMOVLED3#011HMOVLED3#012HMOVLED3#0DHACALLDISPLAY0SETBP
3.7JNBP
3.7SELOD5;ACTION:CLRP
1.7ACALLDISPLAY0MOVP1#0FFH;置P
1.0至P
1.6为输入状态CLRP
1.7SETBP
3.7JNBP
1.0KBSET3;执行超程计数JNBP
1.1KBSET0;RETE:JNBP
1.2KBOUT22;L2只有L1至L4与SET\SEL键输入有效JNBP
1.3KBOUT40;L4JNBP
1.4KBOUT0;L--------rel--------NEXTJNBP
1.5KBOUT3;L3JNBP
1.6KBOUT11;L1JNBP
3.7KBSET1;SETAJMPACTION;KBSET0:AJMPACTION;KBSET1:MOVALED2MOVMOVD#011H;如为E则返回CJNEAMOVDKBSET12;AJMPACTION;KBSET12:ACALLDISPLAY0LCALLDLS1JNBP
3.7KBSET11;若按下大于1秒则跳AJMPACTION;KBSET11:AJMPSELSAVE;KBSET3:MOVALED2MOVMOVD#011H;看是否为SETCJNEAMOVDKBOUT60;如不为SET就执行超程计数AJMPRETF;是SET则返回KBOUT60:LJMPKBOUT6;KBOUT0:AJMPKBOUT5;KBOUT40:AJMPKBOUT4;KBOUT11:MOVA#05H;CJNEAL1ORL2KBOUT1;如标记为不是05则跳MOVRUNNOVER#08H;建立循环次数8次KBOUT1:MOVLED4#0AH;当K1按下时显示“L1”MOVLED3#ODHMOVLED2#01HMOVLED1#0DHMOVLED0#0DHACALLDISPLAY0SETBP
1.6JNBP
1.6KBOUT1;延时消抖ACALLDISPLAY0LCALLDLS3LJMPCLEAR1;如松开键时跳至CLEAR1置数程序KBOUT22:MOVA#05H;CJNEAL1ORL2KBOUT2;如标记位不是05则跳(不循环计数)MOVRUNOVER#06H;建立循环次数6次KBOUT2:MOVLED4#OAH;L2MOVLED3#0DH;MOVLED2#02H;MOVLED1#ODH;MOVLED0#ODH;ACALLDISPLAY0SETBP
1.2JNBP
1.2KBOUT2ACALLDISPLAY0LCALLDLS3LJMPCLEAR2KBOUT3:MOVLED4#0AH;L3MOVLED3#0DHMOVLED2#03HMOVLED1#0DHMOVLED0#0DHACALLDISPLAY0SETBP
1.5JNBP
1.5KBOUT3ACALLDISPLAY0LCALLDLS3LJMPCLEAR3KBOUT4:MOVLED4#0AH;L4MOVLED3#0DHMOVLED2#04HMOVLED1#0DHMOVLED0#0DHACALLDISPLAY0SETBP
1.3JNBP
1.3KBOUT4ACALLDISPLAY0LCALLDLS3LJMPCLEAR4KBOUT5:ACALLDISPLAY0SETBP
1.4JNBP
1.4KBOUT5LJMPLOOKL5KBOUT6:MOVLED4#011H;E…解除电机锁定并继续计数,同时高位用E显示ACALLDISPLAY0LCALLDL05SSETBP
1.0JNBP
1.0KBOUT6LJMPCLEAREXACTION_X:ACALLDISPLAY0;循环数判别CLRC;清进位标志LCALLDLS3;延时约1秒LCALLDLS3DJNZRUNOVERNEXT;是否计完8/6次?不是则再继续循环LJMPACTION;跳到停机状态,等待按键处理NEXT:MOVA#05H;CJNEAL1ORLGOL2;如是L1则转L2如是L2则转L1LJMPKBOUT1;GOL2:LJMPKBOUT2;
3.2加1子程序框图图3-2加1子程序框图
3.3加1子程序源码分析ADD1:INCLED1;LED1加1MOVALED1CJNEA#0AHADD1OUT;显存单元在0-9MOVLED1#00H;如是10时则置0INCLED2;LED2加1MOVALED2CJNEA#0AHADD1OUT;MOVLED2#00HINCLED3MOVALED3CJNEA#0AHADD1OUT;MOVLED3#00HINCLED4MOVALED4CJNEA#0AHADD1OUT;MOVLED4#00HADD1OUT:RET
3.4减1子程序框图图3-3减1子程序框图
3.5减1子程序源码分析DEC1:DECLED1;LED1减1MOVALED1CLRC;清进位标志CJNEA#0FFHDEC1OUT;MOVLED1#09H;DECLED2;MOVALED2CLRC;CJNEA#0FFHDEC1OUT;MOVLED2#09H;DECLED3;MOVALED3CLRC;CJNEA#0FFHDEC1OUT;MOVLED3#09H;DECLED4;MOVALED4CLRC;CJNEA#0FFHDEC1OUT;MOVLED4#09H;DEC1OUT:RET
3.6显示子程序图3-4显示程序框图DISPLAY:MOVDPTR#NUMTAB;指针指向数据字符码MOVALED0MOVCA@A+DPTR;查表获得的值送累加器AMOVP1A输出显示SETBP
1.7CLRP
3.0;选中小数位显示ACALLD1MSSETBP
3.0MOVALED1MOVCA@A+DPTRMOVP1ASETBP
1.7CLRP
3.1;选中个位数显示ACALLD1MSSETBP
3.1MOVALED2MOVCA@A+DPTRMOVP1ASETBP
1.7CLRP
3.4;选中十位数显示ACALLD1MSSETBP
3.4MOVALED3MOVCA@A+DPTRMOVP1ASETBP
1.7CLRP
3.7;选中百位数显示ACALLD1MSSETBP
3.7MOVALED4MOVCA@A+DPTRMOVP1ASETBP
1.7CLRP
3.5;选中千位数显示ACALLD1MSSETBP
3.5RET4总结在这次的毕业设计中,我的课题是绕线机计数器设计经过这次的毕业设计,我对单片机和PROTEL方面的知识的有了更深入的了解基本掌握了单片机的原理和引脚作用;能够用PROTEL画出电路原理图,掌握了布局和布线;了解了单片机的汇编语言在这次设计中,还有很多知识等待我去学习通过这次毕业设计,我学到了许多知识和一些经验毕业设计是一次综合性的考察,这需要我们有扎实的基础,在此基础上通过所学到的专业知识,才能进一步的进行设计毕业设计中还有我们未涉及到的知识,这需要我们有自学能力,能够查找资料,学习相关知识遇到自己不能解决的困难多向导师请教在毕业设计过程中,一定要按老师要求的去做,不要犯错误,要知错能改,要有积极向上的学习态度和热情,要对自己的工作负责,要粗中有细,要有团队协作精神致谢本论文是在沈春耕、钱炜坤、张春平等老师悉心指导下完成的,沈老师对学科前沿和研究方向的敏锐洞察和正确把握使我能顺利进行课题研究钱老师的广博学识、严谨治学态度、以及不懈努力、锐意进取、诲人不倦的精神品质令我难以忘怀张老师谦逊无私、平易近人为人随和热情,治学严谨细心在闲聊中他总是能像知心朋友一样鼓励你,在论文的写作和措辞等方面他也总会以“专业标准”严格要求你,从选题、定题开始,一直到最后论文的反复修改、润色,张老师始终认真负责地给予我深刻而细致地指导,帮助我开拓研究思路,精心点拨、热忱鼓励正是张老师的无私帮助与热忱鼓励,我的毕业论文才能够得以顺利完成,谢谢张老师的高尚品格及其他几位老师的热情教导的朴实作风也一直是我学习的榜样在此,我向你们致以最深挚的谢意感谢所有在我求学期间给过我关心和帮助的老师和同学参考文献
[1]翁桂荣邹丽新.单片微型计算机接口技术[M].苏州苏州大学出版社,200218-
19.
[2]翁桂荣邹丽新.单片微型计算机原理[M].苏州苏州大学出版社,20013-
6.
[3]翁桂荣邹丽新.单片微型计算机原理[M].苏州苏州大学出版社,200123-
25.
[4]翁桂荣邹丽新.单片微型计算机原理[M].苏州苏州大学出版社,
2001208.
[5]徐惠民,安德宁.单片微型计算机原理接口与应用.北京:北京邮电大学出版社1996
[6]肖洪兵.跟我学用单片机.北京:北京航空航天大学出版社
2002.8
[7]何立民.单片机高级教程.北京:北京航空航天大学出版社2001
[8]Volume.MAXIMNewReleasesDataBook.1998
[9]MalvinoA.P.DigitalComputerElectronics.McGraw-HillPublishingCo.1997
[10]NEURONCHIPDistributedCommunicationandControlProcessors.MotoloraInc.1994附录总电路图:单片机显示驱动电路电机键盘VDDVSS14131211109812345671131211109814234567VDD4B4A4Y3Y3B3A1A1B1Y2Y2A2BVSS显存数加1显存数=10?置零结束YN显存数减1清进位标志显存数是0FFH?置9,向前借1Y结束N开始指针指向数据字符码查表输出显示延时1ms显示。