资源简介
使用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个文件信息
相关资源
- STC15F
- 51单片机通信采样proteus仿真方波转化
- 金蝶K3 12.3数据库表结构(完整包)
- 51 单片机 红外避障小车 大集合136
- STC8951系列单片机中方指南
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51单片机PWM程序,占空比、周期可调整
- 单片机和adc0809数字电压表
- PIC单片机完成的电子密码锁
- 单片机、ADC0808809设计简易数字电压表
- 51单片机多功能自行车测速仪
- 单片机做的6位时分秒数字钟
- 单片机电子时钟 闹钟 日历
- 音乐代码转换软件 单片机编程时用
- 单片机课程设计 篮球计分器
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 单片机与温度传感器DS18B20的程序设计
- 51单片机基于protues的几个仿真实例
- 基于52单片机的直流电压测量
- 38k单片机红外发送代码、keil
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- 武汉理工大学 单片机课程设计 16*16点
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
评论
共有 条评论