描述
<div>
<p style="line-height:1.8;">注:* 为必填项</p>
<p style="line-height:1.8;"><strong><span style="color:#0093e6;">请在报名阶段填写 ↓</span></strong></p>
<p style="line-height:1.8;"> </p>
<h3 style="line-height:1.8;">* 1、项目功能介绍</h3>
<hr>
<p>本项目设计并实现了一个多功能电子计时器。系统以STC89C52单片机为核心控制器,通过按键进行人机交互,设置目标倒计时时间。设置的时间实时显示在LCD液晶显示屏上。启动计时后,系统进入计时模式,并在LCD上动态显示剩余时间。当计时归零时,单片机自动触发声光报警系统,驱动蜂鸣器发出“滴滴”的提示音,同时让LED灯以特定频率闪烁,为用户提供清晰的时间到达提醒。</p>
<p>核心功能如下:</p>
<p>时间设置: 通过按键设定小时、分钟和秒的目标倒计时时间。</p>
<p>实时显示: 使用LCD屏幕实时显示设置的时间或倒计时的剩余时间,界面直观。</p>
<p>倒计时运行: 一键启动后,系统开始精确倒计时。</p>
<p>声光报警: 计时结束时,蜂鸣器鸣响,LED灯闪烁,直到用户手动复位或停止。</p>
<p style="line-height:1.8;"> </p>
<p style="line-height:1.8;"> </p>
<h3 style="line-height:1.8;">*2、项目属性</h3>
<hr>
<p style="line-height:1.8;">首次公开,非原创,未获奖</p>
<p style="line-height:1.8;"> </p>
<p style="line-height:1.8;"> </p>
<h3 style="line-height:1.8;">* 3、开源协议</h3>
<hr>
<p style="line-height:1.8;">GPL 3.0</p>
<p> </p>
<p style="line-height:1.8;"> </p>
<p style="line-height:1.8;"><strong><span style="color:#0093e6;">请在竞赛阶段填写 ↓</span></strong></p>
<p style="line-height:1.8;"> </p>
<h3 style="line-height:1.8;">*4、硬件部分</h3>
<hr>
<p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/deFytV8bOiYRftiKwIBau5CmuEQikdlipgg8hbKB.png" width="894" height="366" alt="deFytV8bOiYRftiKwIBau5CmuEQikdlipgg8hbKB.png"></p>
<p>主控芯片:STC89C52RC</p>
<p>作用: 执行程序代码,处理按键输入,控制LCD显示,驱动蜂鸣器和LED。</p>
<p>特点: 8位51内核,8KB Flash程序存储器,512B RAM,足够存储本项目的程序和数据。</p>
<p> </p>
<p>显示模块:LCD1602液晶显示屏</p>
<p>作用: 显示设置的时间、倒计时剩余时间</p>
<p>接口: 并行16引脚接口,使用8位数据线(D0-D7)或4位数据线(D4-D7)与单片机通信。标准背光,显示内容清晰。</p>
<p>连接: 数据线连接到P0口(需接上拉电阻),控制线RS、RW、E分别连接到P2.0, P2.1, P2.2。</p>
<p> </p>
<p>功能键:</p>
<p>设置: 进入时间设置模式,依次切换设置时、分、秒。</p>
<p>启动/停止: 开始倒计时或暂停倒计时。</p>
<p>确认: 确认当前设置并退出设置模式。</p>
<p>清零/复位: 清除当前输入或复位整个系统。</p>
<p> </p>
<p>报警输出模块:</p>
<p>蜂鸣器(有源):</p>
<p>作用: 计时结束时发出“滴滴”的警报声。</p>
<p>驱动: 由于单片机I/O口驱动能力有限,需要通过一个NPN三极管(如S8050)或一个MOSFET来驱动。连接至单片机的P1.0口。</p>
<p> </p>
<p>LED指示灯:</p>
<p>作用: 计时结束时闪烁,提供视觉警报。</p>
<p>连接: 串联一个220Ω的限流电阻后,连接到单片机的IO口。</p>
<p> </p>
<p>复位电路:</p>
<p>作用: 使单片机恢复到初始状态,重新开始执行程序。</p>
<p>配置: 采用经典的按键式上电复位电路,包含一个10kΩ电阻、一个10μF电容和一个复位按键。</p>
<p style="line-height:1.8;"> </p>
<h3 style="line-height:1.8;">*5、软件部分</h3>
<hr>
<p>主程序 (main.c):</p>
<p>功能: 系统初始化和主循环调度。</p>
<p>初始化: 配置I/O口模式、初始化LCD、配置定时器T0(模式1,定时1ms)、开启全局中断。</p>
<p>主循环: 不断调用按键扫描函数、根据系统状态(设置、运行、报警)执行相应的操作。</p>
<p>LCD1602驱动模块 (lcd1602.c / lcd1602.h):</p>
<p>功能: 封装所有对LCD操作的底层函数。</p>
<p>核心函数:</p>
<p>LCD_Init(): 初始化LCD,设置显示模式、光标等。</p>
<p>LCD_WriteCmd() / LCD_WriteData(): 向LCD写入命令和数据。</p>
<p>LCD_SetCursor(): 设置光标位置。</p>
<p>LCD_ShowString(): 在指定位置显示字符串。</p>
<p>LCD_ShowNum(): 在指定位置显示数字(可处理前导零)。</p>
<p>按键扫描模块 (keypad.c / keypad.h):</p>
<p>功能: 检测矩阵按键的按下情况,并返回对应的键值。</p>
<p>实现方法: 采用行扫描法或线反转法,结合软件去抖动(延时检测或状态机)。</p>
<p>定时器与中断模块 (timer.c / timer.h):</p>
<p>功能: 提供精确的时基。定时器T0被配置为每1ms产生一次中断,在中断服务程序中累加毫秒计数,并据此更新秒、分、时,实现精确的1秒定时。这是整个计时功能的核心。</p>
<p>业务逻辑模块 (timer_app.c / timer_app.h):</p>
<p>功能: 处理项目的核心业务逻辑,独立于硬件驱动。</p>
<p>核心函数:</p>
<p>Time_Set(): 处理时间设置流程,根据按键输入修改时、分、秒变量。</p>
<p>CountDown_StartStop(): 启动或停止倒计时。</p>
<p>Display_Update(): 根据当前状态更新LCD显示内容。</p>
<p>Alarm_Trigger(): 当计时结束时,控制P1.0和P1.1口输出PWM方波,使蜂鸣器鸣叫、LED闪烁,直到有按键按下停止。</p>
<p style="line-height:1.8;"> </p>
<h3 style="line-height:1.8;">*6、BOM清单</h3>
<hr>
<p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/N88EDf5nxzz0yZMxc3xLdOgs5uBL74QJ9ZERrQj9.png" width="1154" height="227" alt="N88EDf5nxzz0yZMxc3xLdOgs5uBL74QJ9ZERrQj9.png"></p>
<p style="line-height:1.8;"> </p>
<p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">注:项目涉及的BOM清单。在<span style="text-decoration:underline;"><a href="https://lceda.cn/editor" target="_blank">嘉立创EDA</a> </span>生成/上传设计文件后,BOM将自动生成至项目详情;建议包括型号、品牌、名称、封装、采购渠道、用途等内容。具体内容和形式应以表达清楚项目构成为准。 </span></p>
<p style="line-height:1.8;"> </p>
<h3 style="line-height:1.8;">*7、大赛LOGO验证</h3>
<hr>
<p style="line-height:1.8;"> </p>
<p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/mCERfuIAG5R8lhhsm9Q37xHnTl3ywXQy8UbDyAdx.jpeg" width="210" height="280" alt="mCERfuIAG5R8lhhsm9Q37xHnTl3ywXQy8UbDyAdx.jpeg"></p>
<p style="line-height:1.8;"> </p>
<h3 style="line-height:1.8;">* 8、演示您的项目并录制成视频上传</h3>
<hr>
<p style="line-height:1.8;"> </p>
<p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">视频要求:请横屏拍摄,分辨率不低于1280×720,格式Mp4/Mov,单个视频大小限100M内;</span></p>
<p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">视频标题:立创电赛:{项目名称}-{视频模块名称};如立创电赛:《自动驾驶》-团队介绍。</span></p>
<p style="line-height:1.8;"> </p>
<p style="line-height:1.8;"><span style="font-size:14px;"><a href="/posts/42551e8f2f2548cabc1c36626a42da94" target="_blank">前往查看更多详情 ></a></span></p>
<p style="line-height:1.8;"> </p>
</div>
评论(0)