硬件设计采用protel电路设计软件进行,通过层次化设计原理,可以将原理图分成5个模块:89c51最小系统、ds1302工作电路、液晶屏电路、按键电路及电源电路。其中电源电路提供系统工作所需的电源,本系统电源为5v。主要模块间的连接关系如图8-1所示。
`图8-1 主要模块间的连接关系
下面主要介绍89c51最小系统、ds1302工作电路和ds18b20工作电路、lcd1602接口电路。
1.89c51最小系统
89c51最小系统如图8-2所示。
该系统主要由3部分组成,即电源、晶体振荡器、复位电路。89c51单片机基本为高电平复位。最小系统包括其与其他子电路之间的连接网络标号。晶体振荡器采用12mhz陶瓷晶体振荡器,注意晶体振荡器与启动电容器的配合使用(12mhz晶体振荡器一般配套30pf电容器)。复位电路包括手动复位和上电自动复位两部分,其中上电自动复位电路为rc电路。系统上电前,电容器c3处于完全放电状态,上电瞬间,电容器因没有充电,相当于短路状态,因此此时引脚reset相当于直接连接到5v,89c51单片机为高电平复位,因此单片机进入复位开始从rom的0地址开始运行,pc程序指针指向0000地址。接下来电容器开始充满电量,相当于开路状态,reset引脚状态被电阻器r3拉低,电阻值、电容量的大小由复位时间长短决定,不同的单片机所需的复位时间不一样。为了可靠复位,应使得rc时间常数相对长一些。如果要使用手动复位,则只需要按下复位按键s1,此时,引脚re-set直接与5v连接而复位。松开按键后,进入正常工作。
图8-2 89c51最小系统
从单片机引脚分布看,因系统应用需要,单片机主要引出了与ds1302通信的3个i/o口、驱动lcd显示的控制引脚及数据脚。具体引脚定义需要参看ds1302以及所选用液晶屏的说明书。
2.ds1302工作电路
(1)ds1302简介ds1302的引脚排列如图8-3所示。
1)vcc1为后备电源,vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。ds1302由vcc1或vcc2两者中的较大者供电。当vcc2>vcc1时,vcc2给ds1302供电。当vcc2<vcc1时,ds1302由vcc1供电。
图8-3 ds1302的引脚排列
2)x1、x2:振荡源,外接32768khz晶体振荡器。
3):复位/片选线,通过把rst输入驱动置高电平来启动所有的数据传送。rst输入有两种功能:首先,rst接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,rst提供终止单字节或多字节数据的传送手段。当rst为高电平时,所有的数据传送被初始化,允许对ds1302进行操作。如果在传送过程中rst置为低电平,则会终止此次数据传送,i/o引脚变为高阻态。上电运行时,在vcc>20v之前,rst必须保持低电平。只有在sclk为低电平时,才能将rst置为高电平。
4)i/o为串行数据输入输出端(双向)。
5)sclk为时钟输入端。
(2)ds1302的控制字节ds1302的控制字如图8-4所示。
图8-4 ds1302的控制字
控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入ds1302中;位6如果为0,则表示存取日历时钟数据,为1表示存取ram数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作。控制字节总是从最低位开始输出。
(3)数据输入/输出(i/o)在控制指令字输入后的下一个sclk时钟的上升沿时,数据被写入ds1302,数据输入从低位(即位0)开始。同样,在紧跟8位的控制指令字后的下一个sclk脉冲的下降沿读出ds1302的数据,读出数据时从低位0到高位7。
(4)ds1302的寄存器ds1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为bcd码形式,其日历、时间寄存器及其控制字见数据手册。
此外,ds1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与ram相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。ds1302与ram相关的寄存器分为两类:一类是单个ram单元,共31个,每个单元组态为一个8位的字节,其命令控制字为c0h~fdh,其中奇数为读操作,偶数为写操作;另一类为突发方式下的ram寄存器,此方式下可一次性读写所有的ram的31个字节,命令控制字为feh(写)、ffh(读)。
ds1302的工作电路如图8-5所示。(www.xing528.com)
图8-5 ds1302的工作电路
3.ds18b20工作电路
温度传感器的种类众多,在应用于高精度、高可靠性的场合时,dallas(达拉斯)公司生产的ds18b20温度传感器当仁不让。体积小、硬件开销低、抗干扰能力强、精度高、附加功能强,使得ds18b20很受欢迎。对于普通的电子爱好者来说,ds18b20的优势更是学习单片机技术和开发温度相关的小产品的不二选择。了解其工作原理和应用可以拓宽单片机开发的思路。
(1)ds18b20的引脚功能gnd为电压地;dq为单数据总线;vdd为电源电压;nc为空引脚。
(2)ds18b20为工作原理及应用ds18b20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前有必要了解ds18b20的内部存储器资源。ds18b20共有2种形态的存储器资源,它们分别是:
1)rom只读存储器,用于存放ds18b20的id编码,其前8位是单线系列编码(ds18b20的编码是19h),后面48位是芯片唯一的序列号,最后8位是以上56的位的crc码(冗余校验)。数据在出产时设置不由用户更改。ds18b20共64位rom。
2)ram数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,ds18b20共9个字节ram,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户eprom(常用于温度报警值储存)的镜像,在上电复位时其值将被刷新。第5个字节则是用户第3个eeprom的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的crc码。eeprom非易失性个字节的crc码。eeprom非易失性记忆体,用于存放长期需要保存的数据、上/下限温度报警值和校验数据。ds18b20共3位eeprom,并在ram都存在镜像,以方便用户操作。
ds18b20的工作电路图如图8-6所示。
图8-6 ds18b20的工作电路
4.lcd1602接口电路
(1)简介lcd1602型液晶屏为工业字符型型液晶,能够同时显示16×2即32个字符(16列×2行),1602液晶又称为1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5×7或5×11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,所以它不能很好地显示图形(用自定义cgram,显示效果也不好)。lcd1602是指显示的内容为16×2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。市面上的字符型液晶大多数是基于hd44780液晶芯片的,控制原理完全相同,因此基于hd44780编写的控制程序可以很方便地应用于市面上大部分的字符型液晶。
(2)引脚定义lcd1602采用标准的16脚接口,各引脚功能如下:
1)第1脚:vss为电源地
2)第2脚:vcc接5v电源正极
3)第3脚:v0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10kΩ的电位器调整对比度)。
4)第4脚:rs为寄存器选择,高电平(1)时选择数据寄存器、低电平(0)时选择指令寄存器。
5)第5脚:rw为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。
6)第6脚:e(或en)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。
7)第7~14脚:d0~d7为8位双向数据端。
8)第15~16脚:空脚或背灯电源。15脚为背光正极,16脚为背光负极。
(3)接口电路设计lcd1602的接口电路如图8-7所示。
图8-7 lcd1602的接口电路
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。