资源简介
STC12C5A60S2主控+OLED显示温度+18B20测量温度+PWM控制喇叭报警与LED切换+上位机传输温度
要求:温度每隔0.5秒采集一次并且显示在OLED上面,当温度大于一定温度时,出现ERROR报警,蜂鸣器发出报警声音,LED由红色切换到绿色,上位机接收到ERROR字样,当温度降到临界点后,字样消失,报警消失,LED切换过来。
代码片段和文件信息
/***********************************************************
程序功能:STC12C5A60S2 DS18B20温度传感器+OLED液晶显示
MCU型号: STC12C5A60S2
晶振频率:11.0892MHz
整理时间:2016年6月04号
作者:王忠杰
修改:李鑫港
p1^3 蜂鸣器
p3^3 灯
************************************************************/
#include “REG51.h“
#include “oled.h“
#define uchar unsigned char
#define uint unsigned int
sfr CCON =0xD8;
sfr CMOD=0xD9;
sfr CL=0xE9;
sfr CH=0xF9;
sfr CCAPM0=0xDA;
sfr CCAP0L=0xEA;
sfr AUXR=0x8E;
sfr CCAP0H=0xFA;
sfr CCAPM1=0xDB;
sfr CCAP1L=0xEB;
sfr CCAP1H=0xFB;
sfr PCAPWM0=0xf2;
sfr PCAPWM1=0xf3;
sfr ADC_CONTR=0xBC;
sfr ADC_RES=0xBD;
sbit CR=CCON^6;
sbit BEEP = P3^0 ;
sbit LED_change = P3^3 ;
typedef unsigned char BYTE;
typedef unsigned int WORD;
#include “DS18B20.h“
#define WIDE 1
#define LENTH 104
unsigned int count;
unsigned char fen=0;
BYTE ly_dis[4];//定义显示缓冲区
unsigned char UartTele[7];
//long int k=18;
unsigned int shu=0;
uchar Time1;
char qian=0bai=0shi=0ge=0;
uchar xdata tem[LENTH]={0};
void Display_time(void);
void Delay (WORD t)
{
WORD x;
while(t--)
{
x = 5000;
while(x--);
}
}
void UartTelephone()
{ if( ly_dis[1]>=5)
{
//SBUF =59; while(!TI);TI=0;
//SBUF =59; while(!TI);TI=0;
SBUF =fen/10+48;
while(!TI);
TI=0;
SBUF =fen%10+48;
while(!TI);
TI=0;
SBUF =58;
while(!TI);
TI=0;
SBUF =shu/100+48;
while(!TI);
TI=0;
SBUF =shu/10%10+48;
while(!TI);
TI=0;
SBUF =46;
while(!TI);
TI=0;
//. error!
SBUF =shu%10+48;
while(!TI);
TI=0;
SBUF =92;
while(!TI);
TI=0;
//SBUF =63;while(!TI);TI=0;
//iii
//SBUF =59; while(!TI);TI=0;
//SBUF =ly_dis[0]+16; while(!TI); TI=0;
SBUF =ly_dis[1]+48;
while(!TI);
TI=0;
SBUF =ly_dis[2]+48;
while(!TI);
TI=0;
//.
SBUF =46;
while(!TI);
TI=0;
SBUF =ly_dis[3]+48;
while(!TI);
TI=0;
SBUF =ly_dis[4]+48;
while(!TI);
TI=0;
SBUF =32;
while(!TI);
TI=0;
// SBUF =167;while(!TI);TI=0;
SBUF =67;
while(!TI);
TI=0;
SBUF =32;
while(!TI);
TI=0;
SBUF =32;
while(!TI);
TI=0;
SBUF =87;
while(!TI);
TI=0;
SBUF =65;
while(!TI);
TI=0;
SBUF =82;
while(!TI);
TI=0;
SBUF =78;
while(!TI);
TI=0;
SBUF =73;
while(!TI);
TI=0;
SBUF =78;
while(!TI);
TI=0;
SBUF =71;
while(!TI);
TI=0;
SBUF =32;
while(!TI);
TI=0;
SBUF =32;
while(!TI);
TI=0;
// SBUF =61;while(!TI);TI=0;
// SBUF =61;while(!TI);TI=0;
// SBUF =1;while(!TI);TI=0;
// SBUF =63;while(!TI);TI=0;
// SBUF =63;while(!TI);TI=0;
// SBUF =1;while(!TI);TI=0;
}
else
{
//SBUF =59; while(!TI);TI=0;
//SBUF =59; while(!TI);TI=0;
SBUF =fen/10+48;
while(!TI);
TI=0;
SBUF =fen%10+48;
while(!TI);
TI=0;
SBUF =58;
while(!TI);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2638 2016-06-04 13:49 oled 改\DS18B20.H
文件 7222 2016-11-05 13:54 oled 改\main.c
文件 18756 2016-11-05 13:30 oled 改\main.LST
文件 8673 2016-06-04 09:17 oled 改\main.OBJ
文件 1333 2016-05-30 16:47 oled 改\OLED.build_log.htm
文件 16724 2016-05-30 16:47 oled 改\OLED.hex
文件 54 2016-05-30 16:47 oled 改\OLED.lnp
文件 25359 2016-11-05 13:30 oled 改\oled.lst
文件 45111 2016-11-05 13:30 oled 改\OLED.M51
文件 20785 2016-05-30 16:47 oled 改\oled.obj
文件 2855 2016-06-04 09:37 oled 改\OLED.plg
文件 74386 2014-07-14 23:53 oled 改\OLED.uvgui.Administrator
文件 75416 2015-05-10 17:01 oled 改\OLED.uvgui.txj
文件 71847 2016-05-30 16:53 oled 改\OLED.uvgui.yangleilei
文件 74584 2014-07-14 23:40 oled 改\OLED.uvgui_Administrator.bak
文件 75417 2015-05-10 17:00 oled 改\OLED.uvgui_txj.bak
....... 58574 2016-11-06 10:32 oled 改\OLED.uvopt
....... 13751 2016-11-05 13:55 oled 改\OLED.uvproj
....... 58582 2016-11-05 13:55 oled 改\OLED_uvopt.bak
....... 13760 2016-06-04 13:49 oled 改\OLED_uvproj.bak
文件 11667 2016-01-27 20:39 oled 改\SRC\bmp.h
文件 13018 2016-06-10 12:08 oled 改\SRC\oled.c
文件 2307 2016-06-10 13:49 oled 改\SRC\oled.h
文件 12863 2016-06-09 23:56 oled 改\SRC\oledfont.h
文件 6376 2013-06-24 10:27 oled 改\STARTUP.A51
文件 14146 2016-11-05 13:30 oled 改\STARTUP.LST
文件 749 2016-05-30 16:47 oled 改\STARTUP.OBJ
目录 0 2016-11-05 10:00 oled 改\SRC
目录 0 2016-11-06 10:32 oled 改
----------- --------- ---------- ----- ----
............此处省略2个文件信息
- 上一篇:算法设计与分析基础习题参考答案
- 下一篇:编译原理语义分析实验源代码
相关资源
- ds18b20温度传感是什么传感器
- DS18B20温度+DHT11湿度+LCD1602
- TM4C系列ds18b20温度传感器例程
- STM32F103读取ds18b20温度传感器
- 基于FPGA的LCD1602实时显示DS18b20温度
- FPGA实现的DS18B20温度传感器
- stm32f407对ds18b20温度传感器数据的采集
- 基于战舰STM32的1602液晶驱动程序+ds1
- 基于DS18B20温度检测系统设计内含原理
- DS18B20温度采集与串口发送
- DS18B20温度传感器模块使用资料包stm
- STM32F072多路DS18B20温度传感器
- STM32F103C8T6+OLED+BS18B20温度显示
- 基于51单片机的DS18B20温度控制1602显示
- DS18b20温度传感器协调器终端zigbee程序
- 基于FPGA-VERILOG语言的DS18B20温度检测带
- STC15F2K60S2读取DS18B20温度
- DS18B20温度检测及报警
- 1602 18B20温度报警器.
- mpx4115压力与18b20温度LED显示
- 已成功的DS18B20温度显示程序带高低限
- 51单片机和1602显示18b20温度报警系统
- 基于51单片机的ds18b20温度传感器实现
- DS18B20温度传感器的proteus仿真.rar
- 单总线两个DS18B20温度传感器程序及其
- 60S2单片机驱动DS18B20温度传感器C程序
- STM32f103的DS18B20温度读取
- 基于单片机的DS18B20温度采集,液晶屏
- STM32 STM32F103C8T6 读取DS18B20温度数据例
- PIC单片机 18B20温度传感器和六位数码
评论
共有 条评论