直流绕线机51单片机的数字钟设计.docx
《直流绕线机51单片机的数字钟设计.docx》由会员分享,可在线阅读,更多相关《直流绕线机51单片机的数字钟设计.docx(12页珍藏版)》请在冰豆网上搜索。
直流绕线机51单片机的数字钟设计
标准半自动直流绕线机51单片机
的数字钟设计论文
学校:
华侨大学厦门工学院
系:
电子信息工程系
专业:
姓名:
学号:
指导老师:
唐晓明老师
日期:
2011年月日
摘要
目前,计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用也越来越普遍,原因在于它具有功能强、功耗低、体积小、价格便宜、工作可靠、使用便捷等等的特点,也因此广泛地被应用于自动控制、智能化仪器、仪表、数据采集、军工产品以及家用电器等各个领域。
单片机的种类很多,根据不同的领域,需要单片机的型号也是不一样的,例如,最早的有初级8位单片机IntelMCS-48系列、高档8位单片机IntelMCS-51系列等。
由于信息时代的到来,单片机的发展也变的更加的快速,1976年至今,单片机变成了最常见的使用器件之一。
步进电动机是将电脉冲激励信号转换成相应的角位移或线位移的离散值控制电动机,这种电动机每当输入一个电脉冲就动一步,所以又称脉冲电动机。
步进电动机把电脉冲信号变换成角位移以控制转子转动的微特电机。
在自动控制装置中作为执行元件。
每输入一个脉冲信号,步进电动机前进一步,故又称脉冲电动机。
步进电动机多用于数字式计算机的外部设备,以及打印机、绘图机和磁盘等装置。
在数字控制系统中具有精度高,运行可靠。
绕线机采用单片机与步进电机的组合,能精准地完成绕线的任务。
本次实验设计论文中,主要采用的是AT89C51单片机。
数字钟的组成主要由一个AT89C51单片机、1602液晶屏幕、还有用于复位的按键部分,还有电源等部分组成。
数字钟实际上是一个对标准频率(1HZ)进行计数的电路,通常使用石英晶体振荡器电路构成数字钟。
关键词:
51单片机、AT89C51、1602
目录
前言
目前,大家普遍用的数字钟是一种用数字电路技术实现时、分、秒计时的钟表。
与机械钟相比具有更高的准确性和直观性,且具有更长的使用寿命,已得到广泛的使用。
数字钟的设计可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用单片机来实现电子钟等等。
每种方法的特点不同,应用的领域也就不一定相同。
其中利用单片机实现的电子钟具有编程灵活,且与计算机编程领域有着密切的关联。
数字钟广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
第一章51单片机数字钟的硬件设计原理
数字钟的信号主要由8051单片机的定时器来提供,对时间进行设置和进行闹铃等设置主要用到的是单片机的外部中断。
外部控制电路以及显示电路用的是单片机的I/O口。
1.1.18051芯片特点介绍:
1、8位CPU;
2、32根I/O线;
3、5个中断源,2个中断优先级;
4、两个16位的定时器;
5、片内振荡器以及时钟电路;
6、外部存储ROM和RAM;
7、全双工串行口。
1.1.2AT89C51单片机管脚图
1.1.3振荡器的特性
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
用于数字时钟的设计中,由于12M晶振的一个机器周期耗时1us便于计算,因此这里采用12M的晶振。
为使晶振更加稳定和精准,晶振两端各加30p的瓷片电容,电容对地连接。
1.1.4芯片的擦除
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
1.1.5管脚的介绍
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口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
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:
来自反向振荡器的输出。
1.2显示电路
1.2.1器件选用
对于单片机电路,显示电路基本上可分为采用LED的指示灯,采用数码管的数字显示电路,和采用液晶屏的显示电路。
采用LED的指示灯电路不符合本课题的需求,因此淘汰。
采用数码管的电路成本较低,但电路较为复杂,且需要通过扫描的方式来实现显示,扫描周期需与计时器延时周期相匹配,程序也较为复杂。
采用液晶屏的方案虽然成本较高,但是显示直观,扩展性较强,且程序易于实现,线路简易。
综上所述,采用1602液晶屏。
2.1.21602液晶显示屏
1602显示屏顾名思义即每行16个字符,共两行的类点阵液晶显示屏,可显示大小写英文字母、阿拉伯数字及英文标点。
1602采用标准的16脚接口,其中:
第1脚:
VSS为地电源
第2脚:
VDD接5V正电源
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
RW为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15~16脚:
空脚
第二章电机部分的设计
由于步进电机是一种将电脉冲信号转换成直线或角位移的执行元件,它不能直接接到交直流电源上,而必须使用专用设备-步进电机控制驱动器典型步进电机控制系统如图1所示:
控制器可以发出脉冲频率从几赫兹到几十千赫兹可以连续变化的脉冲信号,它为环形分配器提供脉冲序列。
环形分配器的主要功能是把来自控制环节的脉冲序列按一定的规律分配后,经过功率放大器的放大加到步进电机驱动电源的各项输人端,以驱动步进电机的转动。
环形分配器主要有两大类:
一类是用计算机软件设计的方法实现环分器要求的功能,通常称软环形分配器。
另一类是用硬件构成的环形分配器,通常称为硬环形分配器。
文中所控制的步进电机是四相单极式35BY48HJ120减速步进电动机。
本文所设计的步进电机控制驱动器的框图如图2所示。
片内置8K字节可重复擦写的Flash闪速存储器。
256字节RAM。
3个16位定时器。
可编程串行UART通道。
L297是意大利SGS半导体公司生产的步进电机专用控制器,它能产生4相控制信号,可用于计算机控制的两相双极和四相单相步进电机,能够用单四拍、双四拍、四相八拍方式控制步进电机。
它们所组成的微处理器至双桥式步进电动机的接口如图3所示。
这种方式结合的优点是,需要的元件很少,可靠性高和占空间少,并且通过软件开发,可以简化和减轻微型计算机的负担。
L297芯片是一种硬件环分集成芯片。
芯片内的PWM斩波器电路可开关模式下调节步进电机绕组中的电机绕组中的电流。
该集成电路采用了SGS公司的模拟/数字兼容的I2L技术,使用5V的电源电压,全部信号的连接都与TFL/CMOS或集电极开路的晶体管兼容。
它可产生四相驱动信号,用于计算机控制的两相双极或四相单极步进电机,这一部分是由两种输入模式控制,方向控制(CW/CCW)和HALF/FULL以及步进式时钟CLOCK.它将译码器从一阶梯推进至另一阶梯。
译码器有四个输出点连接到输出逻辑部分,因此L297能产生三种相序信号,对应于三种不同的工作方式:
即半步方式(HALFSTEP);基本步距(FULLSTEP,整步)一相激励方式;基本步距两相激励方式。
脉冲分配器内部是一个3bit可逆计数器,加上一些组合逻辑。
产生每周期8步格雷码时序信号,这也就是半步工作方式的时序信号。
L297另一个重要组成是由两个PWM斩波器来控制相绕组电流,实现恒流斩波控制以获得良好的矩频特性。
图3中,频率f是由外接16脚的RC网络决定的,当R=10kΩ时,f=1/0.69RC。
当时钟振荡器脉冲使触发器置1,电机绕组相电流上升,采样电阻的R上电压上升到基准电压Uref时,比较器翻转,使触发器复位,功率晶体管关断,电流下降,这样,触发器输出的是恒频PWM信号,调制L297的输出信号,绕组相电流峰值由Uref确定。
CONTROL为高电平时,对A、B、C、D有控制作用;而为低电平时,则对INH1和INH2起控制作用,从而可对电动机转向和转矩进行控制。
L298芯片是一种高压、大电流双全桥式驱动器,其设计是为接受标准TTL逻辑电平信号和驱动电感负载的,例如继电器、圆筒形线圈、直流电动机和步进电动机具有两抑制输入来使器件不受输入信号影响。
每桥的三级管的射极是连接在一起的,相应外接线端可用来连接外设传感电阻。
AT89C52通过串口经MAX232电平转换之后与微机相连。
接受上位机指令。
向L297发出时钟信号、正反转信号、复位信号及使能控制等信号。
电路中,电阻R13,R15用来调节斩波器电路的参考电压,该电压将与通过管脚13,14所反馈的电位的大小比较,来确定是否进行斩波控制,以达到控制电机绕组电流峰值。
第三章软件部分组成
在该电路中,将P1.0口设为电机开始按钮,P1.1,P1.2,P1.3为速度选择按钮。
速度由低到高,P1.4为电机停止按钮。
并设三档速度的最高速度依次为500pps、1000pps、2000pps。
RXD,TXD已由MAX232电平转换接出串口。
此外,步进电机其启动,停止的频率较低,一般在100-250Hz之间,而最高运行频率要求较高。
通常为1-3kHz,为使其在启动、运行和停止整个过程中,这采用常用的离散办法来逼近理想的近似梯形的升降速曲线,如图所示。
把各离散点的速度所需的装载值用公式转化为各自所需的定时时间固化在系统的ROM中,这里用TH0=(65536-time)/256,TL0=(65536-time)%256来计算装载值,time表示各阶梯所需定时时间。
该程序主要由控制主程序、加减速子程序组成,主程序框图如图
结束语
单片机的学习和研讨课程中,深入了解了单片机的智能化应用,该系统的设计很好的满足了当前学校的教学需求,是一个理想的智能设计。
本文创新点在于提出应用单片机和L297、L298集成电路构成步进电机控制驱动器。
使之具有元件少。
可靠性高、占空间少、装配成本低等优点。
另外,在上面提出的在加减速程序中定时器的装载值用式子计算不精确,这两条赋值要执行不少的时间。
具体做的时候。
可直接把初值计算出来或把除号用相加来计算。
而步进电机对于自动绕线机是一个很好的解决方案。
在学习过程中,发现单片机系统能有效简化数字电路的复杂程度,大幅提高硬件的稳定性。
由于单片机是可编程器件,因此系统整体在日后运行过程中如果发生故障,开发人员仍能在原有硬件平台上进行改进,其扩展性和可调试性较传统电路显得十分优秀。
通过对本课题的学习研讨,我对单片机系统的认识更进一步提升,对日后学习各专业课也有了更好的基础和兴趣。
参考文献:
[1]李广弟等单片机基础北京航空航天出版社,2001.7
[2]楼然苗等51系列单片机设计实例北京航空航天出版社,2003.3
[3]唐俊翟等单片机原理与应用冶金工业出版社,2003.9
[4]刘瑞新等单片机原理及应用教程机械工业出版社,2003.7