任务实施

更新于 2026年10月10日 版权声明
任务实施

一、任务分析

因为LM35的输出电压是毫伏级,而ADC0808的输入电压范围为0~5 V,虽然在ADC0808的电压允许范围内,但电压信号较弱,直接进行模数转换会导致数字量太小、精度低等问题,因此需要经过放大后再输入到ADC0808进行转换。LM35的输出电压范围为0~0.8 V,放大5倍后,输出电压为0~4 V,在ADC0808的输入电压范围0~5 V内,LM35温度传感器的测温范围为0~80 ℃,完全可以满足日常生活的需要,所以设计放大倍数为5倍。

二、程序设计

程序执行流程图如图8-1-5所示。

参考程序:

#include<reg51.h>

#include<math.h>

#include<stdio.h>

#define uchar unsigned char

#define uint unsigned int

#define DATA_PORT P1      //定义宏变量DTAT_POTR来存放P1端口的数据

unsigned char temp[10]={'0','0','.','0','C'};  //定义字符数组 temp 来装温度

unsigned char array[16]="temperature:"; //定义字符数组array来装字符串

unsigned int frt,scn;

sbit RS = P2^0;

sbit LCDRW = P2^1;

sbit EN = P2^2;

sbit START = P2^3;

sbit ALE = P2^4;

sbit EOC = P2^5;

sbit OE = P2^6;

sbit clk = P2^7;

图示(https://www.daowen.com)

图示

图8-1-5 程序流程图

图示

图示

图示

三、电路仿真

1.绘制电路图

启动Proteus软件,创建“LM35”文件,放置元器件,所需元件见表8-1-2。把所需元器件放置完后,连接电路,完成后的电路图如图8-1-6所示。

2.编写程序

打开Keil软件,新建“LM35ADC0808”工程文件,新建“LM35adc0808.c”文件,编写程序,并生成LM35adc0808.hex文件。编写完成后的部分程序如图8-1-7所示。

表8-1-2 元件清单

图示

图示

图8-1-6 绘制电路图

图示

图8-1-7 编写程序

3.电路仿真

双击“AT89C51”元件,打开“编辑元件”对话框,可以直接在“Clock Frequency”后进行频率设定,设定单片机的时钟频率为12 MHz。在“Program File”栏中选择已经生成的“LM35adc0808.hex”文件,导入单片机中,然后单击“确定”按钮保存,单击“仿真”按钮进行单片机的仿真,仿真结果如图8-1-8所示。

图示

仿真视频

图示

图8-1-8 仿真结果

仿真结果显示:当LM35模拟温度传感器的温度调到50.0 ℃时,1602显示模块将在第一行显示“temperature:”,第二行第七个字符处开始显示50.1 ℃,基本达到设计要求。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)