- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序设计 由单片机控制进水阀的开关完成进水 由单片机控制电机正转/反转来完成洗涤 由单片机控制排水阀的开关完成排水 由单片机控制电机的高速旋转完成脱水 系统初始化 按下启动键 计算每次洗衣时间 打开进水阀门 水放满 关闭进水阀门 启动电机转动 定时时间到 N Y Y N N 停止电机转动,打开排水阀 水放完 关闭排水阀门 启动脱水电机 脱水时间到 关闭电机,蜂鸣器 发声,关闭排水阀 断电,结束 Y N Y Y N 更多示例请参考:《51单片机应用开发范例大全》人民邮电出版社出版,宋戈等编著 存储器扩展示例 MCS-51单片机:有片内程序存储器(4KB—64KB) 片内ROM不够用时须扩展外部存储器 8031单片机:无片内程序存储器,必需使用外部扩展 外部数据存储芯片X5045 多功能芯片:上电复位、看门狗、EEPROM CS/WDI:片选/看门狗线 SI/SO:数据输入/输出线 SCK:时钟线 WP写保护 外部数据存储芯片AT24系列 I2C总线结构(串行EEPROM) WC写保护,SDA、SCL与单片机I/O相连,通过软件程序模拟I2C时序 应用示例 单片机控制的多路抢答器 单片机控制的洗衣机 抢答器基本介绍 按键抢答,LED数码显示,声音提示,定时(抢答)时间设定,倒计时显示,按键清除 专用LED驱动芯片MAX7219 硬件电路分为: 数码管显示电路 声音提示电路 键盘电路 设置电路 单片机电路 硬件电路介绍 数码管显示 一片MAX7219和3个数码管(共阴极) MAX7219的DIN、CLK、LOAD分别与单片机的P2.4,P2.2,P2.3相连 U5用来显示按键者的编号,U6、U7在倒计时时显示还有多长时间,如果有犯规,则显示FF 硬件电路介绍 时间设定电路 拨码开关U3作为倒计时的选择信号 拨码开关U3有4个开关,分别与单片机的P3.7,P3.6,P3.5,P3.4相连,倒计时时间分别为10s,8s,6s,4s 设置时间时,P3.7优先级最高,P3.4优先级最低 硬件电路介绍 按键电路 独立式按键连接。Key1-4为抢答键,Key5为主持按键 声音提示电路 由蜂鸣器和三极管组成。在特定的条件下发出蜂鸣声 单片机电路 通过读取P3.7-3.3决定倒计时时间;读取P1.3-1.0决定按键状况;通过P2.4-2.2控制显示模块;通过P0.1控制蜂鸣器 程序设计 主持人通过拨码开关选定倒计时时间 有参与者在规定时间内按键,则蜂鸣器响一声,数码管显示按键编号 如果主持人未按下抢答键,有参与者按下自己的按键,则蜂鸣器响,U5显示犯规编号,U6、U7显示“FF” 规定时间内无人按键,倒计时清零 一次抢答完毕,主持人按键,显示清零,恢复初始状态 程序设计 模块化编程 按键扫描程序模块 扫描键盘,读取按键值。判断主持人按键是否启动,是否有参与者按键及相应的按键处理 显示程序模块 报警程序模块:控制蜂鸣器发声 主程序 调用相关子程序实现系统初始化、键盘扫描、信息显示等 开始 读取倒计时时间设置 开始抢答 有键按下 按键处理 结束本轮抢答 倒计时时间到 超时处理 犯规处理 有键按下 Y Y Y N N Y N Y N 1.显示程序 void delay_20ms(void) //延时20ms void max7219_reset(void) //初始化MAX7219 void write_reg(uchar reg,uchar sdata) //写入命令 void write_digit(uchar digit,uchar number) //显示数字 void send_data(uchar byte) //MAX7219的驱动程序 void display_time(void) //显示倒计时剩余时间 2.按键扫描程序 bit control_key(void) //检测主持人是否按键 { if(KEY5==1) //如果KEY5为高说明没有按键 return 1; //返回1,表示没有按键动作 else //如果KEY5为低说明可能有按键动作 delay_20ms(); //延时20ms,去抖动 if(KEY5==1) //如果20ms后KEY5变为高电平是干扰 return 1; //返回1 else //如果20ms后仍为低电平确认有按键动作 return 0; //返回0 } 子程序get_key_num()用于检测是否有参赛者按动答题按键。程序代码如下: uchar get_key_num() //检测哪个参赛者按键 { uchar key_state=0;
您可能关注的文档
- 2012-12-2溶 过.ppt
- C51速成1.ppt
- 22款精美的餐厅设计1.doc
- 2012 年龙形精美日历1.doc
- 2012年7月后广东省企业所得税网上月(季)度申报系统操作方法.ppt
- 2012年精美日历2.doc
- C++程序设计第5章 函数.ppt
- 2012年考研英语各题型考场上答题技巧汇总.ppt
- 29张精美高清汽车图片桌面1.ppt
- CET-4作文模版汇总.ppt
- 2024至2030年中国人造棉面料行业投资前景及策略咨询报告.docx
- 重庆市渝中区遴选公务员2024年国家公务员考试考试大纲历年真题10340笔试历年典型考题及解题思路附.docx
- 2024至2030年中国甲基苯乙酮行业深度调研及发展预测报告.docx
- 2024至2030年中国羚羊角类饮片行业深度调查与前景预测分析报告.docx
- 重庆市面向中国农业大学定向选调2024届大学毕业生2024年国家公务员考试考试大纲历年真题14笔试历.docx
- 重庆市面向西北工业大学定向选调2024届大学毕业生00笔试历年典型考题及解题思路附答案详解.docx
- 中国不动杆菌感染治疗药行业市场现状分析及竞争格局与投资发展研究报告2024-2029版.docx
- 2024至2030年全球与中国ETL软件市场现状及未来发展趋势.docx
- 初中八年级(初二)生物下册期末考试1含答案解析.docx
- 干簧式继电器项目申请报告.docx
文档评论(0)