本项目详细介绍如何使用STM32F030F4微控制器通过IIC接口配置LCD2004显示屏和DS3231实时时钟模块,实现PC端与硬件的通讯以设置时间,并提供中英文技术文档支持。
本项目包括24C32与DS3231的中英文资料、上位机通信设置时钟对时代码及下位机串口命令解析执行功能。使用STM32F030,通过CUBEMX和Keil5编写完整代码,并利用LCD2004+PCF8574两线IIC驱动液晶屏进行显示(淘宝售价11-13元),该屏幕为20字*4行大小。项目还包含DS3231高精度时钟模块与24C32存储的IIC驱动,三者连接在同一IIC总线上,并仅使用两个IO端口通信。此时钟芯片年误差小于两分钟,内置温补晶振以提高精确度。
上位机采用C#编写,可进行设置对时时等功能操作。通过协议自动查找单片机的串口并打开,接收和发送指令给单片机;单片机会识别这些指令,并刷新LCD显示时间、温度等信息。该系统支持时钟晶振校准参数设置以实现频率计精确校准功能,同时提供一个闹钟输出端。
硬件配置方面:PA7为串口通信引脚,而PA2和PA3则用于IIC总线连接;DS3231秒信号SQW通过PB1引脚接入单片机系统,在每个秒脉冲触发时刷新一次时间显示。