【51单片机】【protues仿真】基于51单片机热敏电阻数字温度计数码管系统
目录
一、主要功能
二、使用步骤
三、硬件资源
四、软件设计
五、实验现象
一、主要功能
1、数码管液晶显示热敏电阻测量温度
2、温度测量范围-60-125摄氏度
二、使用步骤
基于51单片机的热敏电阻数字温度计数码管系统采用热敏电阻作为温度传感元件,通过ADC转换器将模拟信号转换为数字信号,最终在数码管上显示温度值。该系统结构简单、成本较低,具有良好的稳定性和可靠性。
三、硬件资源
1、51单片机核心模块
2、按键模块
3、热敏传感器模块
4、数模转换模块
5、数码管显示模块
四、软件设计
#include<reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define ad0_7 P1 //AD数据口
sbit cs=P2^4; //片选信号,低电平有效,控制芯片的启动和结果读取
sbit rd=P2^7; //读数据控制,低电平有效
sbit wr=P2^6; //AD启动控制,上升沿有效
sbit intr=P2^5; //AD转换完成输出低电平
uchar i;
uchar led[11]={ 0x3F, //"0"
0x06, //"1"
0x5B, //"2"
0x4F, //"3"
0x66, //"4"
0x6D, //"5"
0x7D, //"6"
0x07, //"7"
0x7F, //"8"
0x6F, //"9"
0x40, //"-"
};
uchar dat_AD[4]={0};
void t0init(){
TMOD=0x01;
TH0=(65535-2000)/256;
TL0=(65535-2000)%256;
EA=1;
ET0=1;
TR0=1;
}
//定时器中断函数,在中断中刷新数码管显示
void Time0( ) interrupt 1{
TH0=(65535-2000)/256;
TL0=(65535-2000)%256;
disp();
}
//主函数
void main(void){
t0init();
while(1){
start_ad();
data_shout(read_ad());
}
}
五、实验现象
演示视频:
【51单片机-B070】【protues仿真】基于51单片机热敏电阻数字温度计数码管仿真


