51单片机热敏电阻测温
目录具体实现功能设计介绍51单片机简介资料内容原理图和PCBAD19仿真实现protues8.7程序Keil5全部资料资料获取具体实现功能由51单片机热敏电阻TLC2543AD模块LCD1602显示屏报警模块电源等构成具体功能1LCD1602显示测得的温度值与设定的温度范围2按键可以设定温度范围3超过设定的温度范围相应指示灯亮蜂鸣器响。仿真/实物演示视频51单片机热敏电阻测温设计介绍51单片机简介51单片是一种低功耗、高性能CMOS-8位微控制器拥有灵巧的8位CPU和可编程Flash使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。本设计所使用的芯片可兼容以下所有的51系列单片机包括AT系列和STC系列。资料内容原理图和PCBAD19本系统原理图和PCB设计采用Altium Designer19具体如图。注1请使用Altium Designer19直接打开资料中的工程文件资料中已说明打开方式注2此设计需按照原理图制作实物不可直接烧录到任何开发板中运行需要修改程序仿真实现protues8.7本设计利用protues8.7软件实现仿真设计具体如图。注1请使用protues8.7直接打开资料中的工程文件资料中已说明打开方式注2由于仿真软件限制仿真设计和实物设计无法百分百对应程序Keil5本设计利用KEIL5软件实现程序设计。主函数如下/////////////////******************************************************************** * 名称 : void main() * 功能 : 系统主程序 * 输入 : 无 * 输出 : 无 ***********************************************************************/ void main() { float Rad; //生成运算暂存变量 LCD1602_cls();//LCD1602初始化程序调用 TMOD0x01; //定时器0初始化配置 TH00x4c; TL00x00; //定时初值赋值 ET01; //定时器0中断打开 TR01; //打开定时器0 EA1; //打开总中断 temp_hbyte_read(0x2000); //读取EEPROM中存储的温度上下限值 temp_lbyte_read(0x2200); if(temp_h99||temp_l99||temp_ltemp_h) //判断读取的温度上下限值是否错误 如果是 则重新赋值 { temp_h30; temp_l10; } while(1) { zhi(float)read2543(0)/819.0; //计算电压值 Radzhi/((5.0-zhi)/10000.0); //计算热敏电阻当前阻值 temp(int)((temp * 0.5) (TempCalculate(Rad,3950.0,0,10000.0) * 0.5)*10);//求出当前系统的当前温度 show(); //显示函数 key(); //按键处理程序 proc(); //超限处理程序 } }程序运行结果如图注请使用KEIL C51直接打开资料中的工程文件资料中已说明打开方式全部资料全部资料包括原理图和PCB源文件(AD19)、程序(Keil5)、protues仿真(protues8.7)、设计报告(仅供参考)、仿真视频、开发资料、仿真视频、单片机最小系统介绍等全网最全资料内容如下图所示资料获取https://docs.qq.com/doc/DT2t6Z25hdVVqRXNu