一、设计要求
采用AT89C52单片机为控制核心,DS1302作为日历时钟芯片,实现基于51单片机的可调电子时钟的仿真设计。
二、设计内容
AT89C52单片机对DS1302时钟芯片写入初始化时间信息(包括年、月、日、星期、时、分、秒)。并启动时钟计时,此后AT89C52单片机不断从DS1302中读取时间信息、并在LCD1602上显示。此外,AT89C52单片机还可以通过矩阵按键修改时间信息实现日历时钟可调的功能。
三、设计方案
矩阵键盘模块:AT89C52单片机P1端口的P1^0、P1^1、P1^2、P1^3引脚控制矩阵键盘的行选,P1^4、P1^5、P1^6、P1^7引脚控制矩阵键盘的列选,这样仅用8个引脚就能控制一个4X4的矩阵键盘。如下图所示:
LCD1602显示模块:在Proteus中选中LM016L元器件,用AT89C52单片机P0端口连接LM016L元件的D7~D0,控制数据的输入输出;用AT89C52单片机P2^5、P2^6、P2^7引脚分别连接LM016L元件的RW、RS、E引脚,控制读/写选择、数据/指令选择、使能信号。此外,LM016L元件的VSS引脚接地、VDD引脚接+5V、VEE引脚连接接可调滑动电阻用于调节对比度。如下图所示:
DS1302日历时钟模块:AT89C52单片机的P3^4、P3^5、P3^6引脚分别连接DS1302元件的I/O、RST、SCLK引脚控制数据的输入输出、芯片复位、串行时钟输入。此外,DS1302元件的主电源引脚VCC2接+5V电源、X1、X2引脚外接32.768KHz的晶振和20pF的补偿电容。如下图所示:
四、设计仿真
功能描述:1.LCD1602显示时间信息(年、月、日、星期、时、分、秒,星期以英文缩写显示);2.通过4*4矩阵键盘可以修改时间信息,方法如下:修改时间需要先按下设置时钟按键,才能修改相关信息,修改完成后需要按下时钟确认按键。
注:相比较在Protues软件中仿真本次设计来说,用51单片机开发板的仿真效果可能相对较好,所以演示视频选择用开发板仿真。
演示视频如下:
DS1302可调电子时钟
关于本设计的具体Keil工程和Proteus电路图可访问下方连接