基于单片机的智能洗衣机控制系统内容摘要:
色,说明 KEIL的 C语法检查生效了。 如图 45鼠标在屏幕左边的 Source Group1文件夹图标上右击弹出菜单,在这里可以做在项目中增加减少文件等操作。 选“ Add File to Group ‘ Source Group 1’”弹出文件窗口,选择刚刚保存的文件,按 ADD按钮,关闭文件窗,程序文件已加到项目中了。 这时在 Source Group1文件夹图标左边出现了一个小 +号说明,文件 组中有了文件,点击它可以展开查看。 图 45 把文件加入到项目文件组中 ( 4) C程序文件已被加到了项目中了,下面就剩下编译运行了。 这个项目只是用做学习新建程序项目和编译运行仿真的基本方法,所以使用软件默认的编译设置,它不会生成用于芯片烧写的 HEX文件。 先看图 46,图中 3都是编译按钮,不同是 1是用于编译单个文件。 2是编译链接当前项目,如果先前编译过一次之后文件没有做动编辑改动,这时再点击是不会再次重新编译的。 3是重新编译,每点击一次均会再次编译链接一次,不管程序是否有改动。 在 3右边的是停止编译按钮,只有点击了前三个中的任一个,停止按钮才会生效。 5是菜单中的 18 它们。 在 4中可以看到编译的错误信息和使用的系统资源情况等,以后我们要查错就靠它了。 6是有一个小放大镜的按钮,这就是开启 \关闭调试模式的按钮,它也存在于菜单 Debug- Start\Stop Debug Session,快捷键为 Ctrl+F5。 图 46 编译程序 ( 5)进入调试模式,软件窗口样式大致如图 47所示。 图中 1为运行,当程序处于停止状态时才有效, 2为停止,程序处于运行状态时才有效。 3是复位,模拟芯片的复位,程序回到最开头处执行。 按 4可 以打开 5中的串行调试窗口,这个窗口可以看到从 51芯片的串行口输入输出的字符,这里的第一个项目也正是在这里看运行结果。 这些在菜单中也有。 首先按 4打开串行调试窗口,再按运行键,这时就可以看到串行调试窗口中不断的打印“ HelloWorld。 ”。 最后要停止程序运行回到文件编辑模式中,就要先按停止按钮再按开启 \关闭调试模式按钮。 然后就可以进行关闭 KEIL 等相关操作了。 19 图 47 调试模式窗口 仿真软件 Proteus 介绍 在学习、开发单片机系统时,常常需要硬件仿真设备,用于加快学习和开发的进度, 但此设备对单片机数量、种类和固定外围电路有所限制,并且价格较贵。 而联合运用仿真软件 Proteus 和单片机开发软件环境 Keil uVision 构建单片机虚拟实验室,在没有硬件实物的环境下虚拟建立了一个硬件仿真平台,大大扩充实验灵活性,为单片机的学习、开发提供了一种十分方便有效的平台。 Proteus 软件是英国 Labcenter electronics 公司出版的 EDA 工具软件。 它不仅具有其它 EDA 工具软件的仿真功能 ,还能仿真单片机及外围器件。 它是目前最好的仿真单片机及外围器件的工具。 虽然目前国内推广刚起步 ,但已 受到单片机爱好者,从事单片机教学的教师,致力于单片机开发应用的科技工作者的青睐。 Proteus 可提供的仿真元器件资源:仿真数字和模拟,交流和直流等数千种元器件,有 30 多个元件库。 Proteus 可提供的仿真仪表资源:示波器,逻辑分析仪,虚拟终端, SPI 调试器, I2C 调试器,信号发生器,模式发生器,交直流电压表,交直流电流表。 理论上同一种仪器可以在一个电路中随意的调用。 20 除了现实存在的仪器外, Proteus 还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。 这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗,极低的输出阻抗。 这些都尽可能减少了仪器对测量结果的影响。 Proteus 提供了比较丰富的测试信号用于电路的测试。 这些测试信号包括模拟信号和数字信号。 Keil 与 Proteus 的在线联合仿真 Keil 与 Proteus 在各自的环境下都可以进行一定程度仿真调试。 然而, Keil 只能对程序进行调试,不能看到硬件的运行结果,因此并不直观;而 Proteus 软件在对单片机系统进行仿真调试的时候只能对硬件做出改动,不能直观的了解程序运行的情况,难以对程序中存在的不足和错误进行修改。 如果能把这两者结合起来,同时观察程序的运行情况和当时硬件系统所处的状态,则可以方便地找出系统设计中存在的软、硬件错误。 根据 Proteus 软件的官方文档,在单片机仿真模型中包含了专门的代码,可以联合 Keil uVision 集成开发环境,提供源代码级的仿真调试,即在 Keil 中调试、运行程序,而将硬件输入输出结果显示在 Proteus 中,两者可以进行无缝联合仿真。 主程序设计及各子程序模块 主程序的工作过程为:先进行初始化工作, 随后根据输入的键值分别散转至对 应的子程序(待机、设置洗涤次数、设置洗涤时间、设置脱水时间、等待洗涤、等待脱水)。 洗衣机开始工作。 INT0 外中断服务子函数用于实现功能选择。 主程序流程图如图 48所示: 21 初 始 化 默 认 洗 涤根 据 S E T 键 值 散 转待 机设 置洗 涤次 数设 置洗 涤时 间设 置脱 水时 间等 待洗 涤等 待脱 水开 始 图 48 主程序流程图 主程序如下: include define char unsigned char define int unsigned int char code DATA_7SEG[10]={0x3F,0x06,0x5B,0x4F,0x66, 0x6D,0x7D,0x07,0x7F,0x6F,}。 /*段码 */ char set=0。 /*功能键值 */ int m=1。 /*全局变量,洗涤次数 */ int t1=8。 /*洗涤时间 */ int t2=3。 /*脱水时间 */ main() { EA=1。 EX0=1。 while(1) /*无限循环 */ {switch(set) /*根据 Set 标志散转 */ {case 0:stop()。 break。 /*待机 */ case 1:times()。 break。 /*设置洗衣次数 */ 22 case 2:run_time()。 break。 /*设置洗衣时间 */ case 3:last_time()。 break。 /*设置脱水时间 */ case 4:begin_x()。 break。 /*开始洗衣 */ case 5:begin_t()。 break /*开始脱水 */ default:break。 } } } 上述主程序调用的子程序见附录 1。 . INT0 中断模块 按一下 SET 键,给 INT0 一个外部中断,当 SET 值大于 5时,值重新置 0。 中断子函数见附录 1。 中断子程序流程图如下所示: 如 果 S E T 键 按 下 , 则 S E T 键 值 加 1如 键 值 大 于 等 于 6 , 则 键 值 返 回 0系 统 进 入 低 功 耗 待 机 状 态I N T 0 外 中 断 服 务 子 函 数 结 束I N T 0 外 中 断 服 务 子函 数 开 始 图 49 INT0外部中断子程序流程图 . 进入待机状态 当 SET键值为 0时,进入待机状态。 23 void stop() { P0_1=1。 /*D2点亮 */ P1=0x77。 /*数码管显示 A */ delay(1)。 /*进入节电待机状态 */ delay(1)。 } . 设置洗涤次数模块 当 SET 键值为 1 时,设置洗涤次数子程序,如果使用者不设置则默认为 1次(开始定义变量 m=1)。 void times() { P0=0xff。 P0_2=0。 /*D3 点亮 */ P1=0x7c。 /*数码管显示 b,设置洗衣次数*/ while(1) {if(P2_1==0){delay(10)。 /*按下 UP 键数码管作 09 递增显示 */ if(P2_1==0){m++。 if(m==6)m=10。 P1=DATA_7SEG[m]。 delay(300)。基于单片机的智能洗衣机控制系统
相关推荐
2Ax 系列MCU(单片机),该单片机是该公司设计、生产的高性能 8 位系列 MCU,其指令系统与 MCS51 兼容,内部功能、引脚功能、引脚排列以及引脚的电气特性与 AT89S52 基本兼容。 LS052A 系列 MCU 采用新型的发明专利技术 L 体系结构技术实现了多核并发处理引擎,支持同时并发地执行三道程序。 LS 主要功能特性 LS052Ax 片内包含 2K~ 64K 字节程序存储器
VT VT2 组成正反馈回授振荡器。 电路的振荡频率决定于反馈元件的 T4016,其谐振频率为 40kHZ177。 2kHZ。 频率稳定性好,不需作任何调 整,并由 T4016 作为换能器发出 40kHZ 的超声波信号。 电感 L 与电容 C5 调谐在40kHZ 起作谐振作用。 本电路适应电压较宽( 3~12V),且频 率不变。 电感采用固定式,电感量。 整机工作电流约 25mA。
7 2 智能电冰箱 硬件模块的选型 单片机的选型 单片机的型号有很多, 典型的 MCS51 系列 的 单片机为高性能系列,有 32 个并行口,具有多级中断处理系统, 2 个 16 位定时 /计数器,带有串行 I/O 口,片内有 ROM、RAM 容量相对增大,寻址范围可达 64K,并且 MCS51 单片机 具有 优良的性能价格比,所以 本设计选择 MCS51 系列 的 单片机 作 为最小控制系统。
丰富、易于进行功能扩展。 采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。 但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高。 方案 2:采用凌阳公司的 16 位单片机,它是 16 位控制器,具有体积小、驱动能力高、集成度高、易扩展、可靠性高、功耗低、结构简单、中断处理能力强等特点。 处理速度高,尤其适用于语音 处理和识别等领域。
,RCLK=0,用定时器l的溢出脉冲作为接收时钟。 TCLK发送时钟允许。 TCLK=1时,用定时器2溢出脉冲作为串行口(工作于工作方式1或3时)的发送时钟,RCLK=0 .用定时器l的溢出脉冲作为发送脉冲。 EXEN2定时器2外部允许标志。 当EXEN2=1时,如果定时器2未用于作串行口的波特率发生器,在T2EX端出现负跳变脉冲时,激活定时器2 捕获或重装载.EXEN2=0
X(定时器 /计数器 T2 的捕捉 /重载触发信号和方向控制) MOSI(在系统编程用) MISO(在系统编程用) SCK(在系统编程用) P2 口: P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口, P2 输出缓冲器能驱动 4 个TTL 逻辑电平。 对 P2 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因