美式加冰不加糖!

美式加冰不加糖!

 ✨哈喽大家好,这里是@每天一杯冰美式oh,985电子本硕,大厂嵌入式在职0.3年,业余时间做做单片机小项目,有需要也可以提供就业指导(免费)~

🐱‍🐉这是51单片机毕业设计100篇系列的第30篇:基于51单片机的宠物自动投喂

💻项目相关说明:

  • 代码量:714行
  • 报告字数:5193字
  • 含代码、仿真、原理图、报告、器件清单、常见问题(实物、lw可另外定制)

🎈项目分享:见文末!


1、主要功能

可实现功能:

1、LCD1602实时显示北京时间和温湿度

2、温湿度传感器DHT11采集环境温湿度

3、时钟模块DS1302采集北京时间

4、蓝牙可远程控制投喂器开关

5、按键可设置投喂时间,一天里有三个时间进行自动投喂,投喂5s后自动关闭

6、按键也可以手动投喂

7、步进电机模拟投喂器,正转180°打开,反转180°关闭

2、仿真

【可答疑】基于51单片机的宠物自动投喂(含仿真、代码、报告、演示视频等)-LMLPHP

投喂时间可设置:

【可答疑】基于51单片机的宠物自动投喂(含仿真、代码、报告、演示视频等)-LMLPHP

3、代码

void main(void)
{	
	uchar i=0;
	
	TMOD|=0x20;               //TMOD=0010 0000,设置定时器T1工作于方式二
	SCON=0x50;                //SCON: 模式1, 8-bit UART, 使能接收
	PCON=0x00;                //PCON=0000 0000,晶振为11.0592
	TH1=0xf3;                 //设置定时器T1的初值,波特率为9600
	TL1=0xf3;                 //定时器T1自动填充的值,波特率为9600 
	REN =1;					  //允许串口接收数据位
	IE =0x90;				  //允许总中断,允许串口中断,禁止其他中断
	TR1=1;                    //启动定时器T1 
	//ES= 1; 				  //打开串口中断	
	
	L1602_init();//LCD初始化
	Ds1302Init();//时钟初始化
	Ds1302ReadTime();
	TIME[0]&=0X7F;
	while(1)
	{	
		Ds1302ReadTime();			//读取时间
		display_time();				//显示时间	
		DHT11_receive();			//读取温湿度		
		display_th();					//显示温湿度
		if(key_scan() !=0)		//如果按键按下
		{			
		 	KEY_Control();
		}
	}			
}

4、原理图

【可答疑】基于51单片机的宠物自动投喂(含仿真、代码、报告、演示视频等)-LMLPHP

5、参考报告

【可答疑】基于51单片机的宠物自动投喂(含仿真、代码、报告、演示视频等)-LMLPHP

6、演示视频

【可答疑】基于51单片机的宠物自动投喂(含仿真、代码、报告、演示视频等)-LMLPHP

7、常见问题

【可答疑】基于51单片机的宠物自动投喂(含仿真、代码、报告、演示视频等)-LMLPHP

【可答疑】基于51单片机的宠物自动投喂(含仿真、代码、报告、演示视频等)-LMLPHP

8、资源获取

【可答疑】基于51单片机的宠物自动投喂(含仿真、代码、报告、演示视频等)-LMLPHP

10-12 21:02