华为单片机编程实战-无线红外探测器03-环境搭建及程序详解

一、红外探测器需要实现的主要功能:

· 红外 警检测

· 电池低压检测

· 防拆开关检测

· OOK无线发射

· 设备低功耗设计

二、搭建软件开发环境

本产品的主控芯片是STC15W204S

1. Keil软件的安装

关于Keil C51的安装我在这里就不给大家介绍了,这块视频教程大家直接在小破站搜华维单片机编程,看单片机c语言编程视频教程第4节即可。

2.安装STC的库文件到Keil软件里

①打开STC-ISP软件

图片1

②选择Keil仿真设置-> 增加型号和头文件到Keil中,如下图。

图片2

③选择Keil C51的安装目录,点击确定

图片3

④安装完成

图片4

3. 项目工程新建:

双击Keil 软件图标,打开软件

图片5

选择Project ->new uvision Project…

图片6

选择工程文件夹,给工程命名,然后点击确定

图片7

选择单片机对应的型号,如下图,点击OK

图片8

新建main.c 文件,并添加到工程中,在这里就给大家不介绍了。

三、软件设计

这里会对每个模块的代码进行详细讲解,整体源代码可以在公号华维单片机编程拿到。

1.红外 警检测

我们先看一下硬件接口:

图片9

图片10

· 逻辑分析:

1. 无线红外 警触发的逻辑,我们在硬件设计中,已经有讲过, 如果红外 警PIR_ALARM 脚会有一个下降沿信号。

2. PIR_ALARM 连接到单片机的P3.6,也是单片机的外部中断2功能脚。

3. 单片机平时需要进入休眠状态,所有红外 警需要使用外部中断唤醒功能。

· 我们先了解一下单片机的IO寄存器和外部中断2寄存器配置:

IO的寄存器介绍:

STC单片机的IO有3个寄存器。例如P3.6 包括P3, P3M0、P3M1。

其中P3M0、P3M1是用来配置单片机IO的模式的具体如下:

图片11

无线红外 警器的P3.6口,我们配置为准双向口即可。

P3 口和传统51单片机的功能是一样的,P3的输入输出端口。

外部中断2的寄存器介绍:

STC15W系列单片机的INT2只支持下降沿中断。详细的信息大家可以查阅STC15系列单片机的规格书。

外部中断2相关的寄存器INT_CLK0如下:

图片12

EX2= 1 打开外部中断2功能。

· 软件程序开发:

程序初始化:

图片13

外部中断2的中断服务函数

图片14

警信号处理程序

图片15

2.电池低压检测

· 我们先看一下硬件接口:

图片16

关于单片机的低压检测电路,在硬件设计中,我们已经做过介绍,是下降沿 警触发。

Low_vot 和单片机的NIT4(P3.0),连接,A1是一个跳线帽,是为了防止低压检测线路对单片机的烧录有影响,导致无法烧录。

在程序烧录的时候,需要拔掉A1,完成烧录后需要恢复A1跳线帽。

· 相关寄存器介绍:

P3.6寄存器的功能关于单片机的低压检测电路,在硬件设计中,我们已经做过介绍,是下降沿 警触发。

P3.6IO的寄存器配置和2.1.3.1中的P3 端口的配置 一致,在这里就给大家不在重复讲解了。

电池低压检测的方式也是通过外部中,在这里用到的是外部中断INT4. 关于INT4的寄存器如下,配置方法和INT2一样:

图片17

· 软件程序开发:

程序初始化:

图片18

外部中断4的中断服务函数

图片19

警信号处理程序

图片20

图片21

3.防拆开关检测

· 我们先看一下硬件接口:

图片22

· 逻辑分析:

防拆开关S1和R14 组成了产品的防拆功能。 其中R14是上拉作用。

防拆开关按下去防拆开关的1脚和2脚连接,单片机的P3.3是高电平,如果防拆开关松开,1脚和3脚连接,P3.3变成低电平。

即: 触发防拆开关,P3.3由高电平变成低电平(下降沿触发);

P3.3是单片机的外部中断1接口(INT1).检测红外防拆 警就是外部中断1的下降沿中断。

· 相关寄存器介绍:

单片机P3.3 端口的配置

相关配置和低压检测,红外 警检测一致。

外部中断1 相关寄存器介绍

外部中断1 我们需要配置的寄存器包括IE中断允许寄存器,和TCON 定时器/计数器中断控制寄存器。详细如下:

图片23

在我们的防拆程序中使用的外部中断1的控制为EX1 需要置为1,打开外部中断1.

图片24

图片25

单片机的外部中断1 可以配置成上升沿触发,或下降沿触发。 该寄存器中的IT1=1表示外部中断1为下降沿触发 ;IT1=0 表示为上升沿触发。我们产品中使用的是下降沿触发,所有IT1 需要配置成1。

· 软件程序开发:

程序初始化:

图片26

外部中断1的中断服务函数

图片27

图片28

警信号处理程序

图片29

4.OOK无线发射

图片30

· 我们先看一下硬件接口:

· 图片31

从原理图的图纸大家可以看到,无线发射数据和单片机的P3.2脚位连接。

· 学习了解一些EV1527 OOK的无线数据

在程序开发之前,大家首先要学习一下无线数据发射的格式和定义。大家可以在 上百度下载ev1527 芯片资料 ,然后对照我们后面的内容浏览,可以帮助更有效的理解OOK无线数据发射。

我们先看一下数据格式,如下图。

· 图片32

从上图我们可以看出,芯片的数据内容是 :同步码+20bit地址+4bit数据码。

20bit +4bit =24bit = 3byte。

从上图,我们

声明:本站部分文章内容及图片转载于互联 、内容不代表本站观点,如有内容涉及侵权,请您立即联系本站处理,非常感谢!

(0)
上一篇 2021年12月1日
下一篇 2021年12月1日

相关推荐