硬件设计

(末尾附文件)

本系统采用的是K型热电偶采集温度,因此本设计有温度采集部分,数据处理部分,温度显示部分,故障显示并显示部分组成。AT89S52单片机以及单片机的外围电路由晶振电路,复位电路,温度采集电路,温度显示电路,报警电路组成。系统设计框图如下:

温度采集部分
先使用K型热电偶对环境温度进行检查,再经过K型热电偶模数转换器—MAX6675,进行温度转换,将环境温度转换成12位二进制数据采集进单片机,以便单片机进行数据处理。在本系统中,由于是4路温度采集,因此使用串行的方式,依次对4路温度进行采集,并用单片机的P2口来传输与反馈数据。
数据处理部分
利用算法,在单片机中对采集到的数据进行处理,并转换成百、十、个位通过P0口进行输出。
温度显示部分
通过调用LCD的显示函数,将温度以两行的方式实时地显示在LCD上。
超限报警部分
通过软件算法,检测4路的温度是否超出人体正常体温,一旦超过这个范围,则进行报警,并在LCD上显示“发烧”,并且同时通过蜂鸣器以及LED灯,来进行声光报警。当检测到热电偶出现断耦时,在LCD上显示“断耦”,并且同时通过点亮对应的LED灯进行报警。

原理图:

仿真文件:

程序设计

数据显示部分
LCD上的汉字以及数据,都需要使用相应的字模软件来对汉字和数据进行编码,并存储在相应的数组中,通过相应的函数调用,将所需显示的数据,按照相应的格式显示在LCD上,以下为部分软件算法:
汉字显示函数:
void Display_HZ(uchar screen,uchar page,uchar column,uchar *p)
{uchar i;SelectScreen(screen);Set_page(page);                   //写上半页:16*8 Set_column(column*16);           //控制列for(i=0;i<16;i++)                //控制16列的数据输出,左右各64个点,可显示4个汉字{write_LCD_data(p[i]);        //汉字的上半部分 }Set_page(page+1);               //写下半页:16*8 Set_column(column*16);           //控制列for(i=0;i<16;i++)                //控制16列的数据输出{write_LCD_data(p[i+16]);  //汉字的下半部分 }
}
数字显示函数:
void Display_ASCII(uchar screen,uchar page,uchar column,uchar *p)  //左右各64个点,可显示8个字符
{uchar i;SelectScreen(screen);Set_page(page);Set_column(column);for(i=0;i<8;i++)          //显示字符上半部分:8*8 {write_LCD_data(p[i]);}Set_page(page+1);         //显示字符下半部分:8*8 Set_column(column);for(i=0;i<8;i++){write_LCD_data(p[i+8]);}
}
调用方式如下:
Display_HZ(1,0,2,huan);
Display_HZ(1,0,3,ying);
Display_ASCII(1,0,0*8,shuzi[10]);
Display_ASCII(1,0,1*8,shuzi[1]);以下为LCD显示测量温度函数部分:(以1路为例)
void Disp_temp()
{temp1=(int)(wendu1*10); if(wendu1) { fen1=temp1%10;temp1=temp1/10;ge1=temp1%10;shi1=temp1/10;Display_ASCII(1,0,5*8,shuzi[fen1]);Display_ASCII(1,0,3*8,shuzi[ge1]);Display_ASCII(1,0,2*8,shuzi[shi1]);}else if(wendu1==0){Display_ASCII(1,0,5*8,shuzi[0]);Display_ASCII(1,0,3*8,shuzi[0]);Display_ASCII(1,0,2*8,shuzi[0]);}
Display_HZ(1,0,0,fuhao_1);Display_ASCII(1,0,4*8,shuzi[13]); Display_HZ(1,0,3,fuhao_ssd);
}断耦检测函数
如果热电偶发生断耦标志位wendu=1,则LED长亮。
void cut_off_flag()
{if(flag1 == 0){ LED1 = 1;   wendu1 = 0;Display_HZ(1,6,3,duan);Display_HZ(2,6,0,ou);            }           if(flag2==0){LED2 = 1;wendu2 = 0;Display_HZ(1,6,3,duan);Display_HZ(2,6,0,ou);   }   if(flag3==0){LED3 = 1;wendu3= 0;Display_HZ(1,6,3,duan);Display_HZ(2,6,0,ou);    }   if(flag4==0){LED4 = 1;wendu4 = 0;Display_HZ(1,6,3,duan);Display_HZ(2,6,0,ou);   }
}

.

文件仅供参考:

链接:https://pan.baidu.com/s/1hiKxxP4TWmHU9329xDwX0g
提取码:swsu

.

基于51单片机MAX6675的热电偶智能体温度检测proteus仿真程序设计相关推荐

  1. 【033】基于51单片机的步进电机角度测量与速度设定Proteus仿真设计

    一.压缩包资料内容 (1).基于51单片机的步进电机角度测量与速度设定proteus仿真设计一份: (2).基于51单片机的步进电机角度测量与速度设定proteus仿真设计keli源代码一份: (3) ...

  2. 基于51单片机的温湿度光强二氧化碳气体家庭环境检测proteus仿真

    硬件设计 仿真图1: 该设计是基于51单片机的温湿度光强二氧化碳检测系统,由LCD1602作为显示器,温湿度采用的SHT11传感器,ADC采用的TLC2543,光强就是光敏传感器,气体检测这里采用的是 ...

  3. 基于51单片机八路抢答器课程设计(含proteus仿真图及代码)

    一.设计要求: 1.可满足8个选手的抢答 2.具有主持者控制开关,用来控制系统清零和抢答开始 3.抢答器具有数据锁存功能.显示功能和声音提示功能 4.抢答开始后,若有选手按动抢答器按钮,编号立即锁存, ...

  4. 基于51单片机的数字电容容值测量仪proteus仿真原理图PCB

    功能介绍: 0.本系统采用STC89C52作为单片机 1.系统支持15pF~450uF电容测量 2.按键可更改测量量程 3.除了采用LCD1602可以实时显示测量参数,同时具有LED可以显示各个档位 ...

  5. 基于51单片机的万年历(带温湿度)带闹钟功能proteus仿真原理图PCB

    功能介绍: 0.本系统采用STC89C52作为单片机 1.LCD1602液晶显示当前时间和温湿度 2.按键可切换页面,显示农历,显示闹钟设置 3.当时间到达设定闹钟时间时,蜂鸣器报警 原理图: PCB ...

  6. 基于51单片机的三路超声测距仪设计wifi通信proteus仿真原理图PCB

    功能介绍: 0.本系统采用STC89C52作为单片机 1.LCD1602液晶实时循环显示3路超声波探测距离,同时WIFI串口上报 2.带有WiFi模块,可与手机实现数据交互,WiFi模块型号采用是常见 ...

  7. 基于51单片机的温度甲烷监测报警串口上报proteus仿真原理图PCB

    功能介绍: 0.本系统采用STC89C52作为单片机 1.LCD1602液晶实时显示当前温度和甲烷浓度 2.超过甲烷浓度阈值,蜂鸣器报警 3.按键可更改甲烷浓度阈值上限和启动/暂停检测 4.0`20% ...

  8. 基于51单片机的大棚环境土壤湿度光强监测系统proteus仿真原理图PCB

    功能介绍: 0.本系统采用STC89C52作为单片机 1.系统实时监测当前温湿度/土壤湿度/环境光强并显示 2.温湿度超过设定阈值范围,蜂鸣器响,同时开启对应控制继电器 3.土壤湿度低于设定下限,开启 ...

  9. 基于51单片机的贪吃蛇小游戏8X8点阵 proteus仿真原理图程序

    硬件设计 基于C51作为MCU 一块8X8点阵作为游戏的显示器 四个按键作为操控按键 仿真图: 程序设计 #include <at89x51.h> #include "18b20 ...

最新文章

  1. OpenCV 笔记(09)— 常用的数据结构和函数(Vec、Point、Scalar、Size、Rect、cvtColor)
  2. Android selector 使用注意.
  3. XamarinAndroid组件教程设置动画的设置插值器
  4. 关于MYSQL 的 AUTO-INC Locks
  5. (vue基础试炼_03)使用vue.js实现TodoList
  6. python-虚拟环境的作用
  7. oracle里子连接查询,pc端页面滚动到底部加载更多数据......
  8. 特征筛选5——距离相关系数筛选特征(单变量筛选)
  9. 【spark】Spark的介绍、安装以及配置相关介绍
  10. 洞穴辐射(radiation)
  11. Chrome无法使用Unity Web Player的解决方案
  12. 【HTML5】创造一款成功HTML5游戏的完整指南
  13. 卷积神经网络与深度学习
  14. 项目启动阶段的主要工作
  15. 电脑使用VMware安装Android系统
  16. 开封文化艺术职业学院学报杂志社开封文化艺术职业学院学报编辑部2022年第4期目录
  17. 三创赛优秀作品_厉害了!珠海这所学校的大学生夺得“三创赛”全国总决赛一等奖...
  18. react获取当前路由
  19. 手机摄像头当电脑摄像头的软件
  20. mv150us无线网卡驱动linux,水星MW150US2.0驱动-水星MW150US无线网卡驱动下载v2.0 官方最新版-西西软件下载...

热门文章

  1. PLSQL入门与精通(第81章:利用游标进行递归调用的时候游标数超标问题)
  2. VC++中利用/GS开关防止缓冲区溢出
  3. qnx与linux区别,实时Linux和RTOS进行比较
  4. 咬文嚼字的有趣例子_咬文嚼字的古今中外的例子
  5. FusionCompute8.0.0 实验(3)安装windows虚拟机
  6. 安卓强制恢复出厂_手机恢复出厂设置,真能“流畅如新机”吗?手机维修师傅道出实情...
  7. Visual Studio 源码文件UTF-8 带签名 格式保存
  8. 建行总行信息技术类09、10、11三年的笔试回忆资料合集
  9. 系统架构师:面试题-1
  10. Professor Hendryx vs. Big Coal