czljcb电子钟设计说明书.docx
《czljcb电子钟设计说明书.docx》由会员分享,可在线阅读,更多相关《czljcb电子钟设计说明书.docx(19页珍藏版)》请在冰豆网上搜索。
czljcb电子钟设计说明书
基于无线开机电子钟设计说明书
设计者:
曹志、朱文彬、高亚兵
指导老师:
黄伟聂东
作品内容简介
随着现代生活的推进,电子时钟在人们的生活中已经普及。
点阵时钟虽有它自己的缺点,如硬件利用不充分,价格较高,但是点阵时钟的字体可以方便地改变,只要改变单片机中的程序,就可以任意改变显示出来的字体,亲切的字体常常会给人耳目一新的感觉,不象普通LED数码管的字体那么呆板,现已被广泛应用于生活和工作当中。
本文对当前电子钟开发手段进行了比较和分析,最终确定了采用单片机技术实现多功能电子时钟。
文章的核心主要从硬件设计和软件编程两个大的方面。
硬件电路设计主要包括中央处理单元电路、显示电路、按键控制电路、温度采集电路、时钟电路、无线开关机电路等几部分组成,软件用c语言来实现。
其硬件部分难点在于无线开关机电路的设计、布局及焊接。
本设计应用atmega16单片机作为核心,用8*32LED点阵显示,使用DS1302实现时时钟、日历的基本功能,同时利用DS18B20温度传感器测量环境温度,另外附加了无线开关机、定时关机功能。
整机系统性能可靠,实时性好,时间、温度精度高,操作简单,方便人们的日常生活。
关键词:
Atmega16点阵ds130218b20无线开关机
contentabstract
Alongwiththeadvancementofmodernlife,theelectronicclockhasbeenpopularinpeople'slives.Althoughlatticeclockhasitsowndisadvantages,suchasinadequatehardwareutilization,thepriceishigher,butthelatticeclockfontcanbeeasilychanged,justchangetheprogramofMCU,canarbitrarilychangethedisplayfonts,kindoffontwilloftengiveapersonthefeelingthatfindeverythingnewandfresh,notlikeordinaryLEDdigitaltube,fontsoinflexible,havebeenwidelyusedinlifeandwork.Inthispaper,thecurrentelectronicclockdevelopmentmethodhascarriedonthecomparisonandanalysis,finallyidentifiedbysinglechipmicrocomputertechnologytorealizemulti-functionelectronicclock.Thecoreofthearticlemainlyfromtwoaspects,hardwaredesignandsoftwareprogramming.Hardwarecircuitdesignmainlyincludesthecentralprocessingunitcircuit,displaycircuit,keycontrolcircuit,temperaturecollectioncircuit,clockcircuit,wirelessswitchelectromechanicalroadandsoonseveralparts,thesoftwareuseclanguagetoachieve.Thehardwarepartofthedifficultyisthatthewirelessswitchmechanicalandelectricaldesign,layoutandweldingoftheroad.Thisdesignusedatmega16microcontrollerasthecore,with8*32LEDdotmatrixdisplay,usingDS1302torealizethebasicfunctionoftheclock,calendar,usingDS18B20temperaturesensormeasuringambienttemperatureatthesametime,alsoattachedthewirelessswitchmachine,regularshutdownfunctions.Reliablesystemperformance,goodreal-time,time,temperature,highprecision,simpleoperation,convenientPeople'sDailylife.
Keywords:
Atmega16latticeDS1302DS18b20wirelessswitchmachine
1、研制背景及意义
LED点阵显示屏作为信息传播的一种重要手段,具有亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定等优点。
再加上集成电路的使用,LED点阵显示屏的外围电路变得越来越简单,性价比不断攀升,舍得LED点阵显示屏广泛用于各行各业以及公共场所,成为了信息化时代不可缺少的信息发布工具。
例如,公共场所的广告宣传,机场车站旅客引导信息,公交车辆报站系统、证券与银行信息显示、餐馆报价信息显示、高速公路可变情报板、体育场馆比赛转播、楼宇灯饰等。
日前LED点正显示屏正想着高亮度、全彩化、标准化的方向不断发展。
我们可以看到,随着科学技术的不断进步,以及LED显示技术的不断完善,LED点阵显示屏的应用领域将会越来越广。
在本次设计中,LED点阵作为电子时钟的显示屏,最大的优点在于其显示内容的多样性,为用户提供了灵活的人机交互界面。
同时由于在这里采用Atmega16单片机,为电子时钟扩充许多显来诸如整点报时、定时关机、无线摇控等功能。
2、设计方案
本LED点阵数字钟基于atmega16单片机设计,使用4片8*8的LED点阵作为显示屏。
通过设计系统可以完成显示时间,日期,并增加了用DS18B20温度传感器显示温度的功能、定时开关机功能和无线摇控功能。
同时,通过程序的改变可以为点阵数字钟扩充例如闹钟等功能。
LED点阵数字钟通过单片机来完成计时,设定,温度测量等功能。
显示部分通过74HC595通用移位寄存器,完成点阵屏幕与单片机连接从而完成显示部分的功能。
在显示电路中,主要靠按键来实现各种显示要求的选择与切换。
显示部分是本次设计最核心的部分,对此可采取以下方案:
动态显示,对一幅画面进行分割,对组成画面的各部分分别显示,是动态显示方式。
动态显示方式方式,可以避免静态显示的问题。
但设计上如果处理不当,易造成亮度低,闪烁问题。
因此合理的设计既应保证驱动电路易实现,又要保证图像稳定,无闪烁。
动态显示采用多路复用技术的动态扫描显示方式,复用的程度不是无限增加的,因为利用动态扫描显示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短,发光的亮度等因素.我们通过实验发现,当扫描刷新频率(发光二极管的停闪频率)为50Hz,发光二极管导通时间≥1ms时,显示亮度较好,无闪烁感。
整机系统设计如下框图所示:
图2-1、系统设计框图
3、主要元器件及各模块介绍
3.1、单键开/关机电路
3.1.1、工作原理
单键开关电路已经广泛应用于PDA、手机和电子词典等数码产品中,其实现方式多种多样。
一般可采用RS触发器、计数器以及采用555集成电路等等。
在单片机的一些实际应用中,以上的实现方式会增加整个电路的复杂度,不能达到简洁、实用的效果。
本次设计采用的是一种可以在单片机应用中实现的,简易、稳定的轻触式单键开关电路。
如图3-1-1所示,
图3-1-1、单键开关机电路
由于SW0按下一瞬间,继电器一瞬间工作,atmega16瞬间工作,PB0一直输出高电平,Q1一直导通。
单片机一直扫描相应I/O输入状态,如果S1没有按下去,则这个I/O将始终为高。
当S1再次按下去时,D2导通,单片机检测到这个I/O引脚输入为低,这时单片机就将这个I/O设置成输出为低的状态。
Q1截止,如果按键抬起,继电器不会工作,整个电路处于关断状态。
3.1.2、R1的选取
在一些单片机中,例如AVR系列单片机ATmega16L,带有内部上拉电阻Rpu,如图3-1-2所示。
图3-1-2、内部上拉电阻
可以通过单片机程序控制电阻上拉与否,从而不需要外接上拉。
一般情况下,R1取值要远大于Rpu,否则单片机I/O的输入电压Vpin会有低于标准输入电压VIH最低值的可能。
从ATmega16L数据手册中查到Rpu取值在20kΩ~100kΩ之间,又因为VIH的最小值约为0.6VCC。
因此R1/(R1+Rpu)>0.6,取R4=50kΩ,并取R1/(R1+Rpu)=0.8,所以R1取值应该在200kΩ左右的范围。
开关电路程序流程图如下图所示。
图3-1-3、开关电路单片机程序流程图
3.2、无线开关机电路
3.2.1、PT2262/2272介绍
PT2262/PT2272是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路,引脚功能如图3-2-1所示。
图3-2-1、PT2262/2272引脚功能图
PT2262引脚说明、:
Pin1-Pin6(A0-A5):
地址输入端,可编成“1”、“0”和“开路”三种状态。
Pin7、Pin8、pin10-Pin13(A6/D0-A11/D5):
地址或数据输入端,地址输入时用Pin1-Pin6,做数据输入时只可编成“1”、“0”两种状态。
Pin14(TE):
发射使能端,低电平有效。
Pin15、Pin16(OSC1、OSC2):
外接振荡电阻,决定振荡的时钟频率。
Pin17(Dout):
数据输出端,编码由此脚串行输出。
Pin9、Pin18(VDD,Vss):
电源+,-输入端。
PT2272引脚说明:
Pin1-Pin6(A0-A5):
地址输入端,可编成“1”、“0”和“开路”三种状态。
要求与PT2262设定的状态一致。
Pin7、Pin8、pin10-Pin13(D0-D5):
数据输出端,分暂存和锁存两种状态。
Pin14(DI):
脉冲编码信号输入端。
Pin15、Pin16(OSC1、OSC2):
外接振荡电阻,决定振荡的时钟频率。
Pin17(VT):
输出端,接收有效信号时,VT端由低电平变为高电平。
Pin9、Pin18(VDD,Vss):
电源+,-输入端。
3.2.2、PT2262/PT2272的震荡电阻的选取
PT2262常用震荡电阻(直接接在OSC1-OSC2端)。
PT2262/PT2272的震荡电阻一般按下述值配对:
PT2262PT2272
1.2M200K
1.5M270K
2.2M390K
3.3M680K
4.7M820K
3.2.3、几种型号的区别
PT2272解码芯片有不同的后缀,表示不同的功能,有L4/M4/L6/M6之分,其中L是锁存输出,数据只要成功接收就能一直保持对应的电平状态,直到下次遥控数据发生变化时改变。
M表示非锁存输出,数据脚输出的电平是瞬时的而且和发射端是否发射相对应,可以用于类似点动的控制。
后缀的6和4表示有几路并行的控制通道,当采用4路并行数据时(PT2272-M4),对应的地址编码应该是8位,如果采用6路的并行数据时(PT2272-M6),对应的地址编码应该是6位。
还有一种T4的,T表示锁存输出,而L也是锁存,但是是互锁的,当按下第二个键是才能释放第一个键,而T却可以单键控制对应的引脚输出。
所以L是互锁,T是自锁,M是非锁。
3.2.4、无线摇控原理
PT2262/PT2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路。
编码芯片PT2262发出的编码信号由:
地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。
当发射机没有按键按下时,PT2262不接通电源,其17脚为低电平,所以315MHz的高频发射电路不工作,当有按键按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低平期间315MHz的高频发射电路停止振荡,所以高频发射电路完全受控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100%的调幅。
发射与接收电路如图3-2-1、图3-2-2所示。
图3-2-2、发射电路
图3-2-3、接收电路
3.3、温度采集电路
3.3.1、温度传感器DS18B20介绍
DS18B20:
数字温度传感器,具有适应电压范围宽(3.0~5.5V)、单线接口方式、支持多点组网功能、使用中不需要任何外围元件、测量结果直接输出数字温度信号等特点。
测温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。
可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
封装及测温原理如下图3-3-1和图3-3-2所示。
图3-3-1、PR-35封装图3-3-2、DS18B20测温原理图
如图3-3-2所示,低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。
高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
图3-3-2中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。
DS18B20在不同应用方式下的测温电路图共有三种:
寄生电源供电测温方式、外部供电方式单点测温方式、外部供电的多点测温方式。
本设计中采用的是外部供电单点测温方式。
如图3-3-3所示。
图3-3-3、外部供电单点测温方式
在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。
注意:
在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85外部供电方式单点测温电路℃。
3.4、时间模块
3.4.1、时钟芯片DS1302的介绍
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
相对于DS1202,增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。
封装如图3-4-1所示。
图3-4-1、DS1302封装图
其中Vcc1为后备电源,VCC2为主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。
当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。
当Vcc2小于Vcc1时,DS1302由Vcc1供电。
X1和X2是振荡源,外接32.768kHz晶振。
RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。
RST输入有两种功能:
首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据传送的方法。
当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。
上电运行时,在Vcc>2.0V之前,RST必须保持低电平。
只有在SCLK为低电平时,才能将RST置为高电平。
I/O为串行数据输入输出端(双向),SCLK为时钟输入端。
实际上,DS1302与CPU的连接需要三条线,即SCLK(7)、I/O(6)、RST(5)。
在调试程序时可以不加电容器,只加一个32.768kHz的晶振即可。
原理如图3-4-2所示。
图3-4-2、DS1302与单片机连接原理图
只是选择晶振时,不同的晶振,误差也较大。
另外,还可以在上面的电路中加入DS18B20,同时显示实时温度。
只要占用CPU一个口线即可。
3.4.2、DS1302寄存器的使用
DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字如图3-4-3所示
图3-4-3、DS1302日历、时间寄存器及其控制字
DS1302与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位WriteProtect(D7)必须为逻辑0,如果D7=1,则禁止写DS1302,即写保护;D6=0,指定时钟数据,D6=1,指定RAM数据;D5~D1指定输入或输出的特定寄存器;最低位LSB(D0)为逻辑0,指定写操作(输入),D0=1,指定读操作(输出)。
在DS1302的时钟日历或RAM进行数据传送时,DS1302必须首先发送命令字节。
若进行单字节传送,8位命令字节传送结束之后,在下2个SCLK周期的上升沿输入数据字节,或在下8个SCLK周期的下降沿输出数据字节。
DS1302与RAM相关的寄存器分为两类:
一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,在此方式下可一次性读、写所有的RAM的31个字节。
要特别说明的是备用电源B1,可以用电池或者超级电容器(0.1F以上)。
虽然DS1302在主电源掉电后的耗电很小,但是,如果要长时间保证时钟正常,最好选用小型充电电池。
可以用老式电脑主板上的3.6V充电电池。
如果断电时间较短(几小时或几天)时,就可以用漏电较小的普通电解电容器代替。
100μF就可以保证1小时的正常走时。
DS1302在第一次加电后,必须进行初始化操作。
初始化后就可以按正常方法调整时间。
3.5、显示模块
3.5.1、点阵介绍
本设计显示模块由4块8*8点阵组成。
一个8*8的点阵是由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1电平,某一列置0电平,相应的二极管就亮;如图3-5-1所示。
图3-5-1、8*8点阵原理图
3.5.2、74HC595介绍
74HC595是具有8位移位寄存器和一个存储器,三态输出功能的硅结构CMOS器件。
595移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
引脚功能如图3-5-2所示。
图3-5-2、74HC595功能图
3.5.3、点阵显示原理
人眼的亮度感觉不会因光源的消失而立即消失,要有一个延迟时间,这就是视觉的惰性。
视觉惰性可以理解为光线对人眼视觉的作用、传输、处理等过程都需要时间,因而使视觉具有一定的低通性。
实验表明,当外界光源突然消失时,人眼的亮度感觉是按指数规律逐渐减小的。
这样当一个光源反复通断,在通断频率较低时,人眼可以发现亮度的变化;而通断频率增高时,视觉就逐渐不能发现相应的亮度变化了。
不致于引起闪烁感觉的最低反复通断频率称为临界闪烁频率。
通过实验证明临界闪烁频率大约为24Hz。
因此采用每秒24幅画面的电影,在人看起来就是连续活动的图象了。
同样的原理,日光灯每秒通断50次,而人看起来却是一直亮的。
由于视觉具有惰性,人们在观察高于临界闪烁频率的反复通断的光线时,所得到的主观亮度感受实际上是客观亮度的平均值。
视觉惰性可以说是LED显示屏得以广泛应用的生理基础。
首先,在LED显示屏中可以利用视觉惰性,改善驱动电路的设计,形成了目前广为采用的扫描驱动方式。
扫描驱动方式的优点在于LED显示屏不必对每个发光灯提供单独的驱动电路,而是若干个发光灯为一组共用一个驱动电路,通过扫描的方法,使各组发光灯依次点燃,只要扫描频率高于临界闪烁频率,人眼看起来各组灯都在发光。
由于LED显示屏所使用的发光灯数量很大,一般在几千只到几十万只的范围,所以节约驱动电路的效益是十分可观的。
如显示10个汉字,先将这10个汉字的点阵从字库中读出,放到显示缓存,如果要实现左移或者其它的显示效果则将显示缓存中的每个位进行移位或者其它处理,然后再调用扫描显示函数就可以实现所规定的效果。
扫描显示函数是显示缓存的内容,如果要实现不同的内容,比如说图片、汉字、英文等内容,只需要将这些内容按扫描显示函数对显示缓存的协议要求就可以显示出来。
由于显示屏中采用74HC595移位缓存器,所以需要做74HC595的驱动,这个相对简单,只要将数据按位传输,一位送一个时钟,送完一行所有的数据送一个锁存时钟,再通过74HC138选通该行,这样一直循环,人眼就会看到一幅完整的内容。
对于显示屏来说,显示使能端是比较重要的,主要是因为送完一行后需要一个消隐的动作,所谓的消隐就是让显示屏黑屏一段时间,如果不做该动作,则在显示的过程中会有拖影的现象。
3.5.3、LED点阵显示部分
74HC595通用移位寄存器并行输出端具有输出锁存功能。
与单片机连接简单方便,只须三个I/O口即可。
而且通过芯片的Q7引脚和SER引脚,可以级联。
点阵屏幕由4片8*8的LED点阵组成。
采用74HC595来实现时钟的动态显示。
点阵屏幕段选码由4片74HC595控制,段选数据由74HC595的SER引脚串行输入,由于输出使能时钟RCLK并接在一起,因此,4片74HC595并行输出端同时输出。
而4个点阵位选信号也并接在一起,因此,一次可以同时点亮4列此过程类似于静态显示。
每片74HC595并行输出端并接到点阵的每一位的引脚,用于扫描输出,此过程类似于动态扫描过程。
此方法运用4片74HC595,7条位选信号,从而实现LED点阵的