历史上的今天
返回首页

历史上的今天

今天是:2024年09月10日(星期二)

正在发生

2020年09月10日 | 基于单片机+pt100热敏电阻的体温计

2020-09-10 来源:51hei

采用热敏电阻pt100设计温度传感电路,温度传感电路通过放大电路进行放大后加载到A/D转换模块(ADC0804),以AT89C51单片机为主控制端,外接晶振电路满足各模块时序,最终通过7段数码管进行温度显示

单片机源程序如下:

#include

#include

#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};

  

//启动AD转换子程序//////////////////

void start_ad(void)

{       cs=0;                 //允许AD

        wr=0;

        _nop_();

         wr=1;                //WR由低变高时启动AD转换

        

        while(intr);          //等待转换完成,低电平有效

        cs=1;                 //停止AD转换

}////////////////////

read_ad()

{       uint ad_data;

        ad0_7=0xff;

        cs=0;                 //允许读       

        rd=0;                 //读取转换数据结果

        _nop_();

        ad_data=ad0_7;         //把数据存到AD——data中

        rd=1;cs=1;            //停止读取AD

        return(ad_data);

}

// 数据处理函数

//实际测量当0度时,AD数据为133,所以数据处理时判断AD数据和133的大小来识别正负温度。

//由于ADC芯片精度不够,所以测量时有误差,8位AD的分辨率为19.5mV,约为20mV,

//放大电路输出的电压,温度每变化一度,电压变化只有10mV左右,所以测量有误差,

//以下温度和AD数据的计算公式为实测数据后线性拟合得到的,实际线性拟合得到公式为:y=0.503x+133.63.

//因为AD数据为0-255的整数,所以公式简化为以下计算方式

void data_shout(uint ad_data)

{      

         float  temp;

         uint T;


                if(ad_data<79)

               {

                   temp=614.422-7.811*ad_data;

                 T=(uint)temp;

                 dat_AD[0]=10;

               }                            //负温度   dat_AD[0]中为温度符号数据

                else if(ad_data<=204)

               {

                   temp=7.990*ad_data-628.491;

                 T=(uint)temp;

                 dat_AD[0]=T/1000;

               }                             //正温度


                else if(ad_data>204)

               {

                 temp=8.124*ad_data-655.742;

                 T=(uint)temp;

                 dat_AD[0]=T/1000;

               }                                        //ad_data=T;

               

               dat_AD[1]=T%1000/100;              //温度值的十位

         dat_AD[2]=T%100/10;          //2温度值的个位

         dat_AD[3]=T%10;          //温度值的小数位


}

//显示函数

void disp(){


        switch(i){

                case 0: P0=0xfe;P3=led[dat_AD[0]];i++;break;         //显示符号位

                case 1: P0=0xfd;P3=led[dat_AD[1]];i++;break;

                case 2: P0=0xfb;P3=led[dat_AD[2]]|0x80;i++;break;

                case 3: P0=0xf7;P3=led[dat_AD[3]];i=0;break;


        }

}


//定时器初始化

//用作数码管显示的刷新

void t0init(){

        TMOD=0x01;

        TH0=(65535-2000)/256;           //定时20ms时间

        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();             //开始AD

        data_shout(read_ad());           //数据处理

     }

}

推荐阅读

史海拾趣

Aplus Flash Technology Inc公司的发展小趣事

随着全球环保意识的提高,电子行业对环保的要求也越来越高。Aplus Flash Technology Inc公司积极响应环保号召,将环保理念融入产品设计和生产过程中。公司研发出了一款低能耗、环保型的闪存芯片,不仅降低了产品的能耗和碳排放,还提高了产品的可回收利用率。这一创新举措得到了消费者的广泛认可和支持,也为公司在市场上树立了良好的环保形象。

DIALIGHT公司的发展小趣事

随着业务的不断发展和市场的不断扩大,DIALIGHT公司逐渐实现了全球化布局。他们在美国、英国、丹麦、德国、马来西亚、新加坡、澳大利亚、墨西哥和巴西等地设立了分支机构或办事处,为全球客户提供及时、高效的服务。此外,DIALIGHT还积极寻求与其他企业的合作与共赢,通过战略合作协议的签署,为双方带来新的业务机遇和合作空间。这些举措不仅增强了DIALIGHT的市场竞争力,也为其未来的发展奠定了坚实的基础。

请注意,由于篇幅限制,以上三个故事仅为DIALIGHT公司发展历程的简要概述。如需更详细的信息和更多故事,建议查阅相关资料或访问公司官网。

Amecon Magnetics公司的发展小趣事

随着电子行业的快速发展,对高性能磁性材料的需求日益增长。Amecon Magnetics公司敏锐地捕捉到这一市场机遇,加大了在技术研发上的投入。通过不断的技术创新,公司成功开发出一系列具有高性能、高稳定性的磁性材料产品,满足了市场对于高质量磁性材料的需求,从而赢得了客户的信任和市场的认可。

Chemtronics公司的发展小趣事

Chemtronics一直坚守严格的质量标准。公司自早期起就遵循ISO9001:2000的质量标准来制造产品,确保每一款产品都达到同等高质量。这种对质量的坚持不仅赢得了客户的信任,也为公司在竞争激烈的电子行业中树立了良好的口碑。

乾坤(Cyntec)公司的发展小趣事

随着科技的不断进步,电子行业的发展日新月异。乾坤公司意识到,要想保持领先地位,就必须不断进行技术创新。于是,公司加大了对研发团队的投入,引进了一批高水平的科研人才,并与多所高校和研究机构建立了紧密的合作关系。在一次偶然的实验中,研发团队发现了一种新型材料,可以显著提升电子元器件的性能。经过一系列严格的测试和验证,这种新材料被成功应用于产品生产中,使得乾坤的电子元器件在性能上实现了质的飞跃。这一技术创新不仅为公司带来了丰厚的利润,更让乾坤在电子行业中声名鹊起。

Coil-Q Corporation公司的发展小趣事

随着全球环保意识的提高,Coil-Q积极响应绿色发展的号召,将环保理念融入公司的生产和经营中。公司投入大量资金研发环保材料和技术,优化生产工艺,降低能耗和排放。同时,Coil-Q还积极参与环保公益活动,推动行业的绿色转型。

问答坊 | AI 解惑

【新品推荐】低阻MOS管 8205A

Gem micro semiconductor Inc.  GM8205A Pb free Pb Dual N-Channel High Density Trench MOSFET (20V, 6.0A) PRODUCT SUMMARY VDSS  ID  RDS(on) (m-ohm) Max 28 @ VGS =4.0V, ID=6.0A ...…

查看全部问答>

公司又要裁员了

昨天公司研发中心开会,说要搞末尾淘汰制,非要我把手下的兄弟搞个排序,供领导裁人。现在的公司,目光很短浅,需要人的时候,就把人给招进来,招进来有不给人好好的工作,三天两天出个制度,这样考评,那样绩效,领导工作搞的不好,问题全是普通员 ...…

查看全部问答>

BENQ M32 AT$DESTINFO 命令出错

我已经能让模块登陆网络,并能获取到模块登陆的IP地址,但是使用BENQ M32 AT$DESTINFO 链接服务器的时候出错 不知道怎么回事? AT+CGDCONT=1,\"IP\",\"CMNET\" OK AT%CGPCO=1,\"PAP,,\", 1 OK AT$DESTINFO=\"115.46.37.254\" ,1,1029 EXT: I ...…

查看全部问答>

2440SD卡开发求助

不知道怎么回事,俺第一次做SD卡,但是碰到了很大麻烦。 用ADS裸机测试程序没有问题。 但是弄到PB下面却不行了(微软的驱动)-------看不见SD卡盘符,串口打印信息也有问题。 平台描述 2440+512M nand flash+1G MicroSD卡 wince5.0+由4.2升至5 ...…

查看全部问答>

GPS 模块 1pps的时间同步问题

请教各位大虾:            GPS模块里1PPS的上升沿和串口收到的信息是同步的还是有些时间差?先后时间顺序是啥关系?         如何保证收到的时间和1pps上升沿同步? ...…

查看全部问答>

无操作系统的lwip移植求助

tcp_recved: recveived 2 bytes, wnd 4096 (0). blankname!----A   123.txt----A   432.txttcp_write(pcb=20006e88, data=20009258, len=30, apiflags=0) tcp_enqueue(pcb=20006e88, arg=20009258, len=30, flags=0, apiflag ...…

查看全部问答>

关于32.768KHz晶振和专用时钟芯片

在超低功耗时钟DIY的过程中,大家对于时钟源经行过讨论,这个时钟所用到的时钟源到底是使用32768Hz的晶体还是使用专用的时钟芯片比如DS1302。最后我们选定的方案是带上DS1302用于时钟的校对,这个考虑主要是出于时钟的准确的考虑,但是这样一来就多 ...…

查看全部问答>

浅析视频会议终端系统市场动态与前景

浅析视频会议终端系统市场动态与前景2012年06月11日   投影时代       视频会议终端市场正面临着巨大的转变。几年以前,机顶盒和移动系统在视频会议市场中占据了主导地位,它们主要都是通过ISDN连接,然而当今的市 ...…

查看全部问答>

对特权的按键消抖程序的理解

昨天上午看的视频,特权的按键消抖,想了好久,到现在终于弄明白了,下面是我理解的方式: 先上他的程序: module key_led(clk,rst_n,sw1_n,sw2_n,sw3_n,      led_d3,led_d4,led_d5,   Q1,Q2,Q3,Q4,Q5, ...…

查看全部问答>

JPEG算法库在DM6437上的应用实例

JPEG算法库在DM6437上的应用实例见附件…

查看全部问答>