我是靠谱客的博主 霸气老师,最近开发中收集的这篇文章主要介绍大四那年,我用手撕面包板的毕业设计征服了老师!!,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

      • 序言
      • 实现的功能
      • 实物图
      • 原理图
      • 部分源码

序言

不知不觉,今年我都18岁了,工作也快四年了,呸呸呸,不要脸,保持年轻,不断追求,朝着我们的目标努力,我们的心态永远是18岁。

最近在电脑里翻阅资料,看到打包好的大学毕业设计资料,打开一看,还是历历在目的,真的怀念当初上大学的日子,当时做的毕设比较简单,基于51单片机做的语音播报环境测试仪,从这名字也知道是什么了,可以测试环境数据,然后进行语音播报,就是这么简单,功能不算复杂。


实现的功能

包括环境数据采集(温度、湿度、光照强度、烟雾浓度)、LCD显示环境数据、语音播报环境数据、蓝牙控制语音播报、按键控制语音播放、环境数据一键发送至手机、手机端主动获取环境数据。


实物图

大四的时候,太穷了(大三搞飞思卡尔留下的后遗症),毕设所需要的元器件都是在老师的实验室东拼西凑搜集的,PCB也没做了,因为当时做PCB也是一笔不小的费用,也省时间,不用画PCB,所以就有了如下手撕面包板的杰作了,哈哈哈!!

记得当时毕设答辩,老师问为什么在你的PPT里面加入背面照片,我说想展示一下自己的焊工,其实背面也有亮点,加了一个贴片LED,上电闪闪发光,我当时为什么这么花里胡哨呢?

在这里插入图片描述

实物图


原理图

在这里插入图片描述

原理图


部分源码

void main()
{
	delay_nms(100);	       //延时100ms
	BUSY=0;		           //语音芯片
	DATA=0;		           //语音芯片
	RST=0;
	LCDinit();			   //液晶初始化
	Init_BH1750();         //初始化BH1750
	Timer_init();
	init();			       //串口初始化 
	
	while(1)
	{	 
	        		
			if(Count>=10)		//每0.5秒采一次温湿度,避免显示错乱,10*50ms=0.5s
		{
				RH();		    //读取温湿度
				uart_wendu_shi=T_data_H/10;		 
	            uart_wendu_ge=T_data_H%10;
				uart_shidu_shi=RH_data_H/10;
				uart_shidu_ge=RH_data_H%10;
										       
				SetTime_dispaly(0x80+2,T_data_H);		     //显示温度
				SetTime_dispaly(0x80+0x40+2,RH_data_H);   	 //显示湿度
				
				write_com(0x80);			   
				write_date(0x54);			   //写 T		 温度
				write_com(0x80+0x40);		   
				write_date(0x52);			   //写 R		 湿度
				write_com(0x80+6);			   
				write_date(0x53);			   //写 S		 光照强度
				write_com(0x80+0x40+6);		  
				write_date(0x57);			   //写 W		 气体烟雾
					
											    
				write_com(0x80+4);			   
				write_date(0x43);			   //写 C
				write_com(0x80+0x40+4);			   	      
				write_date(0x25);			   //写 %
				write_com(0x80+13);
				write_date(0x4C);			   //写 L
				write_com(0x80+14);
				write_date(0x78);			   //写 x
				write_com(0x80+0x40+12);			   	      
				write_date(0x25);			   //写 %
								
				Count=0;					   //清零
			   		
		   	
				Single_Write_BH1750(0x01);         // power on
                Single_Write_BH1750(0x10);         // H- resolution mode
       	        delay_nms(180);                    //延时180ms
    	        Multiple_Read_BH1750();            //连续读出数据,存储在BUF中
      	        dis_data=BUF[0];
	   	        dis_data=(dis_data<<8)+BUF[1];     //合成光照强度数据
		        tempp=(float)dis_data/1.2;	
	 	      
			    SetBH1750_dispaly(0x80+8,tempp);
				uart_sun_shi=tempp/10;		       //串口
				uart_sun_ge=tempp%10; 					   
	        
				 if(K2==0)
		{
			delay_nms(20);
			if(!K2)
			{
				while(!K2);	
				send(uart_wendu_shi,uart_wendu_ge,uart_shidu_shi,uart_shidu_ge,uart_sun_shi,uart_sun_ge);
			}
		}
				ADC_read();
				volt=volt*5000/4095;
				ADC_dispaly(0x80+0x40+8,volt);
	    y=SBUF;
		SetFlag=1;
	   	switch(y)
		{
			case 0x01 :KEY1=0;break;	
		}

		Voice();

		}
	}
}

博主的能力有限,大家别嫌弃,毕业设计的相关资料,有需要的小伙伴,可以发邮件给我,一般晚上有时间会回复邮件,免费分享给大家,写这篇博客的目的是什么呢?当然是帮助即将毕业的大四小伙伴了,加上今年疫情,相信很多同学还在家,没办法手撕面包板,码代码了,手动焊接器件,自己调试代码,功能实现之后,成就感还是满满的。又有人说了,你别扯了,你就是单纯的想水一篇博客而已!
在这里插入图片描述


永远相信美好的事情即将发生,作者记得诚,写于安徽合肥,时间2020-03-15 AM00:10

最后

以上就是霸气老师为你收集整理的大四那年,我用手撕面包板的毕业设计征服了老师!!的全部内容,希望文章能够帮你解决大四那年,我用手撕面包板的毕业设计征服了老师!!所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部