(精品)模拟建筑塔钟(2013年优秀毕业设计)_第1页
(精品)模拟建筑塔钟(2013年优秀毕业设计)_第2页
(精品)模拟建筑塔钟(2013年优秀毕业设计)_第3页
(精品)模拟建筑塔钟(2013年优秀毕业设计)_第4页
(精品)模拟建筑塔钟(2013年优秀毕业设计)_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

1绪论1.1发展现状和趋势随着现代城建的发展,在大中城市的中心建筑上安置塔钟已越来越常见。塔钟控制系统的核心部件是步进电机,早期的步进电机驱动电路多采用分立元件或CMOS集成电路的构成、电路复杂,成本高,抗干扰能力弱,适应温度范围窄,在各种恶劣环境下不能确保可靠地工作走时调整及调整显示也往往采用机械的方法,不仅调整困难,而且显示也不够直观方便。这些建筑钟所使用的电机容易出现误触发而快走,因为步距太大产生失步故障,解决上述问题的方法之一是采用小步距角高频率驱动的步进电机,并用单片机加以控制。其后出现的以微电脑为核心的步进控制器有取代逻辑控制器的趋势,但由于其微电脑多采用Z80单片机,故硬件较复杂,抗干扰能力差。再后来出现的MCS96系列单片机,如8098内部具有高速输出口HSO,特别适合于步进电机控制,用8098单片机作为步进电机控制器,使得系统具有硬件电路简单可靠,软件编程容易灵活,抗干扰能力强,性能,价格比高等优点,通过简单的编程就可以灵活地改变控制方式,具有很强的通用性。近年来出现的MCS51系列单片机比MCS96系列又有了更大发展。1.2 本论文主要内容论文的第一章为绪论,介绍了国内外发展的现状以及论文研究的目的和意义等内容;第二章介绍系统总体方案以及塔钟的相关知识步进电机;第三章介绍了硬件部分设计;第四章进行了软件部分编程;第五章是Proteus仿真图。2.建筑塔钟的研究2.1建筑塔钟的总体方案设计本设计的目的就是利用AT89C51系列单片机所开发的塔钟控制系统来实现整点报时,断电后启用备用电源记录时间,恢复供电后快速调节正确时间等功能。比之以前的各种塔钟系统具有更高的精准性,更高的抗干扰能力,性价比高,通用性强等优点。下图是总体设计框图:LED数码管显示AT89C51步进电机备用电源单片机电源蜂鸣器步进电机电源按键控制图2.1 总体设计框图2.2建筑塔钟相关知识步进电机2.2.1步进电机概述及控制原理步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件,它实际上是一种单相或多相同步电动机。单相步进电动机有单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。多相步进电动机有多相方波脉冲驱动,用途很广。使用多相步进电动机时,单路电脉冲信号可先通过脉冲分配器转换为多相脉冲信号,在经功率放大后分别送入步进电动机各相绕组。每输入一个脉冲到脉冲分配器,电动机各相的通电状态就发生变化,转子会转过一定的角度(称为步距角)。正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制。步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。其基本原理作用如下:1控制换相顺序通电换相这一过程称为脉冲分配。例如:三相步进电机的三拍工作方式,其各相通电顺序为A-B-C-A,通电控制脉冲必须严格按照这一顺序分别控制A,B,C相的通断。2控制步进电机的转向如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。3控制步进电机的速度如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。 2.3步进电机种类及原理步进电机可分为反应式步进电机(简称VR)、感应子式步进电机和混合式步进电机(简称HB)等。2.3.1反应式步进电机原理由于反应式步进电机工作原理比较简单。下面先叙述三相反应式步进电机原理。1.结构:电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开。0、1/3、2/3,(相邻两转子齿轴线间的距离为齿距以表示),即A与齿1相对齐,B与齿2向右错开1/3,C与齿3向右错开2/3,A与齿5相对齐,(A就是A,齿5就是齿1)下面是定转子的展开图:图2.2 定转子展开图2.旋转:如A相通电,B,C相不通电时,由于磁场作用,齿1与A对齐,(转子不受任何力以下均同)。如B相通电,A,C相不通电时,齿2应与B对齐,此时转子向右移过1/3,此时齿3与C偏移为1/3,齿4与A偏移(-1/3)=2/3。如C相通电,A,B相不通电,齿3应与C对齐,此时转子又向右移过1/3,此时齿4与A偏移为1/3对齐。如A相通电,B,C相不通电,齿4与A对齐,转子又向右移过1/3这样经过A、B、C、A分别通电状态,齿4(即齿1前一齿)移到A相,电机转子向右转过一个齿距,如果不断地按A,B,C,A通电,电机就每步(每脉冲)1/3,向右旋转。如按A,C,B,A通电,电机就反转。由此可见:电机的位置和速度由导电次数(脉冲数)和频率成一一对应关系。而方向由导电顺序决定。不过,出于对力矩、平稳、噪音及减少角度等方面考虑。往往采用A-AB-B-BCC-CA-A这种导电状态,这样将原来每步1/3改变为1/6。甚至于通过二相电流不同的组合,使其1/3变为1/12,1/24,这就是电机细分驱动的基本理论依据。不难推出:电机定子上有m相励磁绕阻,其轴线分别与转子齿轴线偏移1/m,2/m(m-1)/m,1。并且导电按一定的相序电机就能正反转被控制这是步进电机旋转的物理条件。只要符合这一条件我们理论上可以制造任何相的步进电机,出于成本等多方面考虑,市场上一般以二、三、四、五相为多。 3.力矩:电机一旦通电,在定转子间将产生磁场(磁通量)当转子与定子错开一定角度产生力F与(d/d)成正比 其磁通量=Br*S Br为磁密,S为导磁面积, F与L*D*Br成正比L为铁芯有效长度,D为转子直径 Br=NI/R NI为励磁绕阻安匝数(电流乘匝数)R为磁阻。力矩=力*半径力矩与电机有效体积*安匝数*磁密 成正比(只考虑线性状态)因此,电机有效体积越大,励磁安匝数越大,定转子间气隙越小,电机力矩越大,反之亦然。2.3.2感应子式步进电机原理1.特点:感应子式步进电机与传统的反应式步进电机相比,结构上转子加有永磁体,以提供软磁材料的工作点,而定子激磁只需提供变化的磁场而不必提供磁材料工作点的耗能,因此该电机效率高,电流小,发热低。因永磁体的存在,该电机具有较强的反电势,其自身阻尼作用比较好,使其在运转过程中比较平稳、噪音低、低频振动小。感应子式步进电机某种程度上可以看作是低速同步电机。一个四相电机可以作四相运行,也可以作二相运行。(必须采用双极电压驱动),而反应式电机则不能如此。例如:四相,八相运行(A-AB-B-BC-C-CD-D-DA-A)完全可以采用二相八拍运行方式.不难发现其条件为C=A,D=B。一个二相电机的内部绕组与四相电机完全一致,小功率电机一般直接接为二相,而功率大一点的电机,为了方便使用,灵活改变电机的动态特点,往往将其外部接线为八根引线(四相),这样使用时,既可以作四相电机使用,可以作二相电机绕组串联或并联使用。2.分类感应子式步进电机以相数可分为:二相电机、三相电机、四相电机、五相电机等。以机座号(电机外径)可分为:42BYG(BYG为感应子式步进电机代号)、57BYG、86BYG、110BYG、(国际标准),而像70BYG、90BYG、130BYG等均为国内标准。2.4步进电机的静态指标术语相数:产生不同对极N、S磁场的激磁线圈对数。常用m表示。拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A。步距角:对应一个脉冲信号,电机转子转过的角位移用表示。=360度/(转子齿数J*运行拍数),以常规二、四相,转子齿为50齿电机为例。四拍运行时步距角为=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为=360度/(50*8)=0.9度(俗称半步)。定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)静转矩:电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力矩。此力矩是衡量电机体积(几何尺寸)的标准,与驱动电压及驱动电源等无关。虽然静转矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过份采用减小气隙,增加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热及机械噪音。2.5步进电机动态指标及术语:1.步距角精度:步进电机每转过一个步距角的实际值与理论值的误差。用百分比表示:误差/步距角*100%。不同运行拍数其值不同,四拍运行时应在5%之内,八拍运行时应在15%以内。2.失步:电机运转时运转的步数,不等于理论上的步数。称之为失步。3.失调角:转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角,由失调角产生的误差,采用细分驱动是不能解决的。4.最大空载起动频率:电机在某种驱动形式、电压及额定电流下,在不加负载的情况下,能够直接起动的最大频率。5.最大空载的运行频率:电机在某种驱动形式,电压及额定电流下,电机不带负载的最高转速频率。6.运行矩频特性:电机在某种测试条件下测得运行中输出力矩与频率关系的曲线称为运行矩频特性,这是电机诸多动态曲线中最重要的,也是电机选择的根本依据。如下图所示:图2.3 运行矩频特性图其它特性还有惯频特性、起动频率特性等。电机一旦选定,电机的静力矩确定,而动态力矩却不然,电机的动态力矩取决于电机运行时的平均电流(而非静态电流),平均电流越大,电机输出力矩越大,即电机的频率特性越硬。如下图所示:图2.4 力矩与频率关系图其中,曲线3电流最大、或电压最高;曲线1电流最小、或电压最低,曲线与负载的交点为负载的最大速度点。 要使平均电流大,尽可能提高驱动电压,使采用小电感大电流的电机。7.电机的共振点: 步进电机均有固定的共振区域,二、四相感应子式步进电机的共振区一般在180-250pps之间(步距角1.8度)或在400pps左右(步距角为0.9度),电机驱动电压越高,电机电流越大,负载越轻,电机体积越小,则共振区向上偏移,反之亦然,为使电机输出电矩大,不失步和整个系统的噪音降低,一般工作点均应偏移共振区较多。 8、电机正反转控制: 当电机绕组通电时序为AB-BC-CD-DA时为正转,通电时序为DA-CA-BC-AB时为反转。2.6驱动控制系统组成使用、控制步进电机必须由环形脉冲,功率放大等组成的控制系统,其方框图如下:图2.5 驱动控制系统方框图1、脉冲信号的产生脉冲信号一般由单片机或CPU产生,一般脉冲信号的占空比为0.3-0.4左右,电机转速越高,占空比则越大。2、信号分配感应子式步进电机以二、四相电机为主,二相电机工作方式有二相四拍和二相八拍二种,具体分配如下:二相四拍为,步距角为1.8度;二相八拍为,步距角为0.9度。四相电机工作方式也有二种,四相四拍为AB-BC-CD-DA-AB,步距角为1.8度;四相八拍为AB-B-BC-C-CD-D-AB,(步距角为0.9度)。3、功率放大功率放大是驱动系统最为重要的部分。步进电机在一定转速下的转矩取决于它的动态平均电流而非静态电流(而样本上的电流均为静态电流)。平均电流越大电机力矩越大,要达到平均电流大这就需要驱动系统尽量克服电机的反电势。因而不同的场合采取不同的的驱动方式,到目前为止,驱动方式一般有以下几种:恒压、恒压串电阻、高低压驱动、恒流、细分数等。为尽量提高电机的动态性能,将信号分配、功率放大组成步进电机的驱动电源。SH系列二相恒流斩波驱动电源与单片机及电机接线图如下:图2.6 单片机与驱动及电机接线图说明:CP 接CPU脉冲信号(负信号,低电平有效)OPTO 接CPU+5VFREE 脱机,与CPU地线相接,驱动电源不工作DIR 方向控制,与CPU地线相接,电机反转VCC 直流电源正端GND 直流电源负端 A 接电机引出线红线接电机引出线绿线 B 接电机引出线黄线接电机引出线蓝线 步进电机一经定型,其性能取决于电机的驱动电源。步进电机转速越高,力距越大则要求电机的电流越大,驱动电源的电压越高。电压对力矩影响如下:图2.7 电压与力矩关系图4.细分驱动器在步进电机步距角不能满足使用的条件下,可采用细分驱动器来驱动步进电机,细分驱动器的原理是通过改变相邻(A,B)电流的大小,以改变合成磁场的夹角来控制步进电机运转的。图2.8 合成磁场夹角图2.7步进电机的应用2.7.1步进电机的选择步进电机有步距角(涉及到相数)、静转矩、及电流三大要素组成。一旦三大要素确定,步进电机的型号便确定下来了。1.步距角的选择电机的步距角取决于负载精度的要求,将负载的最小分辨率(当量)换算到电机轴上,每个当量电机应走多少角度(包括减速)。电机的步距角应等于或小于此角度。目前市场上步进电机的步距角一般有0.36度/0.72度(五相电机)、0.9度/1.8度(二、四相电机)、1.5度/3度 (三相电机)等。2.静力矩的选择步进电机的动态力矩一下子很难确定,我们往往先确定电机的静力矩。静力矩选择的依据是电机工作的负载,而负载可分为惯性负载和摩擦负载二种。单一的惯性负载和单一的摩擦负载是不存在的。直接起动时(一般由低速)时二种负载均要考虑,加速起动时主要考虑惯性负载,恒速运行进只要考虑摩擦负载。一般情况下,静力矩应为摩擦负载的2-3倍内好,静力矩一旦选定,电机的机座及长度便能确定下来(几何尺寸)3.电流的选择静力矩一样的电机,由于电流参数不同,其运行特性差别很大,可依据矩频特性曲线图,判断电机的电流(参考驱动电源、及驱动电压)综上所述选择电机一般应遵循以下步骤:图2.8 选择电机步骤4.力矩与功率换算步进电机一般在较大范围内调速使用、其功率是变化的,一般只用力矩来衡量,力矩与功率换算如下:P= M =2n/60 P=2nM/60其P为功率单位为瓦,为每秒角速度,单位为弧度,n为每分钟转速,M为力矩单位为牛顿米P=2fM/400(半步工作)其中f为每秒脉冲数(简称PPS)2.7.2应用中的注意点1、步进电机应用于低速场合-每分钟转速不超过1000转,(0.9度时6666PPS),最好在1000-3000PPS(0.9度)间使用,可通过减速装置使其在此间工作,此时电机工作效率高,噪音低。2、步进电机最好不使用整步状态,整步状态时振动大。3、由于历史原因,只有标称为12V电压的电机使用12V外,其他电机的电压值不是驱动电压伏值 ,可根据驱动器选择驱动电压(建议:57BYG采用直流24V-36V,86BYG采用直流50V,110BYG采用高于直流80V),当然12伏的电压除12V恒压驱动外也可以采用其他驱动电源, 不过要考虑温升。4、转动惯量大的负载应选择大机座号电机。5、电机在较高速或大惯量负载时,一般不在工作速度起动,而采用逐渐升频提速,一电机不失步,二可以减少噪音同时可以提高停止的定位精度。6、高精度时,应通过机械减速、提高电机速度,或采用高细分数的驱动器来解决,也可以采用5相电机,不过其整个系统的价格较贵,生产厂家少,其被淘汰的说法是外行话。7、电机不应在振动区内工作,如若必须可通过改变电压、电流或加一些阻尼的解决。8、电机在600PPS(0.9度)以下工作,应采用小电流、大电感、低电压来驱动。9、应遵循先选电机后选驱动的原则。2.8步进电机的特性步进电机转动使用的是脉冲信号,而脉冲是数字信号,这恰是计算机所擅长处理的数据类型。从20世纪80年代开始开发出了专用的IC驱动电路,今天,在打印机、磁盘器等的OA装置的位置控制中,步进电机都是不可缺少的组成部分之一。总体上说,步进电机有如下优点:1不需要反馈,控制简单。2与微机的连接、速度控制(启动、停止和反转)及驱动电路的设计比较简单。3没有角累积误差。4停止时也可保持转距。5没有转向器等机械部分,不需要保养,故造价较低。6即使没有传感器,也能精确定位。7根椐给定的脉冲周期,能够以任意速度转动。但是,这种电机也有自身的缺点。8难以获得较大的转矩9.不宜用作高速转动10在体积重量方面没有优势,能源利用率低。11超过负载时会破坏同步,高速工作时会发出振动和噪声。3 硬件部分设计3.1电源设计交流220V输入电源经变压、整流、滤波产生+12v直流电压供给步进电机;交流220V输入电源经变压、整流、滤波产生+5v直流电压提供单片机工作所需要的工作电源。备用电池在遭遇停电时,和单片机电源进行电压比较然后供给单片机继续运行,保证停电时单片机正常运行记录时间,当恢复供电后,单片机改变提供给步进电机的脉冲,加快步进电机转速,当时间调节准确以后恢复正常转速。整 流变 压交流220V滤 波+12V步进电机单片机变 压整 流交流220V滤 波+5V图3.1供电系统工作原理框图3.1.1掉电保护系统在本设计中,时钟电路在遭遇停电时需要切换到备用电源继续供电,时钟电路就能持续工作,继续记录时间信息。当然现在已有将微型电池集成到电路模块的中的解决方案,但在考虑本设计只是一个模拟设计,所以选择使用普通和简单的模拟元器件来实现。掉电保护原理,在此模块中使用了一块6264随机存储器来进行数据保护,6264中记录的时钟信息,每隔1分钟反馈给AT89C51,以此来校对时间。当遭遇停电时,备用电池通过二极管自动接替供电,时钟电路继续运行。AT89C51 EARAM6264CS备用电池+5V主电源VCC图3.2掉电保护系统工作原理图误差分析:当主电源断电时,这个端子上的电压在总体下降的过程中会发生波动,显然这会扰乱芯片的工作状态 芯片的各管脚电压会处于不稳定状态。若此时发生写动作,很可能产生错误,即时钟信息数据丢失。在恢复主电源供电的时候,有完全类似的问题,即电源电压的瞬间波动导致片选信号和读写信号的波动,从而发生误写动作。考虑各种原因后,即使在遭遇停电状况时,启动备用电源后,单片机还能正常运行,继续记录时间信息,因此在恢复供电后可以采用LED数码管显示的时间来调整步进电机的转速,使塔钟的指针指向正确的时间。3.1.2滤波电路滤波电路的作用是滤除整流电压中的纹波。常用的滤波电路有电容滤波、电感滤波、复式滤波及有源滤波。这里仅讨论电容滤波。电容滤波电路是最简单的滤波器,它是在整流电路的负载上并联一个电容C。电容为带有正负极性的大容量电容器,如电解电容、钽电容等,电路形式如图(a)所示。1.滤波原理电容滤波是通过电容器的充电、放电来滤掉交流分量的。图(b)的波形图中虚线波形为桥式整流的波形。并入电容C后,在u20时,D1、D3导通,D2、D4截止,电源在向RL供电的同时,又向C充电储能,由于充电时间常数1很小(绕组电阻和二极管的正向电阻都很小),充电很快,输出电压uo随u2上升,当uC =后,u2开始下降u2 uC,D1、D3截止,D2、D4导通,C又被充电至c点,充电过程形成uo = u2的波形为bc实线段。c点以后,u2uC,D1D4又截止,C又放电,如此不断的充电、放电,使负载获得如图(b)中实线所示的uo波形。由波形可见,桥式整流接电容滤波后,输出电压的脉动程度大为减小。3.3(a)电路 (b)波形 图3.3桥式整流电容滤波电路及波形2.U0的大小与元件的选择由上讨论可见,输出电压平均值U0的大小与1、2的大小有关,1越小,2越大,U0也就越大。当负载RL 开路时,2无穷大,电容C无放电回路,U0达到最大,即Uo=;若RL很小时,输出电压几乎与无滤波时相同。因此,电容滤波器输出电压在范围内波动,在工程上一般采用经验公式估算其大小,RL愈小,输出平均电压愈低,因此输出平均电压可按下述工程估算取值 对于单相桥式整流电路而言,无论有无滤波电容,二极管的最高反向工作电压都是U2。关于滤波电容值的选取应视负载电流的大小而定。一般在几十微法到几千微法,电容器耐压应大于。图3.4 220V变压整流滤波后转换成5V原理图图3.5 220V变压整流滤波后转换成12V原理图3.2步进电机的选择在理论上而言,为了提高塔钟的精度,应尽量降低机械运动速度,提高电机速度,采用高细分数的驱动器,但五相电机整个系统价格贵,生产厂家少,故不选用,二相和四相电机脉冲数不好计算,为了简化参数计算,通过以上考虑,本设计选用75BF003三相反应式步进电机,其参数为:工作电压12V,转子齿数40,步距角1.5度,即240个脉冲1周,设转速4转/分,则960脉冲/分,及62.5ms/脉冲,空载频率1250Hz,工作电流为4A,转矩0.882NM,线圈电阻0.82,外径为75mm。由于线圈内阻极小,故必须在每个绕组上窜联大功率限流电阻。在长期运行过程中,该电阻极易烧毁,如无适当电阻更换,可用混联方法将众多水泥电阻组成电阻组,并用散热器冷却散热。驱动板上含有三路相同的驱动电路,每一路驱动步进电机的一相,来自AT89C51输出口的一路步进脉冲信号,在经过二极管和电阻放大以及ULN2004A专用驱动芯片,驱动步进电机的一相。步进电机的驱动脉冲采用三相六拍制,即AABBBCCCA正转。步进电机驱动脉冲代码存于AT89C51的EEPROM内,单片机顺序取出脉冲代码,以2转/分的速度送入驱动板,驱动步进电机转动步进电机转动,通过减速箱带动时、分针转动。用AT89C51的P2.0,P2.1,P2.2分别控制步进电机的A相,B相和,C相线圈.以A相为例,其控制过程为, 当P2.0输出为高电平时,光电耦合器的发光二极管发光,光敏三极管导通,使担负驱动任务的CMOS功率管T1导通,A相绕组通电.按照类似的逻辑分析,不难知道,当P2.0输出低电平时,使A相绕组不通电,采用光电耦合器可以把工作在较大的脉冲电流状态下的驱动电路与单片机隔离开来,还可避免单片机与步进电机功率回路的其他干扰。此外,它还具有在驱动电路发生故障时不致于让功放部分较高的电平串人单片机侧招致损坏的功能。图3.6步进电机驱动电路原理图3.3时钟显示电路时钟显示电路采用LED数码管(也称半导体数码管),是目前数字电路中最常用的显示器件。数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。1. 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。2. 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。LED数码管是以发光二极管作笔段并按共阴极方式或共阳极方式连接后封装而成的。有两种LED数码管的外形与内部结构公共阳极和公共阴极,ag是7个笔段电极,DP为小数点。LED数码管型号较多,规格尺寸也各异,显示颜色有红、绿、橙等。LED数码管分共阳极与共阴极两种,共阳极工作特点是,当笔段电极接低电平,公共阳极接高电平时,相应笔段可以发光。共阴极LED数码管则与之相反,它是将发光二极管的阴极(负极)短接后作为公共阴极。当驱动信号为高电平才能发光。使用LED数码管时,工作电流一般选10mA左右段,既保证亮度适中,又不会损坏器件。本设计采用的是7SEG-MPX6-CA7SEG-MPX6-CA是集成了的六位七段共阳极数码管。3.4 按键控制当遇到停电情况,步进电机停止运行,当恢复供电后,需要改变步进电机转速或者转动方向来调整塔钟指针指示到正确时间,因此需要按键来控制。一共设置了5个按键,它们的名称与功能分别如下所述:1.正转使步进电机正转,同时具有启动电机功能2.反转使步进电机反转,同时具有启动电机功能3.加速使步进电机转速加快4.减速使步进电机转速减慢5.停止使步进电机停止转动,同时具有复位电机初始状态功能3.5各部分芯片选择主控制电路芯片选用AT89C51,步进电机驱动选用二极管和电阻以及专用驱动芯片ULN2004A,报时系统选用蜂鸣器报警。AT89C51单片机特性AT89C51是一种低功耗,高性能的8位的CMOS微处理器芯片,片内带有4K字节的闪速可编及可擦除只读存储器,简写为PEROM。该芯片的制造采用了ATEML公司的高密度非易挥发存储器的生产技术,并与工业标准的80C51指令集与管脚分布相兼容。片上的允许在线对程序存储器重新编程,也可用常规的非易挥发存储芯片编程器编程。AT89C51将功能多样的8位CPU与PEROM结合在同一个芯片上 为许多嵌人式控制应用提供了高度灵活并且价格适宜的方案。这种AT89C51具有以下标准特性:4K字节的PEROM,128字节的RAM,32条I/O线,两个16位定时器/计数器,一个五源两级的中断结构,一个全双I的串行口,片内振荡器与时钟电路。AT89C51为PEROM阵列的编程提供了所有必需的时序与高电压,不需要任何外部支持电路。此外,AT89C51还支持两种软件可选的省电模式。其中闲置模式下,CPU停止工作,但RAM、定时器计数器、串行口与中断系统仍然在起作用。在掉电模式下,只保存RAM的内容,振荡器停振,关闭芯片的所有其它功能,直到下一次硬件复位到来。4 软件部分编程4.1时钟电路主程序所谓时钟计时,就是以秒,分,时为单位进行的计时,广泛用于日常生活中。选用的AT89C51的定时器/计数器来实现计时,是一个非常普遍的应用。首先对几个相关问题进行说明。1.要计算计数初值。时钟计时的关键问题是秒的产生,因为秒是最小的时钟单位,但使用AT89C51的定时器/计数器进行定时,即使按做工作方式1,其最大定时也只能达到131ms,离1s还很远。因此,把秒计时用硬件定时和软件计数想结合的方法实现,例如把定时器的定时设定为125ms,这样计数8次就可以得到1s,而8次计数可用软件方法实现。为得到125ms定时,可以使用定时器/计数器0,以工作方式1进行,假定单片机为12MHz晶振,设计数初值为X,则有如下等式: 65536X=125000计算得计数初值X=3036,二进制表示为101111011100,十六进制表示为0BDCH。2.采用中断方式,即通过中断服务程序进行计数器溢出次数(每次125ms)的累计,计满8次即得到秒计时。3.通过程序中的数值累加和数值比较来实现从秒到分到时的计时。例如,秒计数单元每次加1,都要比较判断是否计满60.若未计满60,则继续计数;若计满60,则转去对分计数单元加1.4设置时钟显示缓冲区。假定时钟时间在6位LED显示器上显示(时,分,秒各占两位)。因此,要在内部RAM中设置6个单元的显示缓冲区,从左向右依次存放时,分,秒的数值。显示单元与LED显示位的对应关系如下:LED5LED4LED3LED2LED1LED075H74H73H72H71H70H4.1.1主程序MAIN主程序的主要功能是进行定时器/计数器的初始化编程,然后通过反复调用显示子程序的方法,等待125ms定时中断的出现。其流程如下图所示。MAIN显示缓冲清0定时器0,工作方式1装计数初值定时开始开中断设置循环次数调用显示子程序图4.1 MAIN程序流程图程序如下: ORG 8000HSTART:AJMP MAIN ORG 800BH AJMP PITO ORG 8100HMAIN:MOV R0,#70H 显示缓冲首地址 MOV R7,#06H 显示位数 ML1:MOV R0,#00H 显示缓冲清0 INC R0 DJNZ R7,ML1MOV 7AH,#0AH ;放入熄灭符数据MOV TMOD,#01H 定时器0,工作方式1MOV TL0,#0DCH 装计数初值 MOV TH0,#0BH SETB TR0 TR0置1,定时开始 MOV IE,#01H 允许中断 MOV 30H,#08H 设置循环次数 ML0:LCALL DISPLAY 调用显示子程序 SJMP ML04.1.2中断服务程序PITO中断服务程序的主要功能是进行计时操作。程序开始先判断计数溢出是否满了8次,若不满8次表明还没有到达最小计时单位秒,则中断返回;若满8次表明已到达最小计时单位秒,则程序继续向下执行,同理进行分和时的计时。其中计时到1小时的时候跳转到报时子程序。其流程如下图所示。PITO计数器重新加载循环次数减1是否满8次?秒加1是否满60s?秒缓冲清0,分加1是否满60min?分缓冲清0,时加1启动报时程序是否满24h?时清0Y返回NNNNYYY图4.2 PITO程序流程图程序如下:PITO:MOV TL0,#0DCH 计数器重新加载 MOV TH0,#0BH MOV A,30H DEC A 循环次数减1 MOV 30H,A JNZ RET0 不满8次,转RETO返回 MOV 30H,#08H 满8次,开始计时操作 MOV R0,#70H 秒显示缓冲单元地址 ACALL DAAD1 秒加1 MOV A,R2 加1后秒值在R2中 XRL A,#60H 判断是否到60S JNZ RET0 不到,则转RETO返回 ACALL CLR0 到60S,则秒显示缓冲单元清0 MOV R0,#72H 分显示缓冲单元地址 ACALL DAAD1 分加1 MOV A,R2 XRL A,#60H 判断是否到60MIN JNZ RET0 ACALL CLR0 到60MIN,则分显示缓冲单元清0 MOV R0,#74H 时显示缓冲单元地址 ACALL DAAD1 时加1 INC R3 MOV R4,R3 ACALL ABC 跳转到报时程序 MOV A,R2 XRL A,#24H 判断是否到24H JNZ RET0 ACALL CLR0 到24H,则时显示缓冲单元清0 RET0:RETICLR0:CLR A 清缓冲单元子程序 MOV R0,A 10位数缓冲单元清0 DEC R0 MOV R0,A 个位数缓冲单元清0 RET 4.1.3加1子程序DAAD1加1子程序用于完成对秒,分,时的加1操作,中断服务程序中在秒,分,时加1共有3处调用次子程序。流程图如下:加1子程序的操作共包括以下3项内容:1合数。由于每位LED显示器对应一个8位缓冲单元,因此,由两位BCD码表示的时间值各占用一个缓冲单元,且只占其低4位。所以在加1运算前需要把两个缓冲单元中存放的数值合起来,构成一个字节,然后才能进行加1运算。所以也称为“合字”。2十进制调整。加1后须进行十进制调整。3.分数。把加1后的时间值再拆分成两个字节,送回各自的缓冲单元中。DAAD1取十位数使十位数占A高半字节取个位数,并占低半字节加1十进制调整个位数送缓冲单元把十位数交换到低半字节十位数送缓冲单元返回图4.3 加1子程序DAAD1程序流程图程序如下:DAAD1:MOV A,R0 加1子程序 DEC R0 SWAP A ORL A,R0 ADD A,#01H 加1 DA A 10进制调整 MOV R2,A 全值暂存R2中 ANL A,#0FH MOV R0,A MOV A,R2 INC R0 ANL A,#0F0H SWAP A MOV R0,A RET4.1.4报时子程序报时子程序的功能是用于自动报时,每个1个小时便报一次时间,时间到了几点就响几声。程序如下: ABC:MOV TMOD,#00H 设置T1工作方式0 MOV TH1,#0FCH 设置计数初值 MOV TL1,#03H MOV IE,#00H 禁止中断 SETB TR1 定时开始 LOOP:JBC TF1,LOOP1 查询计数溢出 AJMP LOOP LOOP1:MOV TH1,#0FCH 重新设置计数初值 MOV TL1,#03H CPL P2.7 输出取反 DJNZ R3,ABC MOV R3,R44.1.5显示程序 显示数据在70H-75H单元内,用六位七段LED共阳极数码管显示,P0口输出段码数据,P3口作扫描控制,每个LED数码管亮1MS时间再逐位循环。程序如下:DISPLAY: MOV R1,#70H ;指向显示数据首址 MOV R5,#0FEH ;扫描控制字初值 PLAY: MOV A,R5 ;扫描字放入A MOV P3,A ;从P3口输出 MOV A,R1 ;取显示数据到A MOV DPTR,#TAB ;取段码表地址 MOVCA,A+DPTR ;查显示数据对应段码 MOV P0,A ;段码放入P0口 LCALL DL1MS ;显示1MS INC R1 ;指向下一地址 MOV A,R5 ;扫描控制字放入A JNB ACC.5,ENDOUT ;ACC.5=0时一次显示结束 RL A ;A中数据循环左移 MOV R5,A ;放回R5内 AJMP PLAY ;跳回PLAY循环 ENDOUT: MOV P3,#0FFH ;一次显示结束,P3口复位 MOV P0,#0FFH ;P0口复位 RET ;子程序返回TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;1MS延时程序,LED显示程序用 DL1MS: MOV R6,#14H DL1: MOV R7,#19H DL2: DJNZ R7,DL2 DJNZ R6,DL1 RET04.2步进电机程序该程序是三相反应式步进电机程序,选用AT89C51作为控制芯片,12M晶振。

温馨提示

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

评论

0/150

提交评论