4.3 系统程序的编译和调试
编译:用Keil 软件编译,打开Keil 软件后,建立所要编译的工程,设置目标工程的相关选项,随后用Build target对源程序进行编译;如果出现警告和错误,就要去修改使程序正确,直至程序编译正确。
调试:源程序正确编译之后,仅仅表明源程序的语法正确,但并不能说明程序能正常运行,还需要对程序的逻辑功能进一步的调试[8]。
用Keil软件对其进行调试。第一步 ,打开已经编译好的源程序,单击Debug下拉菜单的start/stop Debug Session, 进入调试程序模块,双击该选项即可实现调试模式和编辑模式间的切换。
在程序调试时,即可单步执行也可以连续执行;在连续执行时,程序执行的速度非常快,如果不出错就可以看到程序执行的总体结果,但程序一旦出错,就很难确定出错的地方;单步执行时以每条指令执行的结果,就可以找出程序出错的地方;但是这种方法耗时长。所以,用户首先采用连续执行,对容易出错的地方进行单步调试;但对于某一些只有在特定条件下才会被执行的程序,可以采用断点设置,就是在某一程序行中设置断点,设置好断点后就可以连续运行程序[9],一但该程序被执行就会立即停止,这是观察相关的变量值,来确定问题出处。
4.4 程序下载
下载程序就是指把经过编译后的应用程序所生产的HEX文件烧烤到单片机程序存储器中;下载后的应用程序将保存在单片机的程序存储器中,即使系统掉电程序都不会丢失。另外STC12C5A60S2支持在线的ISP下载,通过PC机的ISP程序下载软件就可以将HEX文件通过下载电缆存入单片机中[10]。
5. 系统的仿真和测试
5.1 手动模式仿真
5.1.1 手动模式一档位
当K1键被按下时,相应指示灯LED3亮,如图9所示;电机显示转速38.5r/s ,当系统稳定时经测定在此档位时电风扇转速在38.1~40.5r/s之间。这种风速比较适夜间睡觉时使用。
图9 手动模式一档位
5.1.2 手动模式二档位
当K2键被按下时电机加速,相应指示灯LED1亮,如图10和图11所示;电机显示转70.0r/s ,当系统稳定时经测定在此档位时电风扇转速在65.8~75.1r/s之间。此转速适合较热温度28℃左右。
图10 手动模式二档位
图11 手动模式二档位
5.1.3 手动模式三档位
当K3键被按下时电机再次加速,相应指示灯LED2亮,如图12和图13所示;电机显示转速84.9r/s ,当系统稳定时经测定在此档位时电风扇转速在83.6~87.9r/s之间。此转速适合较热温度30℃以上。
图12 手动模式三档位
图13 手动模式三档位
5.2 自动模式仿真
5.2.1 自动模式一档位
当温度在20~30℃之间时,如图14和图15所示,电机显示的转速为15.7r/s,DS18B20显示温度为26℃,黄色LED0灯亮。
图14 自动模式一档位
图15 自动模式一档位
5.2.2 自动模式二档位
当温度在30~40℃之间时,如图16和图17所示,DS18B20设置温度为35度,电机显示的转速为62.1r/s,黄色LED0灯亮。
图16 自动模式二档位
图17 自动模式二档位
5.2.3 自动模式三档位
当温度在40℃以上较高温时,如图18和图19所示,DS18B20设置温度为41℃,电机显示的转速为101r/s,黄色LED0灯亮。因为40℃以上使人们感觉非常燥热所以电风扇全速转动。
图18 自动模式三档位
图19 自动模式三档位
5.3 定时模式仿真
当k4被按下时启动定时60min关机功能,同时LCD1602显示power off time字符串,然后实行以秒为单位的倒计时显示。当显示为0000时切断PWM脉冲电机经过缓冲逐渐停止转动。如图20所示液晶显示定时关机时间。 51单片机的家用风扇控制器设计+电路图+源码(5):http://www.751com.cn/zidonghua/lunwen_911.html