历史上的今天
返回首页

历史上的今天

今天是:2024年12月24日(星期二)

正在发生

2020年12月24日 | 单片机+ADC0832热电阻PT100测温程序

2020-12-24 来源:51hei

单片机源程序如下:

#include

#include

#define uchar unsigned char

#define uint unsigned int

sbit cs=P1^2;

sbit clk=P1^0;

sbit di=P1^1;

uchar num,num1,i,a,b,c,e,f,g;

int wendu;

sbit we = P2^7;        //位定义数码管位选锁存器接口

sbit du = P2^6;        //位定义数码管段选锁存器接口


sbit pay_plus=P1^4;            

sbit pay_minus=P1^3;        

sbit confirm=P1^5;           



sbit LED=P1^6;


int TimerCount=0,time_count=0;

int L_set_wendu=0;

int H_set_wendu=20;

bit   confirm_scan=1;

bit   pay_plus_scan=1;

bit   pay_minus_scan=1;

//数码管段选表

uchar code leddata[]={


                0x3F,  //"0"

                0x06,  //"1"

                0x5B,  //"2"

                0x4F,  //"3"

                0x66,  //"4"

                0x6D,  //"5"

                0x7D,  //"6"

                0x07,  //"7"

                0x7F,  //"8"

                0x6F,  //"9"

                0x40,  //"-"

                0x00,  //熄灭

                0x00  //自定义


                         };

void delay(unsigned long x)

{

        uchar y;

        for(;x>0;x--)

                for(y=110;y>0;y--);

}

uchar ADC0832()

{

        cs=1;

        clk=0;

        cs=0;

        di=1;

                  

        clk=1;   

        clk=0;

        di=1;


        clk=1;

        clk=0;

        di=0;


        clk=1;

        clk=0;

        di=1;

        for(i=0;i<8;i++)

        {

                clk=1;   

                clk=0;

                num=num<<1;  

                num|=(uchar)di;

        }

        cs=1;      

        return num;        

}


int SG=0;

void Key()

{

   

  if(confirm!=confirm_scan)

                {               

                        if(confirm==0)  //下降沿

                        {   SG++;

//                                step++;        

                 if(SG>=3)

                                            SG=0;

                        }

                       confirm_scan=confirm;               

                }

}


void Timer0_Init(void)

{

        TMOD |= 0x01;  

    TH0=(65536-50000)/256;

        TL0=(65536-50000)%256;

        EA = 1;

        ET0 = 1;

        TR0 = 1;

}


void main()

{

        pay_plus=1;            

    pay_minus=1;        

    confirm=1;  

        Timer0_Init();

        while(1)

        {Key();

                ADC0832();

                if(num<=38)

                        wendu=num-69;

                if(num>38&&num<=70)

                        wendu=num-70;

                if(num>70)

                        wendu=num-71;

        if(SG==0)

        {

        if(wendu>=0)

                {

                        a=wendu/100;

                        b=wendu%100/10;

                        c=wendu%10;

                        if(a>0)

                        {

                                P0 = 0xfd;//1111 1101  只选通第二位数码管

                                we = 1;        //打开位选

                                we = 0;        //关闭位选

                                

                                P0 = leddata[a]; //显示2

                                du = 1;//打开段选

                                du = 0;        //关闭段选

                                delay(2);//延时

                        }

                        if(a!=0||b>0)

                        {

                                P0 = 0xfb;// 1111 1011只选通第三位数码管

                                we = 1;        //打开位选

                                we = 0;        //关闭位选

                                

                                P0 = leddata[b]; //显示3

                                du = 1;//打开段选

                                du = 0;        //关闭段选

                                delay(2);//延时

                        }

                        P0 = 0xf7;//1111 0111  只选通第四位数码管

                        we = 1;        //打开位选

                        we = 0;        //关闭位选

                        

                        P0 = leddata[c]; //显示4

                        du = 1;//打开段选

                        du = 0;        //关闭段选

                        delay(2);//延时

                }

        }

        

        if(SG==1)    //设定上限报警

        {            

                            P0 = 0xfe;//1111 0111  只选通第二位数码管

                                we = 1;        //打开位选

                                we = 0;        //关闭位选

推荐阅读

史海拾趣

Dau Semiconductor Inc公司的发展小趣事

Dau Semiconductor Inc公司成立于XXXX年,由几位在半导体行业拥有多年经验的工程师创立。当时,他们意识到在快速发展的电子行业中,高性能、低功耗的半导体芯片有着巨大的市场需求。于是,他们决定依托自己在半导体设计和制造方面的技术积累,创办Dau Semiconductor Inc公司,专注于研发和生产高性能的半导体芯片。

诚芯微(CXW)公司的发展小趣事

在2020年,诚芯微与BYD、小米、公牛等知名企业建立了战略合作伙伴关系,共同推动电源芯片在汽车电子、智能家居等领域的应用。通过与这些行业巨头的合作,诚芯微不仅拓展了市场渠道,还提升了品牌影响力。同时,公司还加大了对新能源汽车电源管理芯片的研发力度,为新能源汽车产业的发展提供了有力支持。

EUDYNA公司的发展小趣事

在半导体行业,技术创新是企业保持领先地位的关键。EUDYNA一直致力于技术创新和研发投入,不断推出具有领先性的新产品和解决方案。公司的研发团队由一群经验丰富、技术精湛的专业人才组成,他们紧跟行业发展趋势和市场需求变化,不断探索新的技术和应用。通过技术创新,EUDYNA在半导体行业保持了领先地位,并为整个行业的发展做出了重要贡献。

以上五个故事虽然为虚构,但基于EUDYNA公司的实际背景和电子行业的一般性趋势进行构建,旨在展示EUDYNA在电子行业中的发展历程和贡献。

ASI [ASI Semiconductor, Inc]公司的发展小趣事

为了进一步提升产品质量和客户满意度,ASI积极寻求ISO 9001认证。经过严格的审核和准备,ASI最终成功获得了这一国际公认的质量管理体系认证。这一认证不仅证明了ASI在质量管理方面的卓越表现,还为其在全球商用和军用通信领域占据领先地位提供了有力保障。

CLARE公司的发展小趣事

CLARE公司的创业之路始于对电子行业深厚的技术积累和敏锐的市场洞察力。公司的创始人凭借其深厚的专业知识和经验,准确把握了行业的发展趋势,成功开发了一系列具有竞争力的电子产品。这些产品在市场上获得了良好的反响,为CLARE公司奠定了坚实的技术和市场基础。

CTS [CTS Corporation]公司的发展小趣事

在追求商业成功的同时,CTS也高度重视可持续发展和社会责任。公司致力于推动绿色生产和环保理念,采用环保材料和节能技术,减少对环境的影响。此外,CTS还积极参与社会公益活动,回馈社会,为社区的繁荣和发展贡献力量。

这些故事框架仅是对CTS Corporation公司可能的发展历程的一种推测和概述,具体的细节和内容需要根据实际情况进行补充和完善。希望这些框架能够为您撰写具体的发展故事提供一些灵感和帮助。

问答坊 | AI 解惑

奥运

             660万颗LED芯片编织“水立方之眼”                    红、绿、蓝LED平均输出为16流明瓦特      &n ...…

查看全部问答>

NANDFLASH驱动无法装入分区问题

各位大侠,您们好。小弟刚刚接触WinCE,在公司进行NANDFLASH驱动开发,遇到相关问题,痛苦了几天没有解决,希望各位大侠能够帮助小弟解决该问题,问题是这样的: 我用Wince4.2,直接把同事已经编译通过的NANDFLASH驱动源代码(nand.cpp)添加到该项 ...…

查看全部问答>

web service在嵌入式设备中被调用,使用的wince模拟器实现,但是在模拟器中出现了网络连接问题,请高手解决以下

web service在嵌入式设备中被调用,使用的wince模拟器实现,但是在模拟器中出现了网络连接问题,请高手解决以下 通过google的一个key在嵌入式设备中调用了一个serviece的aqi,在用模拟器模拟时出现了下面的问题,有人能解决一下不~ Google.exe W ...…

查看全部问答>

求 linux 下 qt2.3.2 的下载地址

求 linux 下 qt2.3.2 的下载地址 ,也可以发到我的邮箱 tan10040622@126.com…

查看全部问答>

ASTAT9调压器问题

宝钢一台行车,调速装置选用的是ABB公司的ASTAT9,现使用过程中存在以下问题:行车大车是双电机运行,在大车运行时,起动的时候都很平稳,很正常,但是在停车的时候就抖动非常厉害,经查外部回路也没异常,测速发电机的电压也正常,是不是ASTAT9内 ...…

查看全部问答>

基于FPGA的DA数模转换

本帖最后由 paulhyde 于 2014-9-15 03:40 编辑 如何在FPGA上设计DA数模转换电路?(就是在FPGA的芯片上实现DA转换功能)求大侠们给小弟说一下!  …

查看全部问答>

【国赛专贴】MSP430讨论贴

大家有多少人在国赛中使用MSP430呢?遇到问题,就开贴提出来吧!众坛友们再线讨论,帮你排忧解难!还等什么呢?把你纠结的地方提出了吧!…

查看全部问答>

求助啊 电脑耳机孔输出的信号怎样转成电信啊接到ADC0809的输入端

求助啊 电脑耳机孔输出的信号怎样转成电信啊接到ADC0809的输入端啊,…

查看全部问答>

BGA测试座

BGA/LGA/CGA/QFN/QFP高频测试插座产品分球形出脚(SMT)和针形出脚及接触式三种设计.球形出脚的BGA插座系统主要适用于芯片的测试及开发等.该插座系统的特点是不用在PCB板上开孔,BGA插座的焊接方法和BGA芯片的焊接方法完全一样.同时如果在客户的目标 ...…

查看全部问答>

光检测电路的疑问

1 功能说明    对光的强度进行检测,也是iv转换电路。 2 电路描述:    运放356是用双电源供电,同相反相 分别接光电池的下正负端。详见上传图 3 测试点:            A、B、C、 ...…

查看全部问答>