12864液晶显示驱动的行车安全仪表

需积分: 9 0 下载量 30 浏览量 更新于2024-09-09 收藏 19KB TXT 举报
"该资源是关于一款驾车安全设备的编程代码,主要功能包括实时时间计时(具有掉电保存功能)、电机速度监测、温度检测(使用18B20传感器)以及通过语音播报当前速度和行驶里程。" 这篇文章将详细讨论这个安全驾驶设备的核心技术点,包括硬件接口、软件编程和系统功能实现。 首先,硬件部分涉及到几个关键组件: 1. **实时时钟模块(RTC)**:这里使用了DS1302时钟芯片,通过SCLK、SDA和RST引脚与微控制器交互,提供准确的时间信息。 2. **温度传感器(18B20)**:Dallas Semiconductor的18B20是一种数字温度传感器,它能够提供精确的温度读数,并通过I²C总线与微控制器通信,这里的SCLK和SDA引脚也用于与DS1302共享。 3. **电机测速**:虽然代码没有明确提及电机测速的具体实现,但通常会使用霍尔效应传感器或其他旋转编码器来检测电机转速。 4. **语音播报**:可能使用了某种语音合成芯片或模块,通过微控制器控制播放特定的语音信息,例如当前速度和行驶里程。 5. **用户交互**:有多个按键(key_1至key_5)和LED(led_1和led_2)用于用户输入和系统状态指示。 在软件方面,代码使用了标准的C语言编写,针对51系列单片机进行优化。主要亮点包括: 1. **定义数据类型**:使用`uchar`和`uint`作为无符号字符和无符号整数的简写,便于代码阅读。 2. **延时函数**:`Delay_ms`和`delay`两个函数分别用于实现毫秒级和百微秒级的延时,是控制系统响应时间和定时任务的关键。 3. **I/O操作**:通过定义一系列`sbit`变量,简化了对单片机端口的访问和操作,如LCD12864的相关控制引脚和DS1302的时钟线、数据线及复位线。 4. **LCD12864显示**:代码中包含一个未完成的LCD12864的写命令函数,用于向液晶屏发送指令和数据,以显示时间、速度等信息。 5. **数据处理和状态管理**:变量如`state`、`time_ms`、`shu`等用于记录系统状态和数据,`flag`、`ss`、`beep_flag`等用于控制程序流程和提醒功能。 总结起来,这个设备集成了实时时间、温度监控、速度测量和语音反馈功能,通过高效的软件设计和合理的硬件选择,确保了驾驶过程中的安全信息获取。对于想要深入理解嵌入式系统和汽车电子设备的开发者,这是一个很好的学习案例。