无线门磁探测器

目录

一,项目背景

二,51环境搭建

三,程序烧录

四,产品开发流程

1.竞品分析

2.设计

五,门磁探测器原理

六,I/O

I/O口的输入和输出

I/O口的输入输出配置 

四种输入输出模式的区别

STC15W104芯片只有P3口,为什么还要设置P0 P1 P2等IO的模式?

语法补充:sfr sbit的使用


一,项目背景

主要功能:检测门窗的打开和关闭

产品分类:

独立门磁探测器,有线门磁探测器,无线门磁探测器

其中无线门磁根据其实现的技术不同可以再次细分为:Zigbee   lora   ASK  FSK2.4G   蓝牙等这些需要有联合警报系统

NB-iot  2G   4G  WIFI,下面这些需要信号卡将信号发送到基站,再由服务器传递给用户

无线是一种通讯方式

二,51环境搭建

确定单片机型号,我所使用的是STC系列的芯片:STC15W104,在搭建的过程中发现没有 STC系列的型号

打开烧录软件STC-ISP

最后显示,重新启动Keil即可

依次选取,工程搭建完成

三,程序烧录

将程序生成文件.hex烧录到单片机中。首先,所以先找到程序生成文件在哪

接着安装串口驱动,一直很好奇串口驱动到底起到什么样的作用,驱动CH340芯片

但是 我碰到了烧录不成功的现象,真的是好神奇,需要 先放电,原理为什么我也不清楚,竟然需要进行放电操作

四,产品开发流程

如果需要开发一款从来没有接触过的产品应该怎样去做,和我的想法不谋而合,我也正在思考这个问题,曾经想的是参考市面上的产品,专研他们的技术,关键是大家都是有知识产权的,除非他是sx,看看老师是怎样想的,果然成功还得靠友商。还有一个重要的点,学会使用不同的芯片去开发同一个产品,这个怎么做到,研发产品的主要是靠硬件电路

1.竞品分析

首先将市面上的竞品买回来做调研。分析不同价位产品的功能,接着拆解电路(电路是基础啊,我真的哭死,这不是看家本领吗),根据电路去分析不同的功能是怎样实现的,

2.设计

需要设计产品的外壳、供电方式、硬件电路、芯片型号

当然我们主要要做的就是把产品做出来进行测试

五,门磁探测器原理

原理图分为5个部分,电源,开关电路检测,电池低压,单片机MCU,无线发射,电路理解等到后续,只是大概了解电路的功能,至于这些功能是如何实现的,

  • 电源部分设计:单片机供电电压2.5~5.5,电池电压12v
  • 开关电路检测:
  • 电池低压:电池电量不足提醒用户及时更换
  • 单片机MCU:选用最小系统板STC15W104
  • 无线发射电路:开关门信号传输。

六,I/O

I/O口的输入和输出

I/O口相关寄存器,原理图使用最多的是P3端口,我想的问题是怎样通过sfr去操作相关寄存器的,编译器转变为汇编语言,学过操作系统和计组大概就知道内部的实现流程了,我就先了解到这里

I/O输出简单代码

sfr P3 = 0x80;

sbit LED1 = P3^1;
SBIT LED2 = P3^0;

LED1 = 1;
LED2 = 1;

I/O口的输入输出配置

P3M1和P3M0都是不可位寻址

对于可位寻址的寄存器可以使用sbit操作相应的位,那么不可位寻址呢,如PXM1和P3M0,如何操作其相应的位,逻辑运算符派上用场

四种输入输出模式的区别

输出:准双向口,推挽输出,主要区别是推挽输出电路可通过的电流大,开漏模式与前两个的区别是外部自接电阻

输入:开漏模式,外部接电阻

STC15W104芯片只有P3口,为什么还要设置P0 P1 P2等IO的模式?

对啊,用不到为什么还使用。 如果需要考虑到低功耗的问题,还是需要把一些不使用的I/O配置,他俩之间有什么关系吗,为什么会影响到它

   
//每个每个主程序的入口必须有这么 一段
    P0M0 = 0x00;
    P0M1 = 0x00;
    P1M0 = 0x00;
    P1M1 = 0x00;
    P2M0 = 0x00;
    P2M1 = 0x00;
    P3M0 = 0x00;
    P3M1 = 0x00;
    P4M0 = 0x00;
    P4M1 = 0x00;
    P5M0 = 0x00;
    P5M1 = 0x00;
    P6M0 = 0x00;
    P6M1 = 0x00;
    P7M0 = 0x00;
    P7M1 = 0x00;

语法补充:sfr sbit的使用

sfr用于定义单片机特殊功能寄存器,将寄存器地址赋给一个变量,通过这个变量便可以操作寄存器

sbit是寄存器的位操作,将寄存器的某个位赋值个一个变量,

sfr  p1 = 0x80

sbit LED = p1^1(定义p1的第一位)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值