内容正文:
任务一 制作人体红外感应的智能照明控制器(2)
单片机技术及应用
同步精品课堂
高等教育出版社第 4 版
1
学会绘制人体红外检测模块电路原理图
掌握人体红外检测模块电路的焊接和模块电路的搭接方法
能够编写人体红外感应的智能照明控制器的程序并编译生成 HEX 文件
完成人体红外感应的智能照明控制器的仿真调试和程序下载验证功能
人体红外检测模块电路原理图的绘制和焊接
自制元件库中PIR和BIS0001的绘制和导入
理解人体红外感应的智能照明控制器的工作原理和程序逻辑
人体红外感应的智能照明控制器程序的编写和编译
在日常生活中,我们经常会在楼道、卫生间等场所看到 “人来灯亮,人走灯灭” 的智能照明系统,这就是利用了人体红外感应技术。
今天我们就来学习如何制作一个人体红外感应的智能照明控制器。
任务一 制作人体红外感应的智能照明控制器 - 任务实施
① 启动 Protel DXP 2004,新建一个电路原理图文件,文件名为 “人体红外检测模块电路原理图”。
② 从元件库 “Miscellaneous Connectors.IntLib” 中查找 “Header 2”(1 个电源插座和 1 个 I/O 口插座),拖入工作窗口。
③ 从元件库 “Miscellaneous Devices.IntLib” 中查找 “Res2”(11 个电阻)、“Cap”(7 个电容)、 “PNP”(1 个三极管)、“LED0”(1 个发光二极管),将这些元器件拖入工作窗口。
绘制人体红外检测模块电路原理图
任务一 制作人体红外感应的智能照明控制器 - 任务实施
④ 绘制如图所示的电路。
⑤ 保存该文件。
绘制人体红外检测模块电路原理图(绘制电路)
任务一 制作人体红外感应的智能照明控制器 - 任务实施
① 根据人体红外检测模块电路元件清单选取元件,用万用表检测元件的好坏。
焊接人体红外检测模块电路(元件选取与检测)
名称 标号 规格 数量
热释电红外传感器 PIR HN911L 1
红外传感信号处理器 U1 DIP16 1
发光二极管 DS1 φ3mm, 红色 1
I/O 口和电源插座 P1、P2 两针 2
三极管 T1 塑封 1
任务一 制作人体红外感应的智能照明控制器 - 任务实施
焊接人体红外检测模块电路(元件选取与检测)
名称 标号 规格 数量
电容
C2、C4 0.01μF 2
C1、C6、C7 0.1μF 3
C3 10μF 1
C5 47μF 1
电阻
R9 470Ω 1
R7、R8、R11、R12 1kΩ 4
R4 3kΩ 1
R1、R6 47kΩ 2
R2、R3 1 MΩ 2
R5 2MΩ 1
任务一 制作人体红外感应的智能照明控制器 - 任务实施
② 绘制元件布局图,在万能电路板上按布局图依次进行元件的排列、插装。
③ 按工艺要求焊接元件,背面用直径为 0.5~1mm 的导线连接,直到所有的元件连接并焊完为止。
焊接人体红外检测模块电路(元件布局与焊接)
任务一 制作人体红外感应的智能照明控制器 - 任务实施
根据电路原理图搭接模块电路
根据人体红外感应的智能照明控制器电路原理图,用杜邦线搭接电路,将人体红外检测模块电路的I/O口与最小系统板的P3.2口,照明控制模块电路中的I/O口与最小系统板的P3口(P3.4)相连,连接电源和地端,安装电池盒。
任务一 制作人体红外感应的智能照明控制器 - 任务实施
编程(新建工程与源文件)
① 启动 Keil uVision2,新建一个工程文件 “人体红外感应的智能照明控制器.uV2”。
② 新建一个 C51 源程序文件 “人体红外感应的智能照明控制器.C”,将该文件加载到该工程中。
//人体红外感应的智能照明控制器程序
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit light=P3^4; //将P3^4 定义为灯光控制口
任务一 制作人体红外感应的智能照明控制器 - 任务实施
编程(新建工程与源文件)
/* ---------------------延时kms 函数----------------------*/
void delay(uint k)
{
uint ij;
for(i=0;i<k;i++)
{
for(j=0;j<125;j++)
}}
任务一 制作人体红外感应的智能照明控制器 - 任务实施
编程(新建工程与源文件)
/* ---------------------主函数----------------------*/
void main( )
{
EA=l; //开总中断
EX0= _____; //开外部中断0
ITO= _____; //中断触发方式为低电平触发
while(1)
{;}
}
任务一 制作人体红外感应的智能照明控制器 - 任务实施
编程(新建工程与源文件)
/* ---------------------主函数----------------------*/
void int_exO(void)interrupt 0
{
light=0; //开灯
while(P32==0); //当P3~2口置低电平
delay(2000); //设置灯亮延时时间
light=1; //关灯
③编译程序,生成HEX 文件“人体红外感应的智能照明控制器.HEX”。
任务一 制作人体红外感应的智能照明控制器 - 任务实施
仿真调试程序
① 启动仿真软件 Proteus 7.4,新建一个仿真文件 (人体红外感应的智能照明控制器.DSN)。
② 单击元件选择按钮 “P”,从元件库中选择需要的元件:单片机芯片 1 个 (AT89S51)、发光二极管 (LED - RED) 1 个、电阻 (RES) 3 个、按钮开关 (BUTTON) 1 个 、PNP 三极管 (pn5138) 1 个 。
任务一 制作人体红外感应的智能照明控制器 - 任务实施
仿真调试程序
③ 双击发光二极管,查看发光二极管参数,如图所示。
任务一 制作人体红外感应的智能照明控制器 - 任务实施
仿真调试程序(绘制电路)
④ 根据电路原理图绘制仿真电路图 (省略复位和时钟电路),添加电源和地端 (VCc、 GND),修改元件标号和标称值,如图所示。
任务一 制作人体红外感应的智能照明控制器 - 任务实施
仿真调试程序(加载 HEX 文件与设置时钟频率)
⑤ 双击单片机芯片 (AT89S51),在弹出的对话框中加载 HEX 文件 (文件名为 “人体红外感应的智能照明控制器.HEX”), 修改时钟频率为 12 MHz。
⑥ 单击仿真按钮,观察仿真效果。
⑦ 按 Ctrl + S 组合键保存文件。
任务一 制作人体红外感应的智能照明控制器 - 任务实施
下载程序,验证功能
① 启动编程软件 EasyPRO Programmer。
② 加载 HEX 文件 (人体红外感应的智能照明控制器.HEX)。
③ 单击 “操作一键通” 按钮,完成程序的下载。
④ 将单片机插到最小系统板的 ZIF 插座上。
⑤ 加电,观察其功能。
随堂检测1
绘制人体红外检测模块电路原理图时,需要从哪些元件库中查找元件?
答案:需要从 “Miscellaneous Connectors.IntLib” 和 “Miscellaneous Devices.IntLib” 中查找元件。
在仿真调试程序时,用什么替代人体红外检测模块?
答案:用按钮开关替代人体红外检测模块。
随堂检测2
焊接人体红外检测模块电路时,电阻 R9 的规格是多少?
答案:电阻 R9 的规格是 470Ω。
在编程时,生成的 HEX 文件名称是什么?
答案:生成的 HEX 文件名称是 “人体红外感应的智能照明控制器.HEX”。
随堂检测3
在人体红外感应的智能照明控制器仿真调试时,不需要添加电源和地端。( )
【答案】×
【解析】在仿真调试时,需要根据电路原理图绘制仿真电路图,添加电源和地端(VCc. GND),修改元件标号和标称值,所以该说法错误。
在人体红外感应的智能照明控制器编程时,不需要编译程序。( )
【答案】×
【解析】编程后需要编译程序,生成 HEX 文件 “人体红外感应的智能照明控制器.HEX”,所以该说法错误。
1
讨论如何提高人体红外感应的智能照明控制器的灵敏度。分析在实际应用中,人体红外感应的智能照明控制器可能会遇到的问题及解决方法。
3. 根据电路原理图搭接模块电路
1. 绘制人体红外检测模块电路原理图
任务一 制作人体红外感应的智能照明控制器(2)
2. 焊接人体红外检测模块电路
1. 启动与新建文件
2 查找与拖入元件
3 自制元件与绘制电路
4 保存文件
4. 编程
1. 元件选取与检测
2 元件布局与焊接
5.仿真调试程序
1 新建工程与源文件
2 程序编写
3 编译生成 HEX 文件
1 启动与元件选择
2 查看元件参数与绘制电路
3 加载 HEX 文件与设置时钟频率
4 仿真与保存
感谢观看
25
$$