806基于单片机GSM大棚环境智能监控系统(毕业设计)
大棚环境温湿度光照采集控制系统功能概述:
- 该环境监测系统采用STC89C52单片机来作为控制核心,实现了对温、湿度的检测、光照强度检测,LCD实时显示电路和手机实时监测。
- 配置新式的微型低功耗传感器,温湿度传感器为DHT11,光敏电阻和AD0809芯片,GTM900-B无线通讯模块,实现了环境温度,湿度,光照强度三个参数的采集,存储,显示等功能。
- 能实时的发送相应的数据给手机,让我们能方便快捷的了解大棚内的情况,并作出相应的措施。
#include<reg52.h> #include"delay.h" #include"lcd1602.h" #include"ad0809.h" #include"DHT11.H" unsigned char wddata,sddata; unsigned char ad_d; unsigned char wenlow=10,wenhig=30; unsigned char shilow=34,shihig=90; unsigned char adlow=20,adhig=130; / sbit k1=P1^4; sbit k2=P1^5; sbit k3=P1^6; sbit k4=P1^7; unsigned char keyscan(); unsigned char keyscanquick();//快捷输入用于调节范围 #define ajys 200 / void dis();//显示 温湿度 光照 void jcring();//检测电话到来 void xiugaifanweiandother();//修改报警范围以及其他按键操作
808基于单片机的警示灯爆闪灯设计-设计资料
本设计采用STC89C52单片机,通过ADC0832将模拟信号转变为数字信号,光敏电阻检测光线,可以实现白天两灯一直亮,晚上两灯闪烁的警示灯效果。
#include "reg51.h"
#include "delay.h"
#include "adc0832.h"
sbit led1=P1^1; //定义
sbit led2=P1^0;
uint dat;
main()
{
while(1)
{
dat=adc_0832_pass(0); //光照模拟量采集
if(dat<150) //判断光照是否满足条件(是否为白天,如果是,则两灯恒亮)
{
led1=0;
led2=0;
}
else //如果不满足条件,则是晚上,两灯闪烁,频率约为6.667HZ
{
led1=1;
led2=1;
810基于单片机太阳能手机智能充电器设计(电路-仿真)
sfr CCON = 0xD8; //PCA控制寄存器
sfr CMOD = 0xD9; //PCA模式寄存器
sfr CCAPM0 = 0xDA; //PCA模块0模式寄存器 //模块0对应P1.3/CEX0/PCA0/PWM0(STC12C5A60S2系列)
sfr CCAPM1 = 0xDB; //PCA模块1模式寄存器 //模块1对应P1.4/CEX1/PCA1/PWM1(STC12C5A60S2系列)
sfr CL = 0xE9; //PCA 定时寄存器 低位
sfr CH = 0xF9; //PCA 定时寄存器 高位
sfr CCAP0L = 0xEA; //PCA模块0的 捕获寄存器 低位
sfr CCAP0H = 0xFA; //PCA模块0的 捕获寄存器 高位
sfr CCAP1L = 0xEB; //PCA模块1的 捕获寄存器 低位
sfr CCAP1H = 0xFB; //PCA模块1的 捕获寄存器 高位
sfr PCA_PWM0 = 0xF2; //PCA PWM 模式辅助寄存器0
sfr PCA_PWM1 = 0xF3; //PCA PWM 模式辅助寄存器1
sbit CF = CCON^7; //PCA计数溢出标志位
sbit CR = 0xDE; //PCA计数器 运行控制位
sbit CCF1 = CCON^1; //PCA模块1中断标志
sbit CCF0 = CCON^0; //PCA模块0中断标志
/************************************************************/
#define TIMER0_HIGHT 0xE5 //设置定时器0工作方式1自动装载初值,定时5ms,Fosc=12MHZ
#define TIMER0_LOW 0xF3
#define LCD_Data P0 //LCD的数据口
sbit LCD_BF=LCD_Data^7; //LCD忙信号位
sbit LCD_RS=P2^4;
sbit LCD_RW=P2^5;
812基于单片机智能无线病床呼叫系统设计
基于单片机的无线病床呼叫系统
1、1号板子6个按键代表6个床位,按键按下以后通过NRL240L01无线发射信号;?
2、2号板子通过NRL24L01无线模块接收数据,并在LCD1602显示按键按下对应的床位号,同时蜂鸣器和LED声光报警,2号板子通过DHT11采集温度和湿度在LCD1602显示;
3、2号板子按下取消按键,则声光报警停止,LCD1602状态显示No?Messege;
4、单片机使用STC89c52rc单片机
//1号板子发送程序
#include <reg52.h>
#include <intrins.h>
#include <nrf24l01.h>
#include <delay.h>
#include <lcd1602.h>
//************************************主函数************************************************************
void main(void)
{
unsigned char tf =0;
unsigned char TxBuf[20]={0};
unsigned char RxBuf[20]={0};
NRF24L01_Init(); //24L01初始化
while(1)
{
TX_Mode(01); //设置接受模式 通道01对应接受板子
if(KEY1==0) //按键赋值到数组
{
while(KEY1==0);
TxBuf[1]=1;
TxBuf[0] = 'B';
tf = 1 ;
}
if(KEY2==0)
{
while(KEY2==0);
TxBuf[1]=2;
TxBuf[0] = 'B';
tf = 1 ;
}
813基于单片机智能灯光光控照明系统设计-毕设课设资料
智能光控照明系统设计原理:
本系统采用STC89C52系列的单片机为核心,利用BH1750传感器测量实时光照强度,并将亮度的模拟信号转化成数字信号,大大减少了系统的结构。其特点是有两种模式,为手动和自动两种模式。在自动模式下,根据单片机1获得传感器测得的光照强度数据,传送给单片机2,自动调节灯泡的亮暗强度;在手动模式下,由人机对话,人工控制灯泡亮暗程度,实现了多功能智能控制系统。
智能光控照明系统框图:
自动光亮调节、照明系统功能介绍:
系统设有7个按键:
按键1:模式; 按键2:显示 ; 按键3:设置;
按键4:加 按键5:减 ; 按键6:置零; 按键7:复位
系统设有3个指示灯,分别为设置指示灯、模式指示灯和电源指示灯,同时还带有蜂鸣器报警系统;
系统由主机根据测得的光照强度,通过单片机串口,实现两个单片机的数据传输,再由从机根据主机传输的数据,控制小电灯泡模拟的照明设备工作模式,照明设备工作模式有5种,每种的亮暗程度不一样;
系统根据光照强度,划分了5个档次:
0<光照强度≤4档上限,为4档;
4档上限<光照强度≤3档上限,为3档;
3档上限<光照强度≤2档上限,为2档;
2档上限<光照强度≤1档上限,为1档;
1档上限<光照强度,为0档;
系统默认:4档上限=100;3档上限=200;2档上限=300;1档上限=400;
通电后,电源指示灯亮,主机系统初始化显示,初始化完后显示传感器BH1750测得的实时光照强度,并根据测得的光照强度,发送数据给从机,由从机控制小灯泡亮暗程度;
系统设有两种工作模式:分别是手动模式和自动模式,模式的切换是由按键1“模式”键来控制,系统默认初始模式是自动模式;
自动模式:在自动模式下,模式指示灯不亮,系统是根据测得的光照强度来控制灯泡的亮暗程度,在自动模式下,数码管显示的是测得的光照强度,按“显示”键,切换到显示当前的灯泡的亮度档数,显示一段时间后,自动跳回显示测得的光照强度;
手动模式:在手动模式下,模式指示灯点亮,按“加”或“减”来控制灯泡的亮暗程度,在手动模式下,数码管显示当前的灯泡的亮度档数,按“显示”键,切换到显示测得的光照强度,显示一段时间后,自动跳回显示当前的灯泡的亮度档数;
在两种模式下按下“设置”键,进入设置模式,设置指示灯亮,按“加”或“减”可以调整4档上限的值,其他3个档限也依此自加或自减,在任意模式下,按下“置零”,档限都恢复初始值,再次按下“设置”,退出设置模式,回到原来模式;
当检测到的光照强度大于1000时,蜂鸣器报警提示;
#include<reg51.h>
#include<intrins.h>
sbit shuju1=P2^3; //数据串口1
sbit shuju2=P2^2; //数据串口2
sbit shuju3=P2^1; //数据串口3
sbit shuju4=P2^0; //数据串口4
sbit dengpao=P1^6; //灯泡驱动
void delay_nms(unsigned int k);
int i,j,q;
void main()
{ P1=0x00;
i=100;
TMOD=0X02;
TH0=256-10;
TL0=256-10;
EA=1;ET0=1;TR0=1;
while(1)
{ if(shuju1==0)
i=40;
else if(shuju2==0)
i=65;
文章转自电设屋,资料百度网盘下载地址 https://www.aiesst.cn/share.html
目录