51单片机非接触红外测温(蓝牙传输)

目录

具体实现功能

设计介绍

51单片机简介

资料内容

原理图和PCB(AD19)

仿真实现(protues8.7)

程序(Keil5)

全部资料

资料获取


具体实现功能

具体功能:

(1)采用红外温度传感器测温并用LCD1602显示;

(2)按键为启动按键、保存按键、显示数据按键,可以实现对温度数值的控制;

(3)温度可以通过蓝牙模块发送到手机上实时显示。

设计介绍

51单片机简介

51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。

本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。

资料内容

原理图和PCB(AD19)

本系统原理图和PCB设计采用Altium Designer19,具体如图。

注1:请使用Altium Designer19直接打开资料中的工程文件(资料中已说明打开方式)!

注2:此设计需按照原理图制作实物,不可直接烧录到任何开发板中运行(需要修改程序)!

程序(Keil5)

本设计利用KEIL5软件实现程序设计。

主函数如下:

复制代码
////////////////

void main()
{
    uint count,count1;

//函数部分
    SCL=1;
    SDA=1;
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    SCL=0;
    delay(1000);
    SCL=1;
    M_S = byte_read(0x2C01);//读取保存的序号
	  if(M_S > 6)
		{
				M_S = 0;
			  SectorErase(0x2C00);//清除
			  byte_write(0x2C01,M_S);
		}
		LCD_init();                  //lcd初始化
    start_flag = 0;
    LCD_write_str(0,0,"Temp:    .   C  ");
	  LCD_write_str(0,1,"                ");
	  
		uart_init(9600);
    while(1)
    {
			if(Key_1 == 0)//开始键按下
			{
					delay_ms(10);//消抖
					if(Key_1 == 0)
					{
							while(Key_1==0);
							startFlag = !startFlag;
					}
			}
			if(Key_2 == 0)//   存储
			{
					delay_ms(50);
					if(Key_2 == 0)
					{
							while(Key_2==0);
							if(startFlag==1 && M_R == 0)//在正常界面下,是存储数据
							{
									write_eeprom();
							}
					}
			}

			if(Key_3 == 0)//   查看
			{
					delay_ms(50);//消抖
					if(Key_3 == 0)
					{
					while(Key_3==0);

							if(startFlag==1)//在正常界面下,数查看数据 
							{
									LCD_write_str(0,1,"seeT:    .   C  ");
									read_eeprom();
							}
					}
			}
			if(count++>200)
			{
				    if(startFlag==1)
						{
								Tem=memread();//获取初级温度
								if(status == 0 && save_flag == 0)
								{
									display(Tem);//显示温度
									LCD_write_char(12,0,0xdf);// "。"
								}

								if(count1++ > 5)
								{
										count1 = 0;
										uart_send(send_buf,14);
								}
						}
						else 
						{
							 M_R=0;save_flag = 0;
							 LCD_write_str(0,0,"Temp: ---.-- C  ");
							 LCD_write_str(0,1,"                ");
							 LCD_write_char(12,0,0xdf);// "。"
						}
						count=0;
			}
			delay_ms(1);
    }
}

程序运行结果如图:

注:请使用KEIL C51直接打开资料中的工程文件(资料中已说明打开方式)!

全部资料

全部资料包括原理图和PCB源文件(AD19)、程序(Keil5)、protues仿真(protues8.7)、设计报告(仅供参考)、仿真视频、开发资料、仿真视频、单片机最小系统介绍等,全网最全!资料内容如下图所示!!

资料获取

https://docs.qq.com/doc/DT0V6V1dhSXRRWVBx

相关推荐
莎士比亚的文学花园15 小时前
stm32——平衡小车
stm32·单片机·嵌入式硬件
Hello_Embed15 小时前
STM32CubeIDE 创建第1个工程
stm32·单片机·嵌入式·ai编程
小麦嵌入式17 小时前
FPGA入门(一):手把手教你用 Vivado 创建工程并仿真
stm32·单片机·嵌入式硬件·mcu·fpga开发·硬件架构·硬件工程
czwxkn19 小时前
PCB设计-器件:2.电感
嵌入式硬件
佳木逢钺19 小时前
从零开始:基于STM32H750的硬件设计与软件开发完整流程详解
stm32·单片机·嵌入式硬件
Deitymoon1 天前
ESP8266——透传
单片机·网络协议·tcp/ip
zhangrelay1 天前
云课实践速通系列-基础篇汇总-必修-通识基础和专业基础-2026--工科--自动化、电气、机器人、测控等
linux·笔记·单片机·学习·ubuntu·机器人·自动化
Deitymoon1 天前
ESP8266——UDP传输
单片机·网络协议·udp
踏着七彩祥云的小丑1 天前
嵌入式——认识电子元器件——光电器件系列
单片机·嵌入式硬件
羽获飞1 天前
从零开始学嵌入式之STM32——31.高级定时器
stm32·单片机·嵌入式硬件