电子台历的设计Word格式文档下载.docx
《电子台历的设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《电子台历的设计Word格式文档下载.docx(52页珍藏版)》请在冰点文库上搜索。
单片机;
传感器;
电子台历
ABSTRACT
Withtherapiddevelopmentofelectronictechnology,thedesignbasedonSingle-chipMicrocomputeriswidelyappliedinindustry,agriculture,electricpower,electronandsoon.Microcomputer,asthecoreoftheembeddedcontrolsystem,hassubstitutedthetraditionalelectroniccircuit.
Inthispaper,itpresentshowtocarryoutthedesignofelectroniccalendarindetail.Takingthedesigningprocessasthemainline,itdescribestheentiredesigningprocessseparatelyfromtwoaspects:
thehardwarecircuitdesignandtheprogrammingmethod.Theelectroniccalendarconsistsofthesingle-chipmicrocomputerminimumsystem,theclockmodule,LCDdisplaycircuit,andSD18B20tempraturesensorcircuit.
Thesingle-chipmicrocomputerminimumsystem,asthecontrolcoreofthesystem,includesasingle-chipmicrocomputer,aresetcircuitandaclockcircuit.TheclockmoduleismainlycomposedoftheDS1302clockchiptoprovideveryprecisetimeforthesystem;
ThetemperaturesensormoduleiscomposedofDS18B20chip,whichisusedtoobtainthetemperaturevalueofthesurroundingenvironment;
TheLCDmoduleismainlycomposedoftheOCMJ4X8Cdisplaycomponent,whichisusedtodisplaythedate、time、temperatureandotherparameters,theseparameterscanbeadjustedbythekeys.
Keywords:
single-chipmicrocomputerelectroniccalendartemperaturesensor
第1章绪论
1.1课题背景
在日常生活中,台历是一个再常见不过的东西了,当然,它也是生活中的必备品。
目前常见的台历有纸架台历,水晶台历,便签式台历等,但是这些台历有一个显而易见的缺点,就是人们要每天手动翻页,这样才能够保证上面展示的是当前日期,并且这种台历一般要每年换一本新的,使用起来很不方便。
在这种情况下,出现了电子台历。
在单片机技术日趋成熟的今天,其灵活的硬件电路的设计和软件的设计,让单片机得到了广泛的应用,几乎是从小的电子产品,到大的工业控制,单片机都起到了举足轻重的作用。
以往台历使用不方便,再加上它一般都是纸质,从环保角度考虑,如果每年人们都换掉一批旧的往年台历,然后买一批当年台历的话,因此而牺牲的树将是一个很惊人的数目。
所以人们针对这些缺点开始研发这样一种基于单片机的电子台历,使之可以自己只能显示时间日期等信息,而不必像以往那样每天记着将明天的日期翻出来,并且使用有效期很长久,不必每年更换新的台历。
无疑,基于单片机的电子台历的出现将会为我们的生活提供很多便利,也将为日常生活数字化贡献一份力量。
1.2课题来源
与任何一个技术的发展过程一样,电子台历的发展也需要经过不断地改进和完善。
早期常用的一些时间控制单元都使用模拟电路设计制作的,其定时准确性和重复精度都不是很理想,现在基本上都是基于数字技术的新一代产品,随着单片机性能价格比的不断提高,新一代产品的应用也越来越广泛,大可构成复杂的工业过程控制系统,完成复杂的控制功能。
小则可以用于家电控制,甚至可以用于儿童电子玩具。
它功能强大,体积小,质量轻,灵活好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品。
随着电子技术的飞速发展,为了方便人们的生活,很多家用电器及公交系统上都设计了电子台历功能,应这个需求,人们就想到了制作这样一个基于单片机的电子台历产品,这个产品可以方便快捷的控制时间日期,再加上时钟芯片,电子台历功能就可以更加方便快捷的实现,并且我这里加入了温度传感器模块,可以方便的让人们知道自己周围的温度。
在单片机的基础上设计的电子台历这种具有智能化特性的产品方便了人们的生活,扩大了数字化的范围。
该课题介绍的是本次设计的设计背景及设计的生活来源,该设计可以完成一般台历所具有的功能,且该电子台历操作简单,功能齐全,是单片机在实际生活中的一种应用。
第2章硬件电路设计
该次设计的硬件部分可以划分为这样几个模块:
单片机最小系统、DS1302时钟模块、按键电路模块、以及LCD液晶显示模块、温度传感器模块五大主要部分。
整体电路经过编程调试之后可以准确显示年、月、日、星期、时、分、秒、温度等各项信息。
系统原理框图如图2-1所示:
按键电
路模块
OCMJ4X8C
模块
DS1302
温度
89S51
最小系统
图2-1系统原理框图
2.151单片机最小应用系统模块
单片机的最小系统,主要指的是最小应用系统,最小应用系统是能维持单片机运行的最简单的配置系统。
这种系统成本低廉、结构简单,经常构成一些简单的控制系统,如开关状态的输入/输出控制等。
一个单片机最小系统一般包括:
电源电路,复位电路,时钟电路。
2.1.1AT89S51单片机简介
MCS-51单片机是美国INTE公司于1980年推出的产品,典型产品有8031(内部没有程序存储器,实际使用方面已经被市场淘汰)、8051(芯片采用HMOS,功耗是630mW,是89C51的5倍,实际使用方面已经被市场淘汰)和8751等通用产品,一直到现在,MCS-51内核系列兼容的单片机仍是应用的主流产品(比如目前流行的89S51、已经停产的89C51等),各高校及专业学校的培训教材仍与MCS-51单片机作为代表进行理论基础学习。
有些文献甚至也将8051泛指MCS-51系列单片机,8051是早期的最典型的代表作,由于MCS-51单片机影响极深远,许多公司都推出了兼容系列单片机,就是说MCS-51内核实际上已经成为一个8位单片机的标准。
其他的公司的51单片机产品都是和MCS-51内核兼容的产品而以。
同样的一段程序,在各个单片机厂家的硬件上运行的结果都是一样的,如ATMEL的89C51(已经停产)、89S51,PHILIPS(菲利浦),和WINBOND(华邦)等,我们常说的已经停产的89C51指的是ATMEL公司的AT89C51单片机,同时是在原基础上增强了许多特性,如时钟,更优秀的是由Flash(程序存储器的内容至少可以改写1000次)存储器取带了原来的ROM(一次性写入),AT89C51的性能相对于8051已经算是非常优越的了。
不过在市场化方面,89C51受到了PIC单片机阵营的挑战,89C51最致命的缺陷在于不支持ISP(在线更新程序)功能,必须加上ISP功能等新功能才能更好延续MCS-51的传奇。
89S51就是在这样的背景下取代89C51的,现在,89S51目前已经成为了实际应用市场上新的宠儿,作为市场占有率第一的Atmel目前公司已经停产AT89C51,将用AT89S51代替。
89S51在工艺上进行了改进,89S51采用0.35新工艺,成本降低,而且将功能提升,增加了竞争力。
89SXX可以像下兼容89CXX等51系列芯片。
市场上见到的89C51实际都是Atmel前期生产的巨量库存而以。
如果市场需要,Atmel当然也可以再恢复生产AT89C51。
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案
单片机AT89S51的内部结构可以划分为CPU、存储器、并行口、串行口、定时/计数器和中断逻辑几个部分。
●CPU由运算器和控制逻辑构成。
其中包括若干特殊功能寄存器(SFR)
●AT89S51时钟有两种方式产生,即内部方式和外部方式。
●AT89S51在物理上有四个存储空间:
片内/片外程序存储大路、片内/片外数据存储器。
片内有256B数据存储器RAM和4KB的程序存储器ROM。
除此之外,还可以在片外扩展RAM和ROM,并且和有64KB的寻址范围。
●AT89S51内部有一个可编程的、全双工的串行接口。
它串行收发存储在特殊功能寄存器SFR的串行数据缓冲器SBUF中的数据。
●AT89S51共有4个(P0、P1、P2、P3口)8位并行I/O端口,共32个引脚。
P0口双向I/O口,用于分时传送低8位地址和8位数据信号;
P1、P2、P3口均为准双向I/O口;
其中P2口还用于传送高8位地址信号;
P3口每一引脚还具有特殊功能,用于特殊信号的输入输出和控制信号。
●AT89S51内部有两个16位可编程定时器/计数器T0、T1。
最大计数值为216-1。
工作方式和定时器或计数器的选择由指令来确定。
●中断系统允许接受5个独立的中断源,即两个外部中断,两个定时器/计数器中断以及一个串行口中断。
AT89S51引脚图如图2-2所示:
图2-2AT89S51单片机引脚图
2.1.2复位电路
为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。
一般微机电路正常工作需要供电电源为5V±
5%,即4.75~5.25V。
由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。
MCS-51单片机的复位是由外部的复位电路来实现的。
复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。
上电复位:
上电复位电路是一种简单的复位电路,在计算机刚通电的瞬间,复位电容器充电,将CPU的输出状态强行置为预定的状态。
待计算机时钟振荡正常,然后等待逻辑运算器开始正常工作后,才开放计算机的输出。
只要在RST复位引脚接一个电容到VCC,接一个电阻到地就可以了。
上电复位是指在给系统上电时,复位电路通过电容加到RST复位引脚一个短暂的高电平信号,这个复位信号随着VCC对电容的充电过程而回落,所以RST引脚复位的高电平维持时间取决于电容的充电时间。
即通电时,电容两端相当于短路,RST引脚上为高电平,然后电源通过电阻对电容充电,RST端电压慢慢下降,降到一定电压值以下,即为低电平,单片机开始正常工作。
为了保证系统安全可靠的复位,RST引脚的高电平信号必须维持足够长的时间。
自动复位是通过外部复位电路的电容充电来实现的。
只要VCC的上升时间不超过1ms,就可以实现自动复位。
原理就是通过给电容的放电令单片机内部RAM部分清空,作用是有很多不如为了再向单片机内部烧录程序时就要手动复位,这个电路图就是手动复位的,复位电路形式要看你的寄存器的储存的形式来设计的,上电复位就是开机复位,另内部程序指向0000H,然后从头走,相对开机复位来说还有就是手动复位,还有就是复位有软硬之分,电路图这个就是硬件复位,还有靠指令复位清空的就是软件复位。
电路如图2-3所示:
图2-3复位电路
2.1.3电源电路
电源电路是指车载功放的电源部分的设计,使用的电路形式和特点。
对于一个功放来说,其电源部分非常重要,专业功放的电源电路的容量往往是根据放大器的实际消耗,再加足够的富裕量,因此比同样标称功率的普通功放的容量大得多,因此电源电路可以从一个侧面反映出整个功放的好坏。
常见的电源电路有D级放大器电路、MOSFET电路、高性能平衡绝缘电路等。
为了让电路工作起来,理所当然应当给它一个工作电压,这就需要设计一个正确合理的电源电路。
该课题的电源采用固定式三端稳压电源。
在电子产品中,常见的三端稳压集成电路有正电压输出的78×
×
系列和负电压输出的79×
系列。
顾名思义,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。
它的样子象是普通的三极管,TO-220的标准封装,也有9013样子的TO-92封装。
用78/79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。
该系列集成稳压IC型号中的78或79后面的数字代表该三端集成稳压电路的输出电压,如7806表示输出电压为正6V,7909表示输出电压为负9V。
因为三端固定集成稳压电路的使用方便,电子制作中经常采用。
电路如图2-4所示:
图2-4电源电路
2.1.4时钟电路
产生时钟脉冲信号的电路叫“时钟电路”。
脉冲就是一系列交变信号,当然,时钟电路产生的脉冲越接近方波越使人感觉理想。
时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。
因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。
常用的时钟电路有两种方式:
一种是内部时钟方式,另一种为外部时钟方式。
内部时钟,是用芯片内部振荡电路,精度不高,温飘也较大,不需要外部振荡器件。
外部时钟,分RC振荡和石英晶振,RC精度不高,成本低,石英晶振,精度高,稳定性好,根据使用场合,选择适合的时钟方式。
本文用的是内部时钟方式。
MCS-51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。
电路如图2-5所示:
图2-5系统的时钟电路
2.2时钟模块电路设计
为能够使时间和日期等功能更方便的实现,我在电路中选用了一款时钟芯片DS1302。
现在流行的串行时钟电路很多,如DS1302、DS1307、PCF8485等。
这些电路的接口简单、价格低廉、使用方便,被广泛地采用。
本文介绍的实时时钟电路DS1302是DALLAS公司的一种具有涓细电流充电能力的电路,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。
采用普通32.768kHz晶振。
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×
8的用于临时性存放数据的RAM寄存器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。
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.5V之前,RST必须保持低电平。
只有在SCLK为低电平时,才能将RST置为高电平。
I/O为串行数据输入输出端(双向),后面有详细说明。
SCLK始终是输入端。
DS1302的控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;
位5至位1指示操作单元的地址;
最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。
在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。
同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。
DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。
此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。
时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。
DS1302与RAM相关的寄存器分为两类:
一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;
另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。
DS1302与CPU的连接需要三条线,即SCLK(7)、I/O(6)、RST(5)。
图3示出DS1302与89C2051的连接图,其中,时钟的显示用LCD。
实际上,在调试程序时可以不加电容器,只加一个32.768kHz的晶振即可。
只是选择晶振时,不同的晶振,误差也较大。
另外,还可以在上面的电路中加入DS18B20,同时显示实时温度。
只要占用CPU一个口线即可。
LCD还可以换成LED,还可以使用北京卫信杰科技发展有限公司生产的10位多功能8段液晶显示模块LCM101,内含看门狗(WDT)/时钟发生器及两种频率的蜂鸣器驱动电路,并有内置显示RAM,可显示任意字段笔划,具有3-4线串行接口,可与任何单片机、IC接口。
功耗低,显示状态时电流为2μA(典型值),省电模式时小于1μA,工作电压为2.4V~3.3V,显示清晰。
DS1302与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位MSB(D7)必须为逻辑1,如果D7=0,则禁止写DS1302,即写保护;
D6=0,指定时钟数据,D6=1,指定RAM数据;
D5~D1指定输入或输出的特定寄存器;
最低位LSB(D0)为逻辑0,指定写操作(输入),D0=1,指定读操作(输出)。
在DS1302的时钟日历或RAM进行数据传送时,DS1302必须首先发送命令字节。
若进行单字节传送,8位命令字节传送结束之后,在下2个SCLK周期的上升沿输入数据字节,或在下8个SCLK周期的下降沿输出数据字节。
DS1302与RAM相关的寄存器分为两类:
再一类为突发方式下的RAM寄存器,在此方式下可一次性读、写所有的RAM的31个字节。
要特别说明的是备用电源B1,可以用电池或者超级电容器(0.1F以上)。
虽然DS1302在主电源掉电后的耗电很小,但是,如果要长时间保证时钟正常,最好选用小型充电电池。
可以用老式电脑主板上的3.6V充电电池。
如果断电时间较短(几小时或几天)时,就可以用漏电较小的普通电解电容器代替。
100μF就可以保证1小时的正常走时。
DS1302在第一次加电后,必须进行初始化操作。
初始化后就可以按正常方法调整时间。
DS1302存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。
DS1302可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录。
这种记录对长时间的连续测控系统结果的分析及对异常数据出现的原因的查找具有重要意义。
传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此,只能记录数据而无法准确记录其出现的时间;
若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且,某些测控系统可能不允许。
但是,如果在系统中采用时钟芯片DS1302,则能很好地解决这个问题采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
具体接线电路如图2-6所示:
图2-6时钟芯片电路
2.3温度传感器模块电路设计
温度是一个物理量,温度传感器的作用就是把这个物理量的变化变成一定关系的(如线性)电信号的变化(如电压或者电