资源简介
使用stc12单片机串口使用433模块进行通讯 通讯距离300+ 测试完成 附上电路图 程序以及资料
代码片段和文件信息
#include “config.h“
#define u8 unsigned char
//串口接收数据缓存数组
extern xdata u8 uart1_shou[uatr];//串口1 接收的数据
extern xdata u8 uart2_shou[uatr];//串口2 接受的数据
extern xdata u8 uart3_shou[uatr];//串口1 接收的数据
extern xdata u8 uart4_shou[uatr];//串口2 接受的数据
extern int mode1;
extern int mode2;
extern int mode3;
extern int mode4;
//温度读取 变量
uint temp1=0; // 18b202温度数据
bit run_18b20=1;//温度报警启动标志位 1启动报警
bit shou_18b20=1;//测试 只发送一次报警
unsigned char ds_18b20num[]={“D00.0“}; //用来保存温度
unsigned char ds_18b20H[]={“D30.5“}; //语音报警上限
unsigned char ds_18b20L[]={“D20.5“}; //语音报警下限
extern unsigned char ADC_nume[7];//光敏数据保存
bit ET0_run=0;
bit cbs=0;//超声波检测 检测人体
//函数声明
void key();//按键控制函数
void ds18b20_num();///温度读取转换成字符函数
void eerom();//eerom上电初始化函数
void main(void)
{
//串口初始化
io_init();//io引脚初始化
Uart1Init();//串口1 初始化
Uart2Init();//串口2 初始化
Uart3Init();//串口3 初始化
Uart4Init();//串口4 初始化
Timer0Init();
eerom();//EEROM操作函数
delay_ms(1000);//延时1秒钟 防止电脑上位机反应不过来
while(1)
{
UART_1();//蓝牙接口 以及上位机通讯使用
UART_2();//语音模块播报使用
// UART_3();//备用 可以外接串口
//UART_4();//暂时没有用到此串口
ds18b20_num();//温度读取转换成字符数据
ADC_shou();//检测光敏数据
key();//板载按钮控制
}
}
void ds18b20_num()
{
int wendu_h;//标志位 检测温度是否超过上限
int wendu_l;//标志位 检测温度是否低于下限
ET0 = 0;//关闭定时器中断 防止扰乱18b20的时序
tmpchange(); //读取温度
temp1=ds_tmp(); //温度赋值
ET0 = ET0_run; //根据标志位判断是否打开定时器的中断
ds_18b20num[0]=‘D‘;
ds_18b20num[1]=(temp1/100)+48; //将温度转换成字符型
ds_18b20num[2]=(temp1/10%10)+48;
ds_18b20num[4]=(temp1%10)+48;
//检测温度值是否大于低于设定的上限下限
if(temp1!=850)
{
wendu_h=strcmp(ds_18b20numds_18b20H);
wendu_l=strcmp(ds_18b20numds_18b20L);
if(wendu_h>0&&run_18b20&&shou_18b20)//温度大于报警值
{
shou_18b20=0;
UART(1“温度上限报警当前温度为 “);
UART(1ds_18b20num);
UART1_SendLR() ;
UART(1“温度上限为 “);
UART(1ds_18b20H);
UART1_SendLR() ;
UART(1“温度下限为 “);
UART(1ds_18b20L);
UART1_SendLR() ;
}
else if(wendu_l<0&&run_18b20&&shou_18b20)//温度低于下限
{
shou_18b20=0;
UART(1“温度下限报警当前温度为 “);
UART(1ds_18b20num);
UART1_SendLR() ;
UART(1“温度上限为 “);
UART(1ds_18b20H);
UART1_SendLR() ;
UART(1“温度下限为 “);
UART(1ds_18b20L);
UART1_SendLR() ;
}
if(wendu_l>0&&wendu_h<0)//温度在中间 未发生报警值
{
shou_18b20=1;
}
}
}
void key()//板载按键操作函数
{
if(key1==0)
{
delay_ms(20);
if(key1==0)
{
UART(2“继电器“);
}
while(!key1);
}
if(key2==0)
{
delay_ms(20);
if(key2==0)
{
UART(2“蜂鸣器“);
}
while(!key2);
}
}
void eerom()
{
unsigned char eerom_shou; //
eerom_shou = IapReadByte(IAP_ADDRESS);//读取一个字节 判断是否为D
if(eerom_shou!=‘D‘) //不是D说明 第一次上电 进行数据的初始化
{
IapEra
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 94549 2019-09-20 09:09 433遥控\app\蓝牙.e4a
文件 237678 2019-09-20 09:09 433遥控\app\调试版_新的应用.apk
I.A.... 4418 2019-09-18 15:51 433遥控\PCB\主机模块\Integrated_Library\History\Integrated_Library.~(1).LibPkg.Zip
文件 40809 2019-09-18 15:51 433遥控\PCB\主机模块\Integrated_Library\Integrated_Library.LibPkg
文件 151040 2019-09-18 15:51 433遥控\PCB\主机模块\Integrated_Library\PCB1.PcbDoc
文件 4608 2019-09-18 15:52 433遥控\PCB\主机模块\Integrated_Library\Project Outputs for Integrated_Library\Integrated_Library.IntLib
文件 13312 2019-09-18 15:51 433遥控\PCB\主机模块\Integrated_Library\Sheet1.SchDoc
文件 4543 2019-09-18 15:51 433遥控\PCB\主机模块\Integrated_Library\__Previews\PCB1.PcbDocPreview
文件 16984 2019-09-18 15:51 433遥控\PCB\主机模块\Integrated_Library\__Previews\Sheet1.SchDocPreview
文件 4418 2019-09-18 15:51 433遥控\PCB\从机模块\Integrated_Library\History\Integrated_Library.~(1).LibPkg.Zip
文件 40809 2019-09-18 15:51 433遥控\PCB\从机模块\Integrated_Library\Integrated_Library.LibPkg
文件 151040 2019-09-18 15:51 433遥控\PCB\从机模块\Integrated_Library\PCB1.PcbDoc
文件 4608 2019-09-18 15:52 433遥控\PCB\从机模块\Integrated_Library\Project Outputs for Integrated_Library\Integrated_Library.IntLib
文件 13312 2019-09-18 15:51 433遥控\PCB\从机模块\Integrated_Library\Sheet1.SchDoc
文件 4543 2019-09-18 15:51 433遥控\PCB\从机模块\Integrated_Library\__Previews\PCB1.PcbDocPreview
文件 16984 2019-09-18 15:51 433遥控\PCB\从机模块\Integrated_Library\__Previews\Sheet1.SchDocPreview
文件 79870 2019-09-20 08:01 433遥控\Schematic Prints.pdf
文件 1533 2019-09-20 08:52 433遥控\从机程序\ADC.C
文件 180 2019-08-09 09:15 433遥控\从机程序\ADC.h
文件 2852 2019-09-20 09:12 433遥控\从机程序\ADC.LST
文件 11196 2019-09-20 09:12 433遥控\从机程序\ADC.OBJ
文件 31035 2018-12-01 17:57 433遥控\从机程序\codetab.h
文件 1061 2019-09-20 08:48 433遥控\从机程序\config.h
文件 1834 2019-09-20 08:52 433遥控\从机程序\DS18B20.C
文件 441 2019-09-20 08:13 433遥控\从机程序\DS18B20.H
文件 4337 2019-09-20 09:12 433遥控\从机程序\DS18B20.LST
文件 14147 2019-09-20 09:12 433遥控\从机程序\DS18B20.OBJ
文件 7680 2019-05-11 16:10 433遥控\从机程序\LQ12864.h
文件 3739 2019-09-20 08:56 433遥控\从机程序\main.c
文件 7326 2019-09-20 09:12 433遥控\从机程序\main.LST
............此处省略108个文件信息
相关资源
- 单片机K20使蜂鸣器唱歌的程序
- 温湿度、火灾气体检测,LCD1602串口双
- 51单片机多功能电梯模拟控制系统-接
- 基于单片机控制红外报警系统毕业设
- nRF24L01_的无线温湿度检测系统电路及
- 单片机MP3源码c51版
- 单片机恒温箱温度控制系统的设计
- 超声波测距仪1602显示.zip
- 基于51单片机水量检测c代码+proteus仿真
- 51单片机密码锁PROTEUS仿真
- 基于单片机的谐波分析
- 滴滴报警声
- 基于51单片机的电子密码锁设计
- 单片机PIC16F887模拟电话设计程序含P
- 基于51单片机的心率脉搏计源码+电路
- 基于51单片机的温度警报器的设计
- 单总线温度采集与显示
- 报警发生器
- 基于单片机的电子门铃设计
- 基于C51单片机计时器
- 51单片机控制的GSM报警程序
- MQ-2烟雾传感器51单片机代码
- 单片机水塔水位控制系统课程设计p
- labview和单片机的温度监控系统
- 基于51单片机12864显示的指纹锁
- 027 简易电子秤 LCD1602显示 超重报警
- 智能家居控制系统-详细设计图文表并
- 基于PIC单片机的多功能万年历
- 基于51单片机的1602万年历设计_温度
- 51单片机温度报警器设计程序及prote
评论
共有 条评论