本帖最后由 jinglixixi 于 2023-6-26 16:39 编辑
前面介绍过点阵板的显示驱动及DS1302功能模块的使用,这次将二者结合起来实现一个电子计时牌。
其中点阵板所占用的引脚为: A ---P0.0 B ---P0.4 C ---P1.10 D ---P1.11 R1 ---P0.14 OE ---P2.2 LAT ---P2.3 CLK ---P2.7
DS1302功能模块所占用的引脚为: SCK --- P13 IO ---P32 RST ---P210
驱动点阵板的内容参见: https://bbs.21ic.com/icview-3309456-1-1.html
使用DS1302模块的内容参见: https://bbs.21ic.com/icview-3310118-1-1.html
辅助计时显示的函数为: void RTC_disp(void)
{
sj[0]=(time_buf[4]>>4);
sj[1]=(time_buf[4]&0x0f);
sj[3]=(time_buf[5]>>4);
sj[4]=(time_buf[5]&0x0f);
sj[6]=(time_buf[6]>>4);
sj[7]=(time_buf[6]&0x0f);
}
实现计时显示效果的主程序为: int main(void)
{
Hardware_init();
ScanRow=0;
dzb_init();
ds1302_io_Init();
ds1302_init();
ds1302_write_time();
for (;;)
{
ds1302_read_time();
RTC_disp ();
Display();
}
}
经程序的编译与下载,实现的计时效果如下图所示。
至此,就基本完成了当初的设计目标。由于目前供功能扩展的引脚已全部被使用,故涉及传感器的功能不再添加。 计时显示效果图
视频演示:
|