
基于单片机简易电饭煲电饭锅仿真系统设计-毕设课设
按钮响应处理 指示灯控制 定时器管理
发布日期:2021-05-08 09:33:52
浏览次数:18
分类:精选文章
本文共 1053 字,大约阅读时间需要 3 分钟。
智能米饭煮锅程序开发
本文将介绍一个用于智能米饭煮锅的程序开发方案,主要包括硬件接口定义、中断处理逻辑以及功能实现细节。
硬件接口定义
程序中定义了多个功能接口:
sbit key_1 = P3^0
:煮饭按钮sbit key_2 = P3^1
:保温按钮sbit key_3 = P3^2
:停止按钮sbit LED_1 = P3^3
:煮饭指示灯sbit LED_2 = P3^4
:保温指示灯sbit LED_3 = P3^5
:停止指示灯
程序中定义了初始状态:
char key_1_flag = 0; // 煮饭按钮标志位char key_2_flag = 0; // 保温按钮标志位char key_3_flag = 1; // 停止按钮标志位
系统初始化配置
在程序启动时,系统进行了以下初始化设置:
TMOD = 0x11; // 设置定时器0,1的工作方式EA = 1; // 开中断ET0 = 1; // 开外部中断ET1 = 1; // 开外部中断LED_1 = 0; // 初始状态:煮饭指示灯熄灭LED_2 = 0; // 保温指示灯熄灭LED_3 = 1; // 停止指示灯亮
功能实现
程序主要实现了以下功能:
系统运行流程
程序运行过程中,系统通过中断处理接收按钮输入,并根据中断类型触发相应指示灯变化。同时,定时器用于管理煮饭和保温功能的自动控制。
代码注释
/* 煮饭按钮响应中断 */void interrupt13() { key_1_flag = 1;}/* 保温按钮响应中断 */void interrupt14() { key_2_flag = 1;}/* 停止按钮响应中断 */void interrupt15() { key_3_flag = 1;}/* 定时器中断 */void interrupt2() { if (temp < 85) { temp++; } if (num < 0xF) { num++; }}
系统状态管理
通过temp
和num
变量,系统实现了温度和计数的管理功能。在定时器中断中,系统周期性增加温度和计数值。
系统运行状态
程序启动后,系统进入初始状态,煮饭和保温指示灯熄灭,停止指示灯亮。系统随时响应按钮输入,并通过指示灯反馈当前状态。
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年04月01日 07时02分41秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
NC15136: 迷宫
2019-03-05
力扣:搜索旋转排序数组
2019-03-05
动态点击a标签
2019-03-05
java中的泛型
2019-03-05
thymeleaf下拉框回显选中项
2019-03-05
@RequestBody和@RequestParam
2019-03-05
oracle创建序列语法
2019-03-05
springboot通过控制层跳转页面404
2019-03-05
idea2020 没有 tomcat server
2019-03-05