【电路方案】基于单片机蓄电池充放电检测设计/单片机温湿度检测显示报警设计/ 单片机智能自动浇花系统设计/单片机智能教室照明人数统计系统设计/单片机指纹密码锁指纹识别系统设计/单片机无线音乐门铃控制

基于单片机蓄电池充放电检测系统设计

 

【1105】设计思路:主要包含LCD显示电路、电流采集电路、电压采集电路、电量采集电路、LED指示电路、温度传感器、蜂鸣器电路、电源电路、继电器电路、单片机系统电路。
LCD实时将采集好的电流、电压、电流值、温度值显示在LCD显示屏上。LED可以展示出当前蓄电池的电量和温度状态。

 #include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
/***************引脚声明*********************/
#define lcd P0
sbit rs=P2^7;	  //LCD液晶控制端
sbit en=P2^6;
sbit SPK=P1^7;  //蜂鸣器引脚
sbit CS=P1^2;   //将CS位定义为P1.2引脚
sbit CLK=P1^0;  //将CLK位定义为P1.0引脚
sbit DIO=P1^1;  //将DIO位定义为P1.1引脚
sbit key=P2^5;  //定义按键引脚
sbit a=P2^0;		//模拟量通道选择端
sbit b=P2^1;		//模拟量通道选择端
sbit c=P2^2;		//模拟量通道选择端
sbit LED = P3^7;
sbit LED1 = P3^6;

/***********LCD显示数组**************************/

uchar table1[]="V=0.00V";
uchar table3[]="I=0.00A";
uchar table5[]="PO=000%";
uchar table6[] = "T=000C";   

uchar temp = 0;
uchar tt = 0;
/***************全局变量************************/
uchar flag=0;      //换挡标志位


void delay(uint count)		 //延时
{
  uint i,j;

580基于单片机温湿度检测显示报警控制系统设计

本设计是基于单片机的温湿度检测及控制,主要实现以下功能:

可实现温湿度采集
可实现温湿度初始阈值修改
可实现超过温湿度阈值进行异常处理及报警
可实现通过LCD1602显示采集到的温湿度值

#include<main.h>
#include<lcd1602.h>
#include<sht11.h>
#include<led.h>
#include<key.h>

extern uchar flag_key;
extern uint temp, humi;
/****
*******	延时1ms函数
*****/
void delay(uint x)
{
	uint m,n;
	for(m=x;m>0;m--)
	for(n=110;n>0;n--);
}

void lcd_display(uint x)
{
	lcd_write_str(0x80, "Temp: H:  C  L:  C");
	lcd_write_str(0x80+0x40, "Humi: H:  %  L:  %");
}

/****
*******	主函数 
*****/
void main()
{
	uchar flag_mode = 0;
	uchar Temp_H = 30;
	uchar Temp_L = 10;
	uchar Humi_H = 50;
	uchar Humi_L = 30;
	lcd_init(); //初始化LCD1602
	s_connectionreset();             //启动连接复位

	while (1)
	{
		if(flag_mode == 0)
		{
			get_temp_humi();

			if(temp > (Temp_H*10))
			{
				SET_RELAY4(0);
				SET_BEEP(0);
				delay(300);

  

 755基于单片机智能自动浇花系统设计-LCD1602、湿度检测

系统三个按键分别是:系统复位键、设置键、加键、减键。
1、土壤干湿度传感器实时给单片机传输信号。
2、按键设置土壤干湿度阈值,实现土壤水分的动态控制。
3、液晶实时显示土壤湿度情况,所设置的阈值,直观明了。
4、ADC0832将模拟信号转换成数字信号传给单片机。
按键调节上下限值,LCD1602实时显示土壤湿度值,并显示上下限值。土壤检测传感器检测湿度值低于下限时,蜂鸣器报警并驱动水泵浇水,湿度值高于上限时停止浇水。

#define     LCDIO      P0	 //液晶屏数据口
//ADC0832的引脚
sbit ADCLK =P1^1;  //ADC0832 clock signal
sbit ADDIO =P1^3;  //ADC0832 k in
sbit ADCS =P1^4;  //ADC0832 chip seclect

sbit rs=P1^0;  //定义1602 RS
sbit lcden=P1^2; //定义1602 EN
sbit key1=P3^0;    //设定
sbit key2=P3^1;    //加
sbit key3=P3^2;    //减
sbit motor=P3^7;   //继电器接口
sbit speak=P1^5;	//蜂鸣器接口
uchar key;         //设定指针
uint RH=400,RL=200;//水位上下限
float temp_f;
ulong temp;
uchar v;
uchar count,s1num;
uchar code table[]= " moisture:          ";
uchar code table1[]="RH:  %              ";
uchar getdata; //获取ADC转换回来的值
/*********************************************/
void delay(uint z)		  //延时
{
	uint x,y;
	for(x=z;x>0;x--)
		for(y=110;y>0;y--);
}
/**********************************************/
void write_com(uchar com)
{
电路图:

 754基于单片机智能自动浇花控制系统设计

参考思路:

本方案为土壤干湿度检测自动浇花系统,启动系统时设定土壤水分为0,即土壤最干时候为250个单位。当将土壤传感器插入泥土(可以拿个纸杯装点),数值下降,例如显示0125,即目前土壤干燥度为125个单位,总共250,也可以算出土壤湿度在50%左右。如果往里面浇水,数值会下降,因为干燥度降低 ,相反的湿度增大。数码管显示为干燥度。

如果目前数码管显示0125,你可以手动设置自动浇花启动的数值为0130,当土壤越来越干,数值到达0130单位时,继电器启动(可外接水泵),红灯亮。

#define uint unsigned int 
#define uchar unsigned char
#define Data_ADC0809 P1
 
//管脚声明
sbit Feng = P3^0;
//ADC0809
sbit ST=P3^3;
sbit EOC=P3^4;
sbit OE=P3^2;
//按键
sbit Key1=P3^5;
sbit Key2=P3^6;
sbit Key3=P3^7;

//显示数组		0-9+F
uchar Data_[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x71,0x3f};
sbit Wei1 = P2^7;
sbit Wei2 = P2^6;
sbit Wei3 = P2^5;
sbit Wei4 = P2^4;
//函数声明
extern uchar ADC0809();
void Display(uchar X,uchar Data);
void delay(uint t);

//酒精含量变量
uchar temp=0;
//蜂鸣器变量
uchar FF=125;
//显示模式
uchar Mode=0;
uchar p;

void main()
{

	while(1)
	{
		//正常模式
		if(Mode==0)

实物效果:

 

 752基于单片机智能教室照明人数统计系统设计

用51单片机STC89C52、时钟芯片DS1302、液晶屏LCD1602、光敏电阻、红外对管、设计一个教室智能照明控制系统。使用4个LED灯模拟教室的照明灯,在符合条件开启时,人数小于10人亮一个灯,10-20人亮二个灯,20-30人亮三个灯,大于30人则全亮四个灯。

单片机默认使用STC89C52,可选择AT89S52。
系统分自动/手动模式,可以通过按键切换模式,并有LED指示当前所在模式,在自动模式下,可以设定定时时间段,在定时时间段内,当教室有人(人数大于0)的情况下,如果光线暗弱则自动打开照明灯,照明灯点亮个数根据人数而定,不在定时时间段或者教室无人的情况下,关闭所有照明灯,另外在手动模式下,可以通过手动开关控制照明灯的亮灭,人数统计部分仍然生效。

资料包含:仿真,程序,实物原理图,pcb,元器件清单等

#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int

uchar time_data[7];
uchar code write_add[7]={0x8c,0x8a,0x88,0x86,0x84,0x82,0x80};       //数据的地址
uchar code read_add[7]={0x8d,0x8b,0x89,0x87,0x85,0x83,0x81};

uchar code table1[]="C: 00|2000/00/00";
uchar code table2[]="T: 00|00:00:00 0";
uchar code table3[]="                ";			 //清屏内容
uchar code table4[]="  Set Real Time ";
uchar code table5[]="  Set Open Time ";
uchar code table6[]="   Start Time:  ";
uchar code table7[]="    00:00:00    ";
uchar code table8[]="    End Time:   ";
uchar code table9[]="Date: 2000/00/00";
uchar code table0[]="Time: 00:00:00 0";

bit Adjust;			  //调节标志位,=1表示进入调节模式,=0是正常模式
bit Auto_flg;		  //自动模式标志位,=1表示手动模式,=0是自动模式
sbit rs=P1^0;		  //LCD1602
sbit rw=P1^1; 		  //LCD1602
sbit e=P1^2;		  //LCD1602
sbit sck=P2^5;		  //时钟端口
sbit io=P2^6;		  //时钟端口
sbit rst=P2^7;		  //时钟端口
sbit SELT =P1^6;	  //选择键
sbit ENTER=P1^7;	  //确认键
sbit UP   =P3^0;	  //加键
sbit DOWN =P3^1;	  //减键
sbit MODE =P3^2;	  //切换按键接口
sbit SWITCH=P3^3;	  //手动开关

 

751基于单片机指纹密码锁指纹识别系统设计

基于单片机的指纹识别和键盘密码锁。

参考资料:包括程序,原理图,pcb图,原件清单和实物图。

#include <reg52.h>
#include <intrins.h>	  //包含头文件
#include"24C0x.h"		  //包含24C02函数
#include"LCD12864.h"	  //包含液晶函数
#define uchar unsigned char
#define uint unsigned int	 //宏定义
 
#define buffer1ID  0x01
#define buffer2ID  0x02
#define queren  0x88		//确认
#define tuichu  0x85		//退出
#define shanchu 0x82		//删除

#define User 1				//用户     

void fan();					//主界面刷指纹管理员函数
        
sbit B0=B^0;
sbit B7=B^7;
sbit k2=P3^7;				//指纹模块
sbit jidianqi=P3^6;			//继电器

        
extern unsigned char times[];
uchar  Member=0,sec;

uchar  code buffer[User][6]=
{
 {"000000"}
};
        
        
uchar dz[4];
uchar time[4];			 
uchar mima[6];

 

750基于单片机无线音乐门铃控制系统设计

​一、开展本课题的意义及工作内容:

随着电子技术、微电子技术的飞速发展,微型计算机发展很快,单片机技术成为自动控制技术的核心之一。单片机作为计算机的一个独特的分支,它是在一块芯片上集成了多种功能部件所构成的一台完整的、具有一定功能的单片微型计算机。它打破了典型微型计算机按逻辑功能划分芯片结构的传统概念,以其体积小,功能强,性能价格比高等优点广泛应用于诸多领域,如工业控制系统、智能化仪表、数据采集系统等,单片机技术的开发和应用水平已逐渐成为一个国家工业发展水平的标志之一。
无线门铃又称无线遥控门铃或遥控门铃。无线门铃是利用超再生无线模块来实现无线遥控的,无线门铃不需要布线,安装简单灵活,但是传输距离受传输距离和现场环境影响较大。有线门铃正好与之相反。

//
//51单片机无线遥控门铃程序
//
#include<REG51.H>
#define sound_amount 5 //歌曲的数量
sbit pause=P2^5;       //播放\暂停
sbit speaker=P2^7;     //无源蜂鸣器
//
unsigned char timer0h,timer0l,time;//timer0h,timer0l为定时器T0的高低位初值,time为对应的节拍时间
unsigned char music_num,num;       //music_num为歌曲编号,music_num=0表示刚开机时的状态,num是查找歌曲数据表的地址
signed char fre;                   //对应频率数据表的地址
bit play_enable;                   //歌曲播放的使能标志位,用于播放\暂停
void delay(unsigned char t);	   //延时子函数,控制发音的时间长度
void delayms(unsigned int t);	   //普通延时子程序,可用于按键消抖
void song(void);		           //演奏一个音符
void music_play(void);	           //播放歌曲
//
//每三个数字,代表一个音符
//第一个数字是音符的数值1234567之一(第几个音),代表哆来咪发...
//第二个数字是0123之一,代表低音\中音\高音\超高音(第几个八度)
//第三个数字是时间长度,以半拍为单位,乐曲数据表的结尾是三个0
//
//《祝你生日快乐》
unsigned char code song1[]={
     5,1,1, 5,1,1, 6,1,2, 5,1,2, 1,2,2, 7,1,4,
     5,1,1, 5,1,1, 6,1,2, 5,1,2, 2,2,2, 1,2,4,
     5,1,1, 5,1,1, 5,2,2, 3,2,2, 1,2,2, 7,1,2, 6,1,2,
     4,2,1, 4,2,1, 3,2,2, 1,2,2, 2,2,2, 1,2,4, 0,0,0};

//《世上只有妈妈好》
unsigned char code song2[]={
     6,2,3, 5,2,1, 3,2,2, 5,2,2, 1,3,2, 6,2,1,
	 //6,2,3代表6,中音,3个半拍;
	 //5,2,1代表5,中音,1个半拍;
	 //3,2,2代表3,中音,2个半拍;
	 //5,2,2代表5,中音,2个半拍;
	 //1,3,2代表1,高音,2个半拍;
	 //...
     5,2,1,6,2,4, 3,2,2, 5,2,1, 6,2,1, 5,2,2, 3,2,2, 1,2,1,6,1,1, 5,2,1, 
	 3,2,1, 2,2,4, 2,2,3, 3,2,1, 5,2,2, 5,2,1, 6,2,1, 3,2,2, 2,2,2, 
	 1,2,4, 5,2,3, 3,2,1,2,2,1, 1,2,1, 6,1,1, 1,2,1, 5,1,6, 0,0,0};

//《当你孤单你会想起谁》
unsigned char code song3[]={
     3,2,2, 3,2,1, 4,2,1, 3,2,2, 2,2,1, 1,2,1,  2,2,2, 5,2,2, 2,2,2, 2,2,3,
	 1,2,2, 1,2,1, 2,2,1, 1,2,2, 7,1,1, 6,1,1, 7,1,2, 3,2,2, 7,1,2, 7,1,3, 
	 6,1,2, 2,2,1, 3,2,1, 2,2,1, 1,2,1, 6,1,2, 5,1,2, 2,2,1, 3,2,1, 2,2,1, 
	 1,2,1, 6,1,2, 6,1,2, 2,2,1, 3,2,1, 2,2,1, 1,2,1, 6,1,1, 7,1,1, 1,2,6, 0,0,0 };

//《乡间小路》

 


文章转自电设屋,资料百度网盘下载地址 https://www.aiesst.cn/share.html

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值