基于51单片机的时钟设计
一. 基本功能
利用AT89c51作为主控器与时钟芯片DS1302组成一个时钟系统,并由LM016L液晶显示。
二. 硬件设计
LCD2LM016LVSSVDDVEERSRWE456123C2U133pF19XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD3938373635343332212223242526272810111213141516177891011121314D0D1D2D3D4D5D6D7RP1123456789RESPACK-8X1CRYSTAL18C333pFXTAL29RSTC110u293031PSENALEEARV11kR110k12345678P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7AT89C52U281VCC1X1VCC22576RSTSCLKI/ODS1302X23 图1.总设计图
1. 单片机最小系统
1.1选用AT89C51的引脚功能
U219XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD39383736353433322122232425262728101112131415161718XTAL29RST293031PSENALEEA12345678P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7AT89C52 图2. AT89C51
XTAL1:单芯片系统时钟的反向放大器输入端。
XTAL2:系统时钟的反向放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英震荡晶体系统就可以工作了,此外可以在两引脚与地之间加入20PF的小电容,可以使系统更稳定,避免噪音干扰而死机。
RESET:重置引脚,高电平动作,当要对晶体重置时,只要对此引脚电平提升至高电平并保持两个及其周期以上的时间便能完成系统重置的各项动作,使得内部特殊功能寄存器内容均被设成已知状态。
1.2复位电路
如图所示,当按下按键时,就能完成整个系统的复位,使得程序从新运行。
C410uRSTR1010k
图3.复位电路
1.3时钟电路
时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。
在AT89C51芯片内部有一个高增益反相放大器,其输入端为芯片引脚X1,输出端为引脚X2,在芯片的外部跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。 此电路采用12MHz的石英晶体。
C4XTAL133pFX2CRYSTALXTAL2C533pF
图4.时钟电路
2. 时钟芯片部分 2.1 DS1302引脚说明
图.5
1)Vcc1:后备电源,VCC2:主电源。在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。2)X1、X2:振荡源,外接32.768kHz晶振。
3)RST:复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc>2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。
4)I/O为串行数据输入输出端(双向)。 5)SCLK为时钟输入端。
2.2 时钟电路
U381P3.55P3.67P3.76VCC1X1VCC22RSTSCLKI/ODS1302X23
图.6
3. LM016L液晶
LCD1LM016LVSSVDDVEERSRWE4561237891011121314D0D1D2D3D4D5D6D7 图7.LM016L引脚图
LM016L与1602使用方法相同。
引脚说明:
引脚 1 2 3 4 5 6 7 8 9 10 11 12 13
符号 VSS VDD V0 RS R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6
功能说明 一般接地 接电源(+5V)
液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过
一个10K的电位器调整对比度)。 RS为寄存器选择,高电平1时选择数据寄存器、低电平0时
选择指令寄存器。 R/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进
行写操作。
E(或EN)端为使能(enable)端,下降沿使能。 底4位三态、 双向数据总线 0位(最低位)
底4位三态、 双向数据总线 1位 底4位三态、 双向数据总线 2位 底4位三态、 双向数据总线 3位 高4位三态、 双向数据总线 4位 高4位三态、 双向数据总线 5位 高4位三态、 双向数据总线 6位
14 DB7 高4位三态、 双向数据总线 7位(最高位)(也是busy flang) 电路接口说明:
AT889C51 的P0口作为数据的输出端,P3.5和P3.6, P3.7 作为控制信号的输出端。