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

相关推荐
qq_389600133 小时前
pads-logic 学习笔记
笔记·嵌入式硬件·学习·硬件工程·pcb工艺
蜕变的小白4 小时前
嵌入式硬件的学习----ARM
arm开发·嵌入式硬件·学习·arm
倔强的石头1064 小时前
【Linux指南】基础IO系列(二):C 语言标准库 IO 接口实战 —— 从 fopen 到 feof 全解析
linux·c语言·单片机
意法半导体STM324 小时前
【官方原创】STM32CubeProgrammer与STM32 Bootloader连接全流程实战指南 LAT1631
开发语言·前端·javascript·stm32·单片机·嵌入式硬件
qqssss121dfd4 小时前
STM32H750XBH6的ETH模块的TCP segmentation offload功能分析
stm32·嵌入式硬件·tcp/ip
是翔仔呐4 小时前
第2章 按键输入与消抖!掌握I/O口输入核心,实现单片机人机交互
c语言·单片机·嵌入式硬件·gitee
hoiii1874 小时前
PID控制四轴飞行器系统设计(单片机主控)
单片机·嵌入式硬件
恶魔泡泡糖4 小时前
stm32核心板子使用验证与串口下载
stm32·单片机·嵌入式硬件
wsoz4 小时前
串口仿真协议(RFCOMM)
单片机·嵌入式·蓝牙协议栈·rfcomm