基于单片机的延时导轨设计_第1页
基于单片机的延时导轨设计_第2页
基于单片机的延时导轨设计_第3页
基于单片机的延时导轨设计_第4页
基于单片机的延时导轨设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

山东职业学院特长生课题设计论文延时轨道设计系别:电气工程系专业:应用电子技术学生姓名:田伟杰、盛佳、吴晨晨指导教师:翟庆一日期:2023年3月目录TOC\o"1-4"\h\u22769【摘要】36340一、引言311489二、步进电机常见的控制方案与驱动技术简介451812.1基于电子电路的控制4224692.2基于PLC的控制5128732.3基于单片机的控制615766三、步进电机电机驱动与原理6277953.1电机驱动6185943.1.1主要特点698103.1.2性能与指标6288923.2步进电机特点7314543.3步进电机原理88869四、AT89S52简介845694.1主要性能参数9104514.2功能特性概述9116664.3引脚功能说明971734.4晶体振荡器特性113468五、课程设计目的1110629六、系统功能1220060七、硬件设计思想和电路原理图12220867.1系统总体设计与框图12310207.2实际电路图13181107.2.1电源电路13186027.2.2单片机最小系统设计1368317.2.3按键调节局部1556837.2.4LCD显示局部159246八、系统软件设计16147018.1程序流程设计16151038.2软件设计1713753九、调试总结18152129.1操作控制:18112939.2分析与心得1827228附录一:参考文献1932152附录二:程序20【摘要】本课程设计的内容是利用51单片机、步进电机驱动、字符型LCD液晶显示和键盘阵列到达控制步进电机的启动、停止、正转、反转、时间和状态显示的目的,使步进电机控制更加灵活。步进电机采用WZM-2H042MH驱动器,WZM-2H042MH具有过流、过压、欠压、短路、脱机〔EDA〕保护等优点。利用LCD液晶显示增设电机状态显示功能,各项数据更直观。实测结果说明,该控制系统到达了设计的要求。关键字:51单片机、LCD液晶显示、步进电机、WZM-2H042MH电机驱动引言步进电动机又称脉冲电动机或阶跃电动机,国外一般称为Steppingmotor、Pulsemotor或Stepperservo,其应用开展已有约80年的历史。步进电机是一种把电脉冲信号变成直线位移或角位移的控制电机,其位移速度与脉冲频率成正比,位移量与脉冲数成正比。步进电机在结构上也是由定子和转子组成,可以对旋转角度和转动速度进行高精度控制。当电流流过定子绕组时,定子绕组产生一矢量磁场,该矢量场会带动转子旋转一角度,使得转子的一对磁极磁场方向与定子的磁场方向一着该磁场旋转一个角度。因此,控制电机转子旋转实际上就是以一定的规律控制定子绕组的电流来产生旋转的磁场。每来一个脉冲电压,转子就旋转一个步距角,称为一步。根据电压脉冲的分配方式,步进电机各相绕组的电流轮流切换,在供应连续脉冲时,就能一步一步地连续转动,从而使电机旋转。步进电机每转一周的步数相同,在不丢步的情况下运行,其步距误差不会长期积累。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,同时步进电机只有周期性的误差而无累积误差,精度高,步进电动机可以在宽广的频率范围内通过改变脉冲频率来实现调速、快速起停、正反转控制等,这是步进电动机最突出的优点。正是由于步进电机具有突出的优点,所以成了机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的开展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。比方在数控系统中就得到广泛的应用。目前世界各国都在大力开展数控技术,我国的数控系统也取得了很大的开展,我国已经能够自行研制开发适合我国数控机床开展需要的各种档次的数控系统。虽然与兴旺国家相比,我们我国的数控技术方面整体开展水平还比拟低,但已经在我国占有非常重要的地位,并起了很大的作用。除了在数控系统中得到广泛的应用,近年来由于微型计算机方面的快速开展,使步进电机的控制发生了革命性变革。优点明显的步进电机被广泛应用在电子计算机的许多外围设备中,例如打印机,纸带输送机构,卡片阅读机,主动轮驱动机构和存储器存取机构等,步进电机也在军用仪器,通信和雷达设备,摄影系统,光电组合装置,阀门控制,数控机床,电子钟,医疗设备及自动绘图仪,数字控制系统,工具机控制,程序控制系统以及许多航天工业的系统中得到应用。因而,对于步进电机控制的研究也就显得尤为重要了。为了得到良好的控制性能,对步进电机的控制的研究就一直没有停止过,许多重大的技术得以实现。上世纪80年代以后,由于微型计算机以多功能的姿态出现,步进电动机的控制方式变得更加灵活多样。原来的步进电机控制系统采用分立元件的控制回路,或者集成电路,不仅调试安装复杂,要消耗大量元器件,而且一旦定型之后,要改变控制方案就一定要重新设计电路,不利于系统的改良升级。基于微型单片机的控制系统那么通过软件来控制步进电机,能够更好地发挥步进电机的潜力。因此,用微型单片机控制步进电机己经成为了一种必然的趋势,也符合数字化的时代开展要求。还比方为了适应一些领域中高精度定位和运行平稳性的要求,出现的步进电机细分驱动技术,就包括振荡器、环行分配器控制的细分驱动、基于单片机斩波恒流驱动、基于单片机的直流电压驱动三种常见驱动方式,除上述三种步进电机的驱动方案之外,目前报道的驱动方案还有根据汇编语言或C语言进行软件开发,通过串行或并行通行的方式实现pc机与步进电机控制器之间的数据通信,最终实现由PC机直接控制步进电机的方法。二、步进电机常见的控制方案与驱动技术简介2.1基于电子电路的控制步进电机受电脉冲信号控制,电脉冲信号的产生、分配、放大全靠电子元器件的动作来实现。由于脉冲控制信号的驱动能力一般都很弱,因此必须有功率放大驱动电路。步进电机与控制电路、功率放大驱动电路组成一体,构成步进电机驱动系统。此种控制电路设计简单,功能强大,可实现一般步进电机的细分任务。这个系统由三局部组成:脉冲信号产生电路、脉冲信号分配电路、功率放大驱动电路。系统组成如图1所示。图1基于电子电路控制系统此种方案即可为开环控制,也可闭环控制。开环时,其平稳性好,本钱低,设计简单,但未能实现高精度细分。采用闭环控制,即能实现高精度细分,实现无级调速。闭环控制是不断直接或间接地检测转子的位置和速度,然后通过反应和适当的处理,自动给出脉冲链,使步进电机每一步响应控制信号的命令,从而只要控制策略正确电机不可能轻易失步[4]。该方案多通过一些大规模集成电路来控制其脉冲输出频率和脉冲输出数,功能相对较单一,如需改变控制方案,必须需重新设计,因此灵活性不高。2.2基于PLC的控制PLC也叫可编程控制器,是一种工业上用的计算机。PLC作为新一代的工业控制器,由于具有通用性好、实用性强、硬件配套齐全、编程简单易学和可靠性高等优点而广泛应用于各行业的自动控制系统中。步进电机控制系统有PLC、环形分配器和功率驱动电路组成。控制系统采用PLC来产生控制脉冲。通过PLC编程输出一定数量的方波脉冲,控制步进电机的转角进而控制伺服机构的进给量,同时通过编程控制脉冲频率来控制步进电机的转动速度,进而控制伺服机构的进给速度。环形脉冲分配器将PLC输出的控制脉冲按步进电机的通电顺序分配到相应的绕组。PLC控制的步进电机可以采用软件环形分配器,也可采用硬件环形分配器。采用软件环形分配器占用PLC资源较多,特别是步进电机绕组相数大于4时,对于大型生产线应该予以考虑。采用硬件环形分配器,虽然硬件结构稍微复杂些,但可以节省PLC资源,目前市场有多种专用芯片可以选用。步进电机功率驱动电路将PLC输出的控制脉冲放大,到达比拟大的驱动能力,来驱动步进电机。采用软件来产生控制步进电机的环型脉冲信号,并用PLC中的定时器来产生速度脉冲信号,这样就可以省掉专用的步进电机驱动器,降低硬件本钱。但由于PLC的扫描周期一般为但由于PLC的扫描周期一般为几毫秒到几十毫秒,相应的频率只能到达几百赫兹,因此,受到PLC工作方式的限制及其扫描周期的影响,步进电机不能在高频下工作,无法实现高速控制。并且在速度较高时,由于受到扫描周期的影响,相应的控制精度就降低了。2.3基于单片机的控制采用单片机来控制步进电机,实现了软件与硬件相结合的控制方法。用软件代替环形分配器,到达了对步进电机的最正确控制。系统中采用单片机接口线直接去控制步进电机各相驱动线路。由于单片机的强大功能,还可设计大量的外围电路,键盘作为一个外部中断源,设置了步进电机正转、反转、档次、停止等功能,采用中断和查询相结合的方法来调用中断效劳程序,完成对步进电机的最正确控制,显示器及时显示正转、反转速度等状态。环形分配器其功能由单片机系统实现,采用软件编程的方法实现脉冲的分配。本方案有以下优点:(1)单片机软件编程可以使复杂的控制过程实现自动控制和精确控制,防止了失步、振荡等对控制精度的影响;(2)用软件代替环形分配器,通过对单片机的设定,用同一种电路实现了多相步进电机的控制和驱动,大大提高了接口电路的灵活性和通用性;(3)单片机的强大功能使显示电路、键盘电路、复位电路等外围电路有机的组合,大大提高系统的交互性[5]。基于以上优点,本次设计采用基于单片机的控制方案。三、步进电机电机驱动与原理3.1电机驱动3.1.1主要特点24-40V直流供电,适应最恶劣电网环境H极双极恒相流细分驱动独创的速度自适应电路,自动寻优细分电流方便选择2-128细分15种运行模式过流、过压、欠压、短路保护脱机〔ENA〕保护功能性能与指标WZM-2H042MH为一款等角度恒力矩细分驱动器,特别适合于大批量低本钱用途,同时具有许多极富价值的优越功能。驱动器电压直流24-40V,适配电流为3A以下,外径42、57MM的二相混合式步进电机。此驱动器内部采用美国先进技术,此电路可以使电机调整运行力矩大,电机发热和噪音明显改善,高速性能,有较大提高,驱动器发热小;步进脉冲停止超过100ms,驱动器电流自动减半。电气指标环境指标说明最小值典型值最大值供电电压〔VDC〕2024V400.9-3.0逻辑输入电流〔mA〕710160-200脉冲低电平时间〔US〕2.5--驱动器WZM-2H042MH细分表驱动器WZM-2H042MH电流表电流、细分拨码开关设定驱动器WZM-2H042MH细分表驱动器WZM-2H042MH电流表八位拨码开关功能设定电流选择拨动开关123电流值〔A〕(峰值)ONONON0.90AOFFONON1.20AONOFFON1.50AOFFOFFON1.80AONONOFF2.10AOFFONOFF2.40AONOFFOFF2.70AOFFOFFOFF3.00A细分选择拨动开关5678步数/圈OFFONONON400ONOFFONON800OFFOFFONON1600ONONOFFON3200OFFONOFFON6400ONOFFOFFON12800OFFOFFOFFON25600ONONONOFF1000OFFONONOFF2000ONOFFONOFF4000OFFOFFONOFF5000ONONOFFOFF8000OFFONOFFOFF10000ONOFFOFFOFF20000OFFOFFOFFOFF25000电流选择开关:SW1、SW2、SW3;电流选择开关:SW1、SW2、SW3;静态半流或全流选择:SW4、ON全流、OFF半流;细分选择开关:SW5、SW6、SW7、SW8;具体可参照面板丝印说明。开关翻开为0〔OFF=0〕,闭合为1〔ON=1〕。3.2步进电机特点1.精度高一般的步进电机的精度为步进角的3-5%,且不累积。可在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,这是步进电动机最突出的优点2.过载性好其转速不受负载大小的影响,不像普通电机,当负载加大时就会出现速度下降的情况,所以步进电机使用在对速度和位置都有严格要求的场合;3.控制方便步进电机是以“步〞为单位旋转的,数字特征比拟明显,这样就给计算机控制带来了很大的方便,反过来,计算机的出现也为步进电机开辟了更为广阔的使用市场;4.整机结构简单传统的机械速度和位置控制结构比拟复杂,调整困难,使用步进电机后,使得整机的结构变得简单和紧凑。3.3步进电机原理下列图是一种四相可变磁阻型的步进电机结构示意图。这种电机定子上有八个凸齿,每一个齿上有一个线圈。线圈绕组的连接方式,是对称齿上的两个线圈进行反相连接,如图中所示。八个齿构成四对,所以称为四相步进电机。图二电机原理图它的工作过程是这样的:当有一相绕组被鼓励时,磁通从正相齿,经过软铁芯的转子,并以最短的路径流向负相齿,而其他六个凸齿并无磁通。为使磁通路径最短,在磁场力的作用下,转子被强迫移动,使最近的一对齿与被鼓励的一相对准。在图(A)中A相是被鼓励,转子上大箭头所指向的那个齿,与正向的A齿对准。从这个位置再对B相进行鼓励,如图1中的(B),转子向反时针转过15°。假设是D相被鼓励,如图中的(C),那么转子为顺时针转过15°。下一步是C相被鼓励。因为C相有两种可能性:A—B—C—D或A—D—C—B。一种为反时针转动;另一种为顺时针转动。但每步都使转子转动15°。电机步长(步距角)是步进电机的主要性能指标之一,不同的应用场合,对步长大小的要求不同。改变控制绕组数(相数)或极数(转子齿数),可以改变步长的大小。它们之间的相互关系,可由下式计算:Lθ=360P×N式中:Lθ为步长;P为相数;N为转子齿数。在图1中,步长为15°,表示电机转一圈需要24步。四、AT89S52简介AT89S52是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程〔ISP〕也可用传统方法进行编程及通用8位微处理器于单片芯片中,功能强大。4.1主要性能参数·与MCS-51产品指令系统完全兼容·4k字节在系统编程〔ISP〕Flash闪速存储器·4.0-5.5V的工作电压范围·全静态工作模式:0Hz-33MHz·三级程序加密锁·128×8字节内部RAM·32个可编程I/O口线·2个16位定时/计数器·6个中断源·全双工串行UART通道·低功耗空闲和掉电模式·中断可从空闲模唤醒系统·看门狗〔WDT〕及双数据指针·掉电标识和快速编程特性·灵活的在系统编程〔ISP字节或页写模式〕4.2功能特性概述AT89S51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗〔WDT〕,两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。4.3引脚功能说明图三AT89S52该设计使用到的单片机芯片对应管脚名称位置等如图的引脚功能图详细说明。·VCC:电源电压·GND:地·RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFRAUXR的DISRT0位〔地址8EH〕可翻开或关闭该功能。DISRT0位缺为RESET输出高电平翻开状态。·ALE/PROG:当访问外部程序存储器或数据存储器时,ALE〔地址锁存允许〕输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对F1ash存储器编程期间,该引脚还用于输入编程脉冲〔PROG〕。如必要,可通过对特殊功能存放器〔SFR〕区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只一条M0VX和M0VC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。·PSEN:程序储存允许〔PSEN〕输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令〔或数据〕时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的PSEN信号。·EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器〔地址为0000H-FFFFH〕,EA端必须保持低电平〔接地〕。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平〔接Vcc端〕,CPU那么执行内部程序存储器中的指令。F1ash存储器编程时,该引脚加上+12V的编程电压Vpp。·XTALl:振荡器反相放大器及内部时钟发生器的输入端。·XTAL2:振荡器反相放大器的输出端。·存储器结构:MCS-51单片机内核采用程序存储器和数据存储器空间分开的结构,均具64KB外部程序和数据的寻址空间。·程序存储器:如果EA引脚接地〔GND〕,全部程序均执行外部存储器。在AT89S51,假设EA接至Vcc〔电源+〕,程序首先执行地址从0000H-0FFFH〔4KB〕内部程序存储器,再执行地址为1000H-FFFFH〔60KB〕的外部程序存储器。·数据存储器:AT89S52的具128字节的内部RAM,这128字节可利用直接或间接寻址方式访问,堆栈操作可利用间接寻址方式进行,128字节均可设置为堆栈区空间。4.4晶体振荡器特性AT89S52一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反应元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。外接石英晶体〔或陶瓷谐振器〕及电容Cl、C2接在放大器的反应回路构成并联振荡电路。对外接电容Cl、C2虽然没十分严格的要求,但电容容量的大小会轻微影响振荡频率的上下、振荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,我们推荐电容使用30pF±10pF,而如使用陶瓷谐振器建议选择40pF±10pF。用户也可以采用外部时钟。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2那么悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。五、课程设计目的1.制作基于AT89S52单片机控制步进电机延时轨道。2.通过本次课程设计加深对单片机课程的全面认识和掌握。3.锻炼通过自学与自己探索的方式解决问题的能力。4.通过此次课程设计将单片机软硬件结合起来对程序进行编辑,校验,锻炼实践能力和理论联系实际的能力。5.锻炼团队分工合作与协调能力。六、系统功能本设计采用单片机AT89S52来作为整个步进电机控制系统的运动控制核心部件,采用了电机驱动及其外围电路构成了整个系统的驱动局部,再加上作为执行部件的步进电机来构成了一个根本的步进电机控制系统。系统的具体功能和要求如下:1.单片机最小系统板的设计;2.实现步进电机的启动、停止、正转、反转控制;3.驱动电路可提供电压为12V,电流为0.3A的驱动信号;4.步进电机的运行时间由LCD液晶显示;5.键盘扫描电路的设计七、硬件设计思想和电路原理图7.1系统总体设计与框图独立按键模块电机驱动模块AT89S52独立按键模块电机驱动模块AT89S52步进电机5V稳压模块LCD显示模块5V稳压模块LCD显示模块图四设计框图电路系统结构如下图,系统选用AT89S52单片机为控制核心,外部扩展1602驱动芯片用以实现时间显示功能,电机驱动模块控制步进电机运行,设独立按键方便操作和控制。单片机最小系统作为整个系统的控制核心,它主要负责产生控制步进电机转动的脉冲,通过单片机的软件编程代替环形脉冲分配器输出控制步进电机的脉冲信号,步进电机转动的角度大小与单片机输出的脉冲数成正比步进电机转动的速度与输出的脉冲频率成正比,而步进电机转动的的方向与输出的脉冲顺序有关。单片机将会把电机运行时间通过LCD显示出来。电机驱动模块负责将单片机发给步进电机的信号功率放大,从而驱动电机工作。独立按键作为一个外部中断源,和单片机端口连接,通过它设置了电机的正转,反转。采用了中断和查询相结合的方法来调用中断效劳程序,完成了对步进电机的最正确的及时的控制。7.2实际电路图7.2.1电源电路:MIC29302是我们最常用到的稳压芯片了,它的使用方便,用很简单的电路即可以输入一个直流稳压电源,它的输出电压为可调输出可调电压1.25V-26V,性能比拟稳定。稳压电路为输入12V,电路输出5V。单片机最小系统设计采用AT89S51单片机构成了控制系统的核心,其根本模块就主要包括复位电路和晶体震荡电路。在本设计当中,单片机的P0口、P1口、P2口、P3口全部参与系统工作,单片机最小系统的接线如下图:R2上拉电阻:因为AT89系列单片机P0口内部没有集成上拉电阻,内部是漏极开路型〔作I/O口用时〕。所以它叫做准双向口而不叫双向口。如果你想让它输出高电平的话,必须要通过上拉电阻接VCC。提高P0口的驱动能力。单片机时钟电路:单片机复位电路:7.2.3按键调节局部:通过按键来调节单片机,进而控制导轨运动。7.2.4LCD显示局部:通过单片机控制导轨,LCD显示时间信息。八、系统软件设计8.1程序流程设计本系统的软件设计主要分为系统初始化、延时子程序、按键响应程序,LCD管显示程序,控制脉冲输出几局部,事实上每一局部都是紧密相关的,每个功能模块对于整体设计都是非常重要,单片机AT89S52通过软件编程才能使系统真正的运行起来,软件设计的好坏也直接决定了系统的运行质量。程序流程图的设计遵循自顶向下的原那么,即从主体遂逐步细分到每一个模块的流程。开始程序初始化程序初始化串口是否传送数据否是调用子程序结束结束图五程序主流程图开始电机是否工作电机是否工作否是正反转正反转反正处理电机处理电机处理电机显示时间显示时间显示时间是否停机是否停机是否停机否否是是停止图六电机驱动程序流程图8.2软件设计根据要求,可以将程序分为以下几个部份:键盘输入程序设计本系统使用的键盘较少,因此采用独立式键盘接口设计。独立式键盘适用于按键数量较少的场合。独立键盘工作原理:通过上拉电阻接到+5V上。无按键,处于高电平状态,有键按下电平为低。在消除抖动影响上是可以采用了软件消抖方法:在第一次检测到有键按下时,执行一段延时子程序后〔约5ms〕,再确认电平是否仍保持闭合状态电平,如果保持闭合状态电平,那么确认真正有键按下,进行相应处理工作,消除了抖动的影响。〔2〕步进电机运行步数控制程序此方案采用单相和双相交差通电处理方式。此方法具有运行速度稳定,运行步数准确无误等优点。九、调试总结9.1操作控制:本电路经调试符合题目要求,各项技术指标均到达设计的目的。具体操作控制方法如下:1、当电机启动按钮时,步进电机根据制定默认状态开始转动;2、当电机再停止按钮时,步进电机停止转动;3、当电机正反按钮时,步进电机反转;4、当电机再正反按钮时,步进电机正转;5、设定一定时间,让电机运动。9.2分析与心得在本次设计的过程中,我们发现很多的问题,给我的感觉就是很难,很不顺手,看似很简单的电路,要动手把它给设计出来,是很难的一件事,主要原因是我们没有经常动手设计过电路,还有资料的查找也是一大难题,这就要求我们在以后的学习中,应该注意到这一点,更重要的是我们要学会把从书本中学到的知识和实际的电路联系起来,这不管是对我们以后就业还是学习,都会起到很大的促进和帮助,我相信,通过这次的课题设计,在以后的学习中我会更加努力,力争把这门课学好,学精。同时,通过本次课题设计,稳固了我们学习过的专业知识,也使我们把理论与实践从真正意义上相结合了起来;考验了我们借助互联网络搜集、查阅相关文献资料和组织材料的综合能力;从中可以自我测验,认识到自己哪方面有欠缺、缺乏,以便于在日后的学习中得以改良、提高;通过使用Protel99SE软件、keil软件也让我们了解到计算机辅助设计的智能化,有利于提高工作效率。题目是非常重要的,要选择一个好的题目,就要满足适合我们这组制作,并且也要考虑到自身能力,还有就是容易找到相关的参考资料等条件。只有符合以上所说的条件才能做出一个好的设计,所以我们就选择了《基于AT89s52单片机的液晶显示》的设计课程。我们查找了大量这方面的相关参考资料,如《C语言程序设计》,《AT89s52原理及应用手册》等,还查阅了各种所需芯片的管脚资料。在这些参考资料的根底上设想了几个设计方案,并且确定了最后的设计方案。当确定了最终的设计方向以后,我们就开始着手完善它的理论方案。根据设计方案的内容我们画出了具体的原理图,进行逻辑分析和理论计算,然后去电子市场根据设计要求购置了大量所需的原器件,准备好了设计所需的一切材料。在焊接问题上,我们也出了很多问题。首先,你必须知道那个电路版哪几条线是通的,这样对布线和摆放都有好处。再者,焊接的时候,注意焊锡焊接的逻辑对不对,这里我们犯了很多错误,比方说2个触点本来是不连的,但是不小心就会焊接起来,花了我们很多时间找错误。最后一定要仔细地检查一翻焊点,导线以及芯片的管脚的连线,这一点是相当重要的!有了这次难忘的经历,我觉得自己充实了许多,学到了很多东西,更重要的是我们学会了如何协同合作,学会了遇到问题应该如何解决。这将在我们以后的学习和工作中起着重要的作用。附录一:参考文献[1]《AT89s52原理及应用手册》马潮詹卫前耿德根编清华大学出版社[2]《C语言程序设计》谭浩强编清华大学出版社[3]《AVR单片机C语言开发入门指导》沈文Eaglelee詹卫前编清华大学出版社。[4]《AVR单片机嵌入式系统原理与应用实践》马潮编北京航空航天大学出版社[5]《单片机原理与接口》李茂奎[6]电子资料AT89s52数据手册[7]网站资料附录二:程序#include<REGX51.H>#defineucharunsignedchar#defineuintunsignedint//#define mc400 //400需要的脉冲数//#definezc14 //周长unsignedlongintT=0;//一个脉冲的周期unsignedlongintT2=0,T3=0,T4=0;sbitrs=P0^5; //定义写指令\数据sbitrw=P0^6; // 定义读\写端口sbite=P0^7; //定义使能信号引脚sbitpwm=P0^0;//pwm输出端sbitfx=P0^1; //控制转的方向sbits0=P1^0; //选择键sbits1=P1^1; //数+sbits2=P1^2; //数—sbits3=P1^3; //确认键sbits4=P1^4; //退出键sbits5=P1^5; //反向键uintshi=0,fen=0,miao=0,v=0;uintchuzhi=0,count=0,j=0;ucharmm=0,nn=0,aa=0;//"0123456789abcdef"ucharcodetable1[]="yanchidaogui";ucharcodetable2[]="00:00:00"; /*********************延时函数******************************/voiddelay(uintz){uintx,y;for(x=z;x>0;x--) for(y=110;y>0;y--);}/************************写指令***********************/voidwrite_com(ucharcom){ rs=0; //指令 rw=0; // 写入 e=0; P2=com; delay(5); e=1; //允许 delay(5); e=0;}/*************************写数据********************/voidwrite_date(uchardate){ rs=1; //数据 rw=0; //写入 e=0; P2=date; delay(5); e=1; //允许 delay(5); e=0;}/**********************LCD初始化***************/voidinit(){charnum; P0=0XFC; P1=0Xff;write_com(0x38); write_com(0x0c); //显示控制 write_com(0x01); //清零 write_com(0x06); //地址加1字符不移动 write_com(0x80); //第一行的地址 for(num=0;num<16;num++) write_date(table1[num]); delay(5);write_com(0xc0); //第二行的地址 for(num=0;num<16;num++) write_date(table2[num]); delay(5);}/****把对应的数进行别离***************/voidwrite_sfm(ucharadd,uchardate){ucharshi,ge; //对应的一个数别离开来分别送入对应地址显示shi=date/10;ge=date%10;write_com(0xc0+add); //第二行的首地址write_date(0x30+shi);//写数据write_date(0x30+ge);}/*********************按键处理******************************/voidkeyscan(){ if(s0==0){ delay(5); if(s0==0) { mm++; while(!s0); if(mm==4) { mm=1; } if(mm==1) //调秒 { write_com(0xc0+10); //第二行 write_com(0x0f); } if(mm==2) //调分 { write_com(0xc0+7); } if(mm==3) //调时 { write_com(0xc0+4); } }} if(mm!=0){ if(s1==0) { delay(5); if(s1==0) { while(!s1); if(mm==1) { miao++; if(miao==60) miao=0; write_sfm(10,miao); write_com(0xc0+10);//第二行 } if(mm==2) { fen++; if(fen==60) fen=0; write_sfm(7,fen); write_com(0xc0+7); } if(mm==3) { shi++; if(shi==24) shi=0; write_sfm(4,shi); write_com(0xc0+4); } } } if(s2==0) { delay(10); if(s2==0) { delay(5); while(!s2); if(mm==1) { miao--; if(miao==-1) miao=59; write_sfm(10,miao); write_com(0xc0+10);//第二行 } if(mm==2) { fen--; if(fen==-1) fen=59; write_sfm(7,fen); write_com(0xc0+7); } if(mm==3) { shi--; if(shi==-1) shi=23; write_sfm(4,shi); write_com(0xc0+4); } } } }}/*********************显示函数***********************/voidxianshi(){ T2=((unsignedlongint)(shi*60+fen)*60+(unsignedlongint)miao); //原先设的初值 if(shi!=0||fen!=0||miao!=0||v==0) { T=(((unsignedlongint)(shi*60+fen)*60+(unsignedlongint)miao)*10000)/54+((((unsignedlongint)(shi*60+fen)*60+(unsignedlongint)miao)*10000)%54); //6 //T=((shi*3600+fen*60+miao)*1000-1200)*1000/(3000*2); } if(T>=50000) { chuzhi=10000; //初值定为10ms j=T/10000; //循环数 } if(T<50000) { chuzhi=T; j=0; } TMOD=0x01;//定时器0工作方式1 ET0=1; TR0=0; if(T==0) { EA=0; } if(T!=0) { EA=1; TH0=(65536-chuzhi)>>8; TL0=(65536-chuzhi)<<8; } }voidxianshi1(){unsignedcharj; T3=((unsignedlongint)(shi*60+fen)*60+(unsignedlongint)miao); //现在的时间值 delay(68); j++; if(j=

温馨提示

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

评论

0/150

提交评论