使用8052、ds1302和8位共阴数码管制作的数码管时钟程序。
主控IC为 STC89S52。
数码管驱动为 74HC573。
编译器 sdcc version 3.5.0
程序有设置
和显示
两个模式,另外有操作
和设置
两个按键。
在非设置模式下,操作按钮的功能为切换显示模式,即切换日期显示和时间显示。
按下并松开一次设置按钮可以切换到设置模式,每按一次设置按钮切换一次设置的项目,
在时间显示模式对应时分秒、日期显示模式对应年月日,
在设置日或者秒的时候再按一次设置按钮则退出到显示模式。
DS1302引脚:
// file: DS1302.h #define DS1302_SCK P1_7 #define DS1302_IO P2_7 #define DS1302_RST P1_2
数码管引脚:
// DS1302.c #define DT_SS P2_0 // 段选 #define DT_BS P2_1 // 位选 #define DT_DATA P0
键盘引脚(低电平触发):
// DS1302.c #define SETTING_KEY P3_7 #define OPERATION_KEY P3_6