毕业设计-毕业论文-电气自动化-基于单片机的直流电动机测速系统设计_第1页
毕业设计-毕业论文-电气自动化-基于单片机的直流电动机测速系统设计_第2页
毕业设计-毕业论文-电气自动化-基于单片机的直流电动机测速系统设计_第3页
毕业设计-毕业论文-电气自动化-基于单片机的直流电动机测速系统设计_第4页
毕业设计-毕业论文-电气自动化-基于单片机的直流电动机测速系统设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计论文题目基于单片机的直流测速专业电气自动化技术班级姓名学号指导教师二○0九年毕业设计任务书专业:电气自动化技术班级:学生签名:设计题目基于单片机的直流电动机测速系统设计设计内容要求和技术参数确定单片机型号。设计单片机控制程序。选择相应的测速数学模型及电路。该系统的状态分析。设计应完成的技术资料硬件电路图一张。程序流程图一份。程序文件一份。系统说明书一份。毕业设计说明书一份。设计考核的主要知识与技能培养学生的团队意识,严格、认真、一丝不苟的科学精神,勇于探索的创新精神考核学生电路设计能力。考核学生单片机应用综合设计能力。考核学生对控制系统的了解。设计时间:2008年10月13日至2008年12月31日指导教师签名:赵鹏毕业设计进度表和平时考核周次任务阶段名称及主要内容学生签名:班级:平时成绩:指导教师签名:年月日指导教师评语和评分意见学生姓名:评语:评分:指导教师签名:年月日毕业答辩考核和毕业设计成绩学生姓名:1.答辩评语:评分:2.毕业设计成绩:根据学生平时表现、指导教师评语意见,经答辩小组考核,综合评定该生毕业设计成绩为答辩小组:组长签名组员签名年月日目录毕业设计任务书-----------------------------------------------2目录-----------------------------------------------------------6摘要(英文)--------------------------------------------------7第一章单片机的组成及特点---------------------------------81.1、单片机的组成简介---------------------------------------81.1.1中央处理器------------------------------------------------1.1.2存储器----------------------------------------------------1.1.3数据存储器(RAM)-----------------------------------------1.1.4程序存储器(ROM)-----------------------------------------1.2、单片机的特点--------------------------------------------91.2.1高集成度、高可靠性----------------------------------------1.2.2控制功能强------------------------------------------------1.2.3低电压、低功耗--------------------------------------------1.2.4优异的性能价格比------------------------------------------1.2.5外部总线--------------------------------------------------1.2.6单片机的系统扩展和系统配置--------------------------------1.3单片机的应用---------------------------------------------91.3.1在测控系统中的应用----------------------------------------1.3.2在智能化仪器仪表中的应用----------------------------------1.3.3在机电一体化中的应用--------------------------------------1.3.4在智能接口中的应用----------------------------------------1.3.5在人类生活中的应用----------------------------------------第二章单片机的分类及主要结构特性-------------------------102.1.1通用型/专用型2.1.2总线型/非总线型2.1.3控制型/家电型2.2单片机的主要结构特性--------------------------------------112.2.1管脚说明第三章直流测速系统的设计-----------------------------------143.1硬件系统的设计----------------------------------------------143.1.1应用软件的设计--------------------------------------------3.1.2应用系统开发步骤------------------------------------------3.2应用系统设计实例—基于单片机的直流测速系统------------------153.2.1技术指标--------------------------------------------------3.2.2控制方案--------------------------------------------------3.2.3硬件设计--------------------------------------------------3.2.4测速系统程序----------------------------------------------3.3软件系统的设计----------------------------------------------293.3.1测速系统工作流程------------------------------------------第四章心得体会及总结---------------------------------------304.1

本次设计心得体会--------------------------------------------304.2

总结--------------------------------------------------------304.3

谢词--------------------------------------------------------31参考文献资料----------------------------------------------------32摘要Atpresent,single-chipandchiptechnologywiththefeaturesandthecontinuousdevelopmentofmature,single-chiptechnologyinindustrialmonitoringandcontrolsystemiswidelyused.Market,therewerealotofmodelsofsinglechipandperipheryofthecorrespondingmodularproducts,particularlyinthePICMCU8051seriesandthemostpopular.Avarietyofpowerfulsingle-chipisindeedacontrolsystemdesignedtoreducetheworkloadofstaff,buttherearetwoissues:First,intheprocessofselectionofsingle-chipdoesnottakeanintegratedhardwareandsoftwaredesign,thatis,onlythehardwareConvenience,withnocorrespondingsoftware,sothesystemdesigncycle,hardwareandsoftwaredesignprocessofseparationandindependenceofeachother,nointeractionbeforethesystemintegration;Second,thechoiceofhardware,systemdevelopmentdoesnottakeCyclecostsandoftenrequirethepurchaseofspecialsystemsanddevelopmentprogrammers,developerswouldalsoliketospendsometimewithinstructionsandsimulator,toextendthedevelopmentcycle.Itisclearthatsuchaprojectbasedonthefunctionofthechoiceofsingle-chipdesignlimitstheabilitytobalancehardwareandsoftware,hardwareandsoftwarecannotgivefullplaytotheirpotential.Whenthefinalcombinationofhardwareandsoftwaretogether,islikelytobeonthehardwareorsoftwaremodifications,andinsomecasestoincreasethespecialpartofthehardware,resultinginthedevelopmentcycletoextendthesystemperformanceanddecreasethepotentialincreaseindevelopmentcosts.Tothisend,inthedevelopmentcycleandcostconstraintsofthecompletedesigncontrolsystems,theneedtoadoptanintegratedhardwareandsoftwaredesign.Inthispaper,hardwareandsoftwaretechnologyplatformisanintegratedhardwareandsoftwareinthedesignbasis,takingintoaccounttheuniquesingle-chipmeasurementandcontrolsystemanditsapplicationinmostareasofsimilaritytoacommonhardwareplatformandComputersoftwareplatformtoachieverapidandeffectivemonitoringandcontrolsystem,anintegrateddesign.Usersonlyneedtoprojectbasedontherequirementsofthepreparationofthecorrespondingprocedurestocompletetheentiresystem.ThedesignoftheHallsensorisusedinmeasuringthefrequencyofnotationapproachtothedesign.

Asarule,cancount,andpulsewidthmeasurementaccuracy,andotherlawstobetested.Theso-calledcount,isgivenagate,thegateatthetimecountingthenumberofinputpulse;pulse-widthmeasurementmethodistheuseoftestsignalstocontrolthewidthofthegatecount,ahigh-precisionhigh-frequencysignalscountcount.Asthegateandthesignalcannotbemeasuredsimultaneously,sotherearetwomethods±1error,thefirstmethodapplicabletotheuseofhigh-frequencysignal,thesecondapproachintheuseoflow-frequencysignals.,Andotherrulesforhigh-accuracy,low-frequencysignalsareverygoodadaptation.Keywords:SpeedSensorHallAT89C51第一章单片机的组成及特点把智能赋予各种机械的称微控制器(亦称单片机).顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。单片机是微型机的一个主要分支,在结构上的最大特点是把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。就其组成和功能而言,一块单片机芯片就是一台计算机。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。1.1、单片机的组成单片机的结构特征是将组成计算机的基本部件集成在一块晶体芯片上,构成一台功能独特的、完整的单片微型计算机。图1-1为单片机的典型结构框图图1单片机的典型结构框图下面简要介绍各组成部分。1.1.1单片机中的中央处理器CPU和通用微处理器基本相同,由运算器和控制器组成,另外增设了“面向控制”的处理功能,如位处理、查表、多种跳转、乘除法运算、状态检测、中断处理等,增强了实时性。1.1.2单片机的存储空间有两种基本结构。一种是普林斯顿结构(Princeton),将程序和数据合用一个存储器空间,即ROM和RAM的地址同在一个空间里分配不同的地址。CPU访问存储器时,一个地址对应惟一的一个存储单元,可以是ROM,也可以是RAM,用同类的访问指令。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,称为哈佛(Harvard)结构。CPU用不同的指令访问不同的存储器空间。由于单片机实际应用中“面向控制”的特点,一般需要较大的程序存储器。目前,包括MCS-51和80C1.1.3数据存储器(RAM在单片机中,用随机存取的存储器(RAM)来存储数据,暂存运行期间的数据、中间结果、缓冲和标志位等,所以称之为数据存储器。一般在单片机内部设置一定容量(64B~256B)的RAM,并以高速RAM的形式集成在单片机内,以加快单片机的运行速度。同时,单片机内还把专用的寄存器和通用的寄存器放在同一片内RAM统一编址,以利于运行速度的提高。对于某些应用系统,还可以外部扩展数据存储器。1.1.4程序存储器(ROM单片机的应用中常常将开发调试成功后的应用程序存储在程序存储器中,因为不再改变,所以这种存储器都采用只读存储器ROM的形式。1.2、单片机的特点单片机独特的结构决定了它具有如下特点。1.2.1单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的CPU。单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。1.2.2为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力、I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。1.2.3为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8V~3.6V,而工作电流仅为数百微安。1.2.4单片机的性能极高。为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。单片机的寻址能力也已突破64KB的限制,有的已可达到1MB和16MB,片内的ROM容量可达62MB,RAM容量则可达2MB。由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。.61.3、单片机的应用由于单片机功能的飞速发展,它的应用范围日益广泛,已远远超出了计算机科学的领域。小到玩具、信用卡,大到航天器、机器人,从实现数据采集、过程控制、模糊控制等智能系统到人类的日常生活,到处都离不开单片机。其主要的应用领域如下。1.3.1单片机可以用于构成各种工业控制系统、自适应控制系统、数据采集系统等。例如,工业上的锅炉控制、电机控制、车辆检测系统、水闸自动控制、数控机床及军事上的雷达、导弹系统等。1.3.2单片机应用于仪器仪表设备中促使仪器仪表向数字化、智能化、多功能化和综合化等方向发展。单片机的软件编程技术使长期以来测量仪表中的误差修正、线性化的处理等难题迎刃而解。1.3.3单片机与传统的机械产品结合使传统的机械产品结构简化,控制走向智能化,构成新一代的机电一体化产品。这是机械工业发展的方向。1.3.4计算机系统,特别是较大型的工业测控系统中采用单片机进行接口的控制管理,单片机与主机并行工作,可大大提高系统的运行速度。例如,在大型数据采集系统中,用单片机对模/数转换接口进行控制不仅可提高采集速度,还可以对数据进行预处理。如数字滤波、误差修正、线性化处理等。1.3.5单片机由于其价格低廉、体积小巧,被广泛应用在人类生活的诸多场合,如烘干箱、洗衣机、电冰箱、空调器、电饭煲、视听音响设备、大屏幕显示系统、电子玩具、信用卡、楼宇防盗系统等。单片机将使人类的生活更加方便舒适,丰富多彩。第二章单片机的分类及主要结构特性2.1单片机的分类单片机作为计算机发展的一个重要领域,应用一个较科学的分类方法。根据目前发展情况,从不同角度单片机大致可以分为通用型/专用型、总线型/非总线型及工控型/家电型。

2.这是按单片机适用范围来区分的。例如,80C51是通用型单片机,它不是为某种专用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。

2.这是按单片机是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接,另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。

2.这是按照单片机大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型,通常是小封装、低价格,外围器件和外设接口集成度高。单片机内部结构图为如图3所示:图32.2单片机的主要结构特性·与MCS-51兼容·4K字节可编程闪烁存储器

·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定

·128*8位内部RAM·32可编程I/O线

·两个16位定时器/计数器·5个中断源

·可编程串行通道·低功耗的闲置和掉电模式

·片内振荡器和时钟电路2.2.1管脚说明VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“P3口也可作为AT89C51的一些特殊功能口,如下所示:口管脚备选功能P3.0RXD串行输入口P3.1TXD串行输出口P3.2/INT0外部中断0P3.3/INT1外部中断1P3.4T0记时器0外部输入P3.5T1记时器1外部输入P3.6/WR外部数据存储器写选通P3.7/RD外部数据存储器读选通表1

P3口同时为闪烁编程和编程校验接收一些控制信号。P0,P1,P2,P3口引角图为如图4:RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。复位电路图ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。晶振电路图/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。第三章直流测速系统的设计3.1硬件系统的设计单片机应用系统的设计可划分为两部分:一部分是与单片机直接接口的数字电路范围的电路芯片的设计。如存储器和并行接口的扩展,定时系统、中断系统扩展,一般的外部设备的接口,甚至于A/D.D/A芯片的接口。另一部分是与模拟电路相关的电路设计,包括信号整形、变换、隔离和选用传感器;输出通道中的隔离和驱动以及执行元件的选用。(1)从应用系统的总线观年出发,各局部系统和通道接口设计与单片机要做到全局一盘棋。例如,芯片间的时间是否匹配,电平是否兼容,能否实现总线隔离缓冲等,避免“拼盘”战术。(2)尽可能选用符合单片机用法的典型电路。(3)尽可能采用新技术,选用新的元件及芯片。(4)抗干扰设计是硬件的重要内容,如看门狗、去耦滤波、通道隔离、合理的印制板布线等。(5)当系统扩展的各类接口芯片较多时,要充分考虑到总线驱动能力。(6)可用印制板辅助设计软件,如PROTEL进行印制板的设计。3.1.1采用模块程序设计。采用自顶向下的程序设计。外部设备和外部事件尽量采用中断方式与CPU联络,这样即便与系统模块化,也提高程序效率。近几年推出的单片机开发系统,有些是支持高级语言的,如C51与PL/M96的编程和在线跟踪调试。目前已有一些实用子程序发表,程序设计时可适当使用,其中包括运行子程序和控制算法程序等。系统的软件应充分考虑到软件抗干扰措施。3.1.2确定设计方案了解用户的需求,确定设计规模和总体框架。摸清软件技术难度,明确技术主攻问题。针对主攻问题开发调研工作,查找中外有关资料,确定初步方案。单片机应用开发技术是软件结合的技术,方案设计要权衡任务的硬软件分工。有时硬件设计会影响到软件程序结构。如果系统中增加某个硬件接口芯片,而给系统程序的模块化带来了可能和方便,那么这个硬件开销是值得的。在无碍大局的情况下,以软件代替硬件正是计算机技术的长处。尽量采纳可借鉴的成熟技术,减少重复性劳动。硬件设计单片机电路设计扩展电路和输入/输出通道设计控制面板设计软件设计采用模块化程序设计、自顶向下的设计方法。硬软件调试程序的录入、编辑和交叉汇编功能。提供仿真RAM、仿真单片机。支持用户汇编语言(有的同时支持高级语言)源文件跟踪调试。目前一般的开发装置都有与通用微机的连机接口,可以利用微机环境进性调试。EPROM的写入功能。EPROM固化所有开发装置调试通过的程序,最终要脱机运行,即将仿真ROM中运行的程序固化到EPROM脱机运行。但在开发装置上运行正常的程序,固化后脱机运行并不一定同样正常。若脱机运行有问题,需分析原因,如是否总线驱动功能不够,或是对接口芯片操作的时间不匹配等。经修改的程序需再次写入。3.2应用系统设计实例—基于单片机直流测速系统3.2.11.确定单片机型号。2.设计单片机控制程序。3.选择相应的测速数学模型及电路。4.该系统的状态分析。3.2.2方案1:利用霍尔传感器

霍尔传感器是对磁敏感的传感元件,常用于开关信号采集的有CS3020、CS3040等,这种传感器是一个3端器件,外形与三极管相似,只要接上电源、地,即可工作,输出通常是集电极开路(OC)门输出,工作电压范围宽,使用非常方便。如图1所示是CS3020的外形图,将有字面对准自己,三根引脚从左向右分别是Vcc,地,输出。此主题相关图片如下:图5.CS3020外形图

使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的圆周上粘上一粒磁钢,让霍尔开关靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。如果在圆周上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。在粘磁钢时要注意,霍尔传感器对磁场方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。这种传感器不怕灰尘、油污,在工业现场应用广泛。

方案2:利用光电传感器光电传感器是应用非常广泛的一种器件,有各种各样的形式,如透射式、反射式等,基本的原理就是当发射管光照射到接收管时,接收管导通,反之关断。以透射式为例,如图2所示,当不透光的物体挡住发射与接收之间的间隙时,开关管关断,否则打开。为此,可以制作一个遮光叶片如图3所示,安装在转轴上,当扇叶经过时,产生脉冲信号。当叶片数较多时,旋转一周可以获得多个脉冲信号。

此主题相关图片如下:

图6.光电传感器的原理图此主题相关图片如下:

图7.遮光叶片方案3.光电编码器光电编码器的工作原理与光电传感器一样,不过它已将光电传感器、电子电路、码盘等做成一个整体,只要用连轴器将光电传感器的轴与转轴相连,就能获得多种输出信号。它广泛应用于数控机床、回转台、伺服传动、机器人、雷达、军事目标测定等需要检测角度的装置和设备中。如图4所示,是某光电编码器的外形。此主题相关图片如下:

图8.成品光电编码器3.2.31、利用霍尔传感器测速的方法决定了测速信号的硬件连接,测速实际上就是测频,因此,频率测量的一些原则同样适用于测速。

通常,可以用计数法、测脉宽法和等精度法来进行测试。所谓计数法,就是给定一个闸门时间,在闸门时间内计数输入的脉冲个数;测脉宽法是利用待测信号的脉宽来控制计数门,对一个高精度的高频计数信号进行计数。由于闸门与被测信号不能同步,因此,这两种方法都存在±1误差的问题,第一种方法适用于信号频率高时使用,第二种方法则在信号频率低时使用。等精度法则对高、低频信号都有很好的适应性。这里为简化讨论,仅采用计数法来进行测试。

下图所示是测速器的电路图,由六位数码管和测速接口组成。其中T0处接的只画了一只CS3020组成的霍尔传感器接线图,如果采用光电传感器接口也是一样的。测速计电路原理图如下:

图9.硬件原理图2、利用光电传感器图10.硬件图复位电路复位电路键盘整形光电编码盘RESETP0.0P3.2P3.3.P0.7AT89C51P3.0P3.1P1.04位串行显示P1.7图11.硬件原理方框图此调速系统的硬件原理方框图如上图本系统核心为AT89C51,包括测速电路、速度设置和显示电路、PWM波形发电路以及PWM功放电路。此种方法在这里不做详细介绍。3.2.4DISPBUFEQU5AH

;显示缓冲区从5AH开始

SecCounEQU59H

SpCounEQU57H;速度计时器单元57H和58H,高位在前(57H单元中)

CountEQU56H;显示时的计数器

SpCalcbit00h;要求计算速度的标志

HiddenEQU16;消隐码

ORG0000H

AJMPSTART

ORG1BH

JMPTIMER1;定时中断1入口

ORG30H

START:\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVSP,#5FH;设置堆栈

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVP1,#0FFH

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVP0,#0FFH

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVP2,#0FFH;初始化,所有显示器、LED灭

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVTMOD,#00010101B;定时器T1工作于方式1,定时器0工作方式1MOVTH1,#HIGH(65536-4000)

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVTL1,#LOW(65536-4000)

SETBTR1

SETBET1;开定时器1中断

SETBEA

LOOP:JNBSpCalc,LOOP;如果未要求计算,转本身循环

;标号:

MULD

功能:双字节二进制无符号数乘法

;入口条件:被乘数在R2、R3中,乘数在R6、R7中。

;出口信息:乘积在R2、R3、R4、R5中。

;影响资源:PSW、A、B、R2~R7

堆栈需求:

2字节

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVR2,SpCoun

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVR3,SpCoun+1

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVR6,#0

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVR7,#5;测得的数值是每秒计数值,转为每分转速(每一转测12次,故乘5而非60)

CALLMULD

;标号:

HB2

功能:双字节十六进制整数转换成双字节BCD码整数

;入口条件:待转换的双字节十六进制整数在R6、R7中。

;出口信息:转换后的三字节BCD码整数在R3、R4、R5中。

;影响资源:PSW、A、R2~R7

堆栈需求:

2字节

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVA,R4

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVR6,A

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVA,R5

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVR7,A;将乘得的结果送R6R准备转换,这里结果不可能超过2字节

CALLHB2

CBCD:

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVDISPBUF,R3;最高位

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVA,R4;

ANLA,#0F0H;去掉低4位

SWAPA;将高4位切换到低4位

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVDISPBUF+1,A

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVA,R4

ANLA,#0FH

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVDISPBUF+2,A

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVA,R5

ANLA,#0F0H

SWAPA

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVDISPBUF+3,A

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVA,R5

ANLA,#0FH

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVDISPBUF+4,A

CLRSpCalc;清计算标志

JMPLOOP

;主程序到此结束

TIMER1:PUSHACC;ACC入栈

PUSHPSW;PSW入栈

SETBRS0;工作区1

JNBTR0,SETTR0;如果T0未运行,则开启T0

JMPGO1

SETTR0:

SETBTR0

GO1:

INCSecCoun;秒计数器加1

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVA,SecCoun

CJNEA,#251,Go2;如果未到1s则转

CLRTR0;1s到了,则停止T0的运行

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVSpCoun,TH0

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVSpCoun+1,TL0;读取计数值

CLRA

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVTH0,A

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVTL0,A;清计数器

SETBSpCalc;要求主程序计算速度

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVSecCoun,#0;清秒计数器

Go2:

INCCOUNT

;用于显示的计数器

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVA,COUNT

CLRC

SUBBA,#6

JZN1

JMPN2

N1:\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVCOUNT,#0

N2:\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVA,#DISPBUF

ADDA,COUNT

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVR0,A;指向当前要显示的显示缓冲区

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVA,@R0;取第一个待显示数

MOVDPTR,#DISPTAB;字形表首地址

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVCA,@A+DPTR

;取字形码

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVP0,A;将字形码送P0位(段口)

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVA,COUNT

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVDPTR,#BitTab;字位表首地址

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVCA,@A+DPTR

ORLP2,#11111100B

ANLP2,A

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVTH1,#HIGH(65536-4000)

\o"东哥电子商城,提供单片机学习开发板,编程器,仿真器,各种电子元器件."MOVTL1,#LOW(65536-4000)

POPPSW

POPACC

RETIBitTab:DB

7Fh,0BFH,0DFH,0EFH,0F7H,0FBH

DISPTAB:DB

0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH程序2:LEDMOD EQU 10H;左边输入8位字符显示;外部译码键扫描方式,双键互锁LEDFEQ EQU 36H;扫描速率LEDCLS EQU 0C1H;清除显示RAMLEDWRO EQU 80H;设定的将要写入的显示RAM地址DAC0832 EQU 8000H;D/A转换地址LEDDBUF EQU 30HPULSEL EQU 50HPULSEH EQU 51HSPEED EQU 52H ;速度SPEED1 EQU 53H ;速度TIMER EQU 54H ;软件计数20次DAC EQU 58H ;;转速计算:设T0定时50s,则1s有20个50ms,1分钟有1200个50ms,;设50ms内T1计数为n个脉冲,则1分钟有1200n个脉冲,而脉冲编码器一转产生12个脉冲,则转速为100n转/分。或设一秒内T1计数为m个脉冲,则转速为5m转/分;ORG0000HLJMPSTARTORG000BHLJMPINTTO;定时器T0中断服务程序ORG0100HSTART:MOVSP,60HMOVDPTR,#DAC0832MOVA,#00HMOVDAC,#00MOVX@DPTR,A;使电机停转MOVPULSEL,#0MOVPULSEH,#0MOVSPEED,#40;设置运行速度040转/秒MOVA,SPEEDMOVB,#10DIVABMOVB,#6MULABMOVSPEED1,A;SPEED1=SPEED*60/100SPEED为设定的每秒转速LCALLINIT8279MOVTL0,#00H;50ms(65536-50000*11,0592/12=4C00H)MOVTH0,#4CHMOVTIMER,#20;软件计数20次MOVTH1,#0MOVTL0,#0MOVTMOD,#51H;置T0定时,T1计数SETBET0;允许T0中断SETBTR0;开始定时SETBTR1;开始计数SETBEA;中断允许MLOOP:LCALLDACOUT;驱动输出SJMPMLOOPDACOUT:MOVDPTR,#DAC0832MOVA,DACMOVX@DPTR,A;驱动电机输出RETINTT0:;定时器T0中断服务程序PUSHDPH;保存现场PUSHDPLPUSHACCCLRTR1;停止T1计数CLRCMOVA,TL1ADDA,PULSELMOVPULSEL,ACLRAADDCA,PULSEHMOVPULSEH,AMOVA,SPEED1DECAMOVR7,AMOVA,TL1CJNEA,R7,PD1SJMPGOON;THL=SPEEDPD1:JCSHIFT;THL<SPEEDDACSJMPSHIFT1;THL>SPEEDDACMOVA,SPEED1INCAMOVR7,AMOVA,TL1CJNEA,R7,PD2SJMPGOON;THL=SPEED+1继续PD2:JNCSHIFT1;THL>SPEED+1转调小DACSJMPGOON;SPEED-1<THL<SPEED+1继续SHIFT:DECDAC;小于设定速度GOON:MOVA,TIMERDECAMOVTIMER,AJNZBACK;软件计数,次数不到返回MOVTIMER,#20MOVR7,PULSELMOVR6,PULSEHMOVR3,#5LACLLDIV12;MULD5MOVR6,R4MOVR7,R5LCALLToBCDMOVB,#10DIVABMOVLEDDBuf+1,AMOVLEDDBuF,BLCALLToDisplayLCALLDisplay;显示转速MOVPULSEL,#0MOVPULSEH,#0BACK:MOVTL0,#00H;重新赋初值50msMOVTH0,#4CHSETBTR0;重新开始定时操作MOVTL1,#0MOVTH1,#0SETBTR1;重新开始计数操作POPACCPOPDPLPOPDPHPUSHDPH;保存现场PUSHDPLPUSHACCLCALLDELAY;延时MOVX@DPTR,AMOVA,#LEDFEQ;置键盘扫描速率MOVA@DPTR,AMOVA,#LEDCLS;清除LED显示MOVX@DPTR,ALCALLDELAY;延时POPACC;恢复现场POPDPLPOPDPHRETDISLED:PUSHDPH;保存现场PUSHDPLPUSHACCMOVA,#LEDWRO;置显示起始地址ADDA,R4;加位置偏移量MOVDPTR,#Z8279MOVX@DPTR,A;设定显示位置MOVDPTR,#LEDSEG;置显示常数表起始位置MOVA,R5MOVCA,@A+DPTR;查表MOVDPTR,#D8279MOVX@DPTR,A;显示数据POPACC;恢复现场POPDPLPOPDPHRETDISPLAY:MOVR0,#LEDDBUFMOVR1,#2;4MOVR4,#0NEXTBIT:MOVA,@R0MOVR5,ALCALLDISLEDINCR0INCR4DJNZR1,NEXTBITMOVR4,#4MOVR5,#12HLCALLDISLEDRETDELAY:;延时子程序PUSH0;保存现场PUSH1MOV0,#0HDELAY1:MOV1,#0HDJNZ0,DELAY1POP1;恢复现场POP0RETLEDSEG:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;‘0H,1,2,3,4,5,6,7DB7FH,6FH,77H,7CH,39H,5EH,79H,71H;’8,9,A,B,C,D,E,F’DB00H,40H,73H;’,-,P’;功能:双字节二进制无符号数除12;入口条件:被除数R6,R7中,乘数在R3中;出口信息:商在R3中DIV12:MOVR3,#2DIV2:MOVA,R6CLRCRRCAMOVR6,AMOVA,R7RRCAMOVR7,ADJNZR3,DIV2MOVB,#3DIVABMOVR3,ARET;功能:双字节二进制无符号数乘5;入口条件:被除数R6,R7中,乘数在R3中;出口信息:乘积在R3,R4,R5中;影响资源:PSW,A,B.R3~R7MULD5:MOVA,R3;计算R3乘R7MOVB,R7MULABMOVR4,B;暂存部分积MOVR5,AMOVA,R3;计算R3乘R6MOVB,R6MULABADDA,R4累加部分积MOVR4,ACLRAADDCA,BMOVR3,ARET;功能:双字节十六进制整数转换成双字节BCD码:入口条件:待转换的双字节十六进整数在R6,R7中出口信息:转换后的三个字节BCD码整数在R3,R4,R5中TOBCD:CLRA;BCD码初始化MOVR3,AMOVR4,AMOVR5,AMOVR2,#10H;转换双字节十六进制整数HB3:MOVA,R7;从高端移出待转换数的一位到CY中RLCAMOVR7,AMOVA,R6RLCAMOVR6,AMOVA,R5;BCD码带进位自身相加,相当于乘2ADDCA,R5DAA;十进制调整MOVR5,AMOVA,R4ADDCA,R4DAAMOVR4,AMOVA,R3ADDCA,R3MOVR3,A;双字节十六进制树的万位数不超过6,不用调整DJNZR2,HB3;处理完16bitRETToDisply:MOVA,R5SWAPAANLA,#0fhMOVLEDDBuf+1,A;R5高四位送缓存1MOVA,R5ANLA,#0fhMOVLEDDBuf,A;R5低四位送缓存0MOVA,R4SWAPAANLA,#0fhMOVLEDDBuf+3,A;R4高四位送缓存3MOVA,R4ANLA,#0fhMOVLEDDBuf+2,A;R4低四位送缓存2RETEND程序分析

主程序在对定时器、计数器、堆栈等进行初始化后即判断标志SpCalc是否为1,如果为1,说明要求对数据进行计算处理,首先将SpCalc标志清零,以保证下次能正常判断,然后进入数据处理程序,由于这里的闸门时间为1s,而显示要求为转/分,因此,要将测到的数据进行转换,转换的方法是将测得的数据乘以60,但由于转轴上安装有12只磁钢,每旋转一周可以得到12个脉冲,因此,要将测得的数据除以12,所以综合起来,将测得的数据乘以5即可得到每分钟的转速。计算得到的结果是二进制的整数,要将数据送往显示缓冲区需要将该数转化为BCD码。运算得到的是压缩BCD码,需要将其转换为非压缩BCD码,从标号CBCD开始的一段程序即作了这样的处理。需要说明的是,这里多位二进制乘法和多位二进制到BCD码的转换都是用了现成的成熟子程序,因此,首先将二进制数转换为压结合实际BCD码,然后再转换成非压缩BCD码,看似多写了些程序,实际上这对于保证程序的质量很有好处。

定时器T1用作4ms定时发生器,在定时中断程序中进行数码管的动态扫描,同时产生1s的闸门信号。1s闸门信号的产生是通过一个计数器Count,每次中断时间为4ms,每计250次即为1s,到了1s后,即清除计数器Count,然后关闭作为计数器用的T0,读出TH0、TL0中的数值,分别送入SpCoun和SpCoun+1单元,将T0中的值清空,置SpCalc标志为1,要求主程序进行速度值的计算。这里还有一个细节,用作1s闸门信号产生的Count每次中断都会加1,而T0却有一个周期是被关闭的,因此,计数值是251而不是25(4)LED数码显示器简介发光二极管LED是一种通电后能发光的半导体器件,其导电性质与普通二极管类似。LED数码显示器就是由发光二极管组合而成的1种新型显示器件。在单片机系统中应用非常普遍。(5)LED数码显示器的结构LED数码显示器是1种由LED发光二极管组合显示字符的显示器件。它使用了8个LED发光二极管,其中7个用于显示字符,1个用于显示小数点。(6)LED数码显示器有两种连接方法1)共阳极接法。把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。当阴极端输入低电平时,段发光二极管就导通点亮,而输入高电平时则不点亮。2)共阴极接法。把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。当阳极端输入高电平时,段发光二极管就导通点亮,而输入低电平时则不点亮。在本设计中所采用的是LED数码静态显示器,其引脚排列如下图所示:图12(7)光电隔离是通过光电耦合器实现的。光电耦合器是将一个发光二极管和一个光敏三极管封装在一个外壳里的器件,其中符号如图1.8所示。发光二极管与光敏三极管之间用透明绝缘体填充,并使发光管与光敏管对准,则输入电信号使发光二极管发光,其光线又使光敏三极管电信号输出,从而既完成了信号的传递,又实现了信号与接收电路之间的电气隔离,割断了噪声从一个电路进入另一个电路的通路,如图1.9所示。除隔离和抗干扰功能以外,光电耦合器还用于实现电平转换,如图1.10所示。光电耦合器的响应时间一般不超过几微秒,采用光电隔离技术,不仅可以把主机与输入通道进行隔离,而且还可以把主机与输出通道进行隔离,构成所谓“全浮空系统”。输出输出4.3软件系统的设计4.3.1测速系统的工作流程<1>工作流程:图13.系统流程框图第四章心得体会及总结4.1

本次设计心得体会

在电子系统设计中,为了少走弯路和节省时间,应充分考虑并满足抗干扰

的要求,避免在设计完成后再去进行抗干扰的补救措施。形成干扰的基本要素有三个:1)干扰源,指产生干扰的元件、设备或信号。(2)传播路径。(3)敏感器件。

具体的抗干扰方案

软件方面

1、习惯于将不用的代码空间全清成“0”,因为这等效于NOP,可在程序跑飞时归位;

2、在跳转指令前加几个NOP,目的同1;

3、在无硬件WatchDog时可采用软件模拟WatchDog,以监测程序的运行

温馨提示

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

评论

0/150

提交评论