找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6580|回复: 20
打印 上一主题 下一主题
收起左侧

ds18b20求改成stc12c5a60s2能运行的

[复制链接]
跳转到指定楼层
楼主
ID:111101 发表于 2016-10-19 22:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
100黑币
这是51的程序,里面ds18b20在stc12c5a60s2运行不好使,求给改一下。把温度那注释一下,谢谢。原:at89c51+ds18b20+lcd12864。
改:stc12c5a60s2+ds18b20+lcd12864。



#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit T_IO=P2^1;   
sbit T_RST=P2^2;   
sbit T_CLK=P2^0;
sbit k1=P2^4;
sbit k2=P2^5;
sbit shu=P2^3;
sbit k3=P2^6;
sbit D=P2^7;
sbit rs=P1^0; //数据/指令选择
sbit rw=P1^1; //读写选择
sbit e=P1^2;  //读写使能
sbit psb=P1^3; //串并口选择

void delay(uint z)
{
    uint u,a0;
    for(u=z;u>0;u--)
        for(a0=124;a0>0;a0--);       
}
uchar code tables[]="新的一天,新的开始,早睡早起身体好!";
uchar code table[]="0123456789";
uchar code we[]="年月日星期温度*C:.";
uchar code uu[]="定时小时制铃声";
uchar miao,fen,shi,yue,ri,nian,xq,
                        eshi,efen,emiao,dshi,dfen,dmiao,count,time,temp;
uchar nian1,nian2,yue1,yue2,ri1,ri2,y,c,pp,mb,j,sc,fp,ko,
        shi1,shi2,fen1,fen2,miao1,miao2;
uchar w1,w2,w3,m1,nb,op,ss,u,vv,s1,aa,w,x,k,m,cb;
uint a;
uchar code week_code[]={0,3,3,6,1,4,6,2,5,0,3,5};
void Write1302(unsigned char ); //向1302写一个字节数据
void WriteSet1302(unsigned char ,unsigned char );//根据命令字,向1302写一个字节数据
unsigned char Read1302(void);//从1302读一个字节数据
unsigned  char  ReadSet1302(unsigned char Cmd);//根据命令字从1302读取一个字节数据
void InitDS1302(void);//初始化1302
void dingshi();
void xiao();
void xiaoshi();
void sh();

void Conver_week()
{
        uchar temp1,temp2,year,month,day;       
        year=nian&0x7f;
        month=yue;
        day=ri;
        if(nian>>7==0)
        {
                year+=0x64;
        } //如果为21世纪,年份数加100
        temp1=year/0x4; //所过闰年数只算1900年之后的
        temp2=(year+temp1)%0x7; //为节省资源,先进行一次取余,避免数大于0xff
        temp2=temp2+day+week_code[month-1];
        if(year%0x4==0&&month<3)temp2-=1; //如果是闰年但不到3月则减一天
        xq=temp2%0x7; //将星期数据写到指定星期变量Tim[9]
}
void Write1302(uchar dat)//向1302写指令
{
    uchar i;
    T_CLK=0;            //拉低T_CLK,为脉冲上升沿写入数据做好准备
    for(i=0;i<8;i++)      //连续写8个二进制位数据
    {
        T_IO=dat&0x01;    //取出dat的第0位数据写入1302
        T_CLK=1;           //上升沿写入数据
        T_CLK=0;           //重新拉低T_CLK,形成脉冲
        dat>>=1;          //将dat的各数据位右移1位,准备写入下一个数据位
    }   
}

void WriteSet1302(uchar Cmd,uchar dat)
{
    T_RST=0;           //禁止数据传递
    T_CLK=0;          //确保写数居前T_CLK被拉低
    T_RST=1;           //启动数据传输
    Write1302(Cmd);  //写入命令字
    Write1302((dat/10<<4)|(dat%10));  //写数据
    T_CLK=1;          //将时钟电平置于已知状态
    T_RST=0;           //禁止数据传递
}
uchar Read1302(void)
{
    uchar i,dat;
    for(i=0;i<8;i++)   //连续读8个二进制位数据
    {
        dat>>=1;       //将dat的各数据位右移1位,因为先读出的是字节的最低位
        if(T_IO==1)    //如果读出的数据是1
        dat|=0x80;    //将1取出,写在dat的最高位
        T_CLK=1;       //将T_CLK置于高电平,为下降沿读出
        T_CLK=0;       //拉低T_CLK,形成脉冲下降沿
     }     
    return dat;        //将读出的数据返回
}

uchar  ReadSet1302(uchar Cmd)
{
    uchar temp,dat1,dat2;
    T_RST=0;                 //拉低T_RST
    T_CLK=0;                //确保写数居前T_CLK被拉低
    T_RST=1;                 //启动数据传输
    Write1302(Cmd);       //写入命令字
    temp=Read1302();       //读出数据
    T_CLK=1;              //将时钟电平置于已知状态
    T_RST=0;               //禁止数据传递
    dat1=temp/16;        //16进制转成BCD
    dat2=temp%16;
    temp=dat1*10+dat2;   //转换成10进制数字
    return (temp);          //将读出的数据返回
}

void delay50us(uint t)
{
        uint j;
        for(t;t>0;t--)
                for(j=19;j>0;j--);       
}
void delay50ms(uint t)
{
        uint j;
        for(;t>0;t--)
                for(j=6245;j>0;j--);       
}

void w12864com(uint com)
{
        rw=0;
        rs=0;
        delay50us(1);
        P0=com;
        e=1;
        delay50us(10);
        e=0;
        delay50us(2);
}
void w12864dat(uint dat)
{
        rw=0;
        rs=1;
        delay50us(1);
        P0=dat;
        e=1;
        delay50us(10);
        e=0;
        delay50us(2);  
}
void initinal()
{
        delay50ms(2);
        w12864com(0x30);
        delay50us(4);
        w12864com(0x30);
        delay50us(4);
        w12864com(0x0c);
        delay50us(4);
        w12864com(0x01);
        delay50us(240);       
        w12864com(0x06);
        delay50us(10);
}
void display()
{
        uchar i;
        w12864com(0x00);
        delay(2);
        w12864com(0x80);//
        w12864dat(table[2]);
        w12864dat(table[0]);

        w12864com(0x82);//年
        for(i=0;i<2;i++)
        {
                w12864dat(we[i]);       
        }       
        w12864com(0x84);//月
        for(i=0;i<2;i++)
        {
                w12864dat(we[i+2]);       
        }
        w12864com(0x86);//日
        for(i=0;i<2;i++)
        {
                w12864dat(we[i+4]);       
        }
        w12864com(0x88);//星期
        for(i=0;i<4;i++)
        {
                w12864dat(we[i+6]);       
        }
        w12864com(0x9b);//温度
        {
                for(i=0;i<4;i++)
                {
                        w12864dat(we[i+10]);       
                }       
        }
        w12864com(0x9f);//*C
        {
                for(i=0;i<2;i++)
                {
                        w12864dat(we[i+12]);       
                }       
        }
        w12864com(0x93);//:::
        for(i=0;i<1;i++)
        {
                w12864dat(we[i+16]);       
        }
        w12864com(0x95);//:::
        for(i=0;i<1;i++)
        {
                w12864dat(we[i+16]);       
        }                       
}
uchar w1,w2,w3,m1;
void yan(uchar a)
{
        while(a--);
}
void fuwei()
{
        shu=1;
        shu=0;
        yan(60);
        shu=1;
        yan(8);
        while(!shu);
}
void xie_byte(uchar a)
{
        uchar i=0;
        for(i=8;i>0;i--)
        {
                shu=1;
                _nop_();_nop_();
                shu = 0;
                _nop_();
                shu = a&0x01;          
                yan(9);
                a>>=1;
        }         
}
uchar du_byte()
{
        uchar i,m;
        for(i=0;i<8;i++)
        {
                shu=1;
                _nop_();_nop_();
                shu = 0; // 给脉冲信号
                m>>=1;
                _nop_();
                shu=1; // 给脉冲信号
                yan(1);
                if(shu)
                m|=0x80;
                yan(9);
        }
        return m;
}
void jingdu()
{
        fuwei();
        xie_byte(0xfe);
        xie_byte(0xff);
        xie_byte(0xff);
        xie_byte(0x3f);
}
uchar du_bit()
{
        uchar dat=0;
        shu=1;
        _nop_();_nop_();
        shu=0;
        _nop_();_nop_();
        shu=1;
        _nop_();_nop_();
        _nop_();_nop_();
        dat=shu;
        return dat;
}
void read18b20()
{
                   fuwei();
                   xie_byte(0xcc);
                   xie_byte(0x44);  
                   while(!du_bit());
                   fuwei();
                   xie_byte(0xcc);
                   xie_byte(0xbe);
                   w1=du_byte();
                   w2=du_byte();
                   w3=w1;
                   w1>>=4;
                   w2<<=4;
                   m1=w1+w2;

                   m1=m1/2;

                   w1=m1/10;   //十位
                   w2=m1%10;   //个位
                   w3&=0x0f;
                   w3*=6.25;
                   w3=w3/10;
}
void main()
{
        initinal();
        display();
        Write1302(0);//向1302写指令
        WriteSet1302(0,0);
        jingdu();

        TMOD=0x11;
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        TH1=(65536-50000)/256;
        TL1=(65536-50000)%256;
        EA=1;
        ET0=1;
        ET1=1;

        sc=1;
        j=1;
        fp=1;
        while(1)
        {

//                delay(5);
                if(y==1)
                {
                        display();
                        y=0;
                }
               

                if(k==1)
                {
                        if(ko==0)
                        {
                                w12864com(0x91);
                                w12864dat(0x41);
                        }
                        if(ko==1)
                        {
                                w12864com(0x91);
                                w12864dat(0x50);
                        }
                }
                else
                {
                        w12864com(0x91);
                        w12864dat(0x02);
                }
                if(aa==1)
                {         
                        w12864com(0x81);
                        for(a=0;a<2;a++)
                        {
                                w12864dat(0x20);                       
                        }
                        delay(80);

                }                               

                        WriteSet1302(0x8e,0x00);
                        nian=ReadSet1302(0x8d);
                        WriteSet1302(0x8e,0x80);
                               
                nian1=nian/10;
                nian2=nian%10;
                w12864com(0x81);
                for(a=0;a<2;a++)                         
                {
                        if(a==0)
                        {
                                w12864dat(table[nian1]);
                        }
                        if(a==1)                                 
                        {
                                w12864dat(table[nian2]);
                        }
                }
                if(aa==2)
                {
                        w12864com(0x83);
                        for(a=0;a<2;a++)
                        {                                                  
                                w12864dat(0x20);       
                        }
                        delay(80);
                }                       


                WriteSet1302(0x8e,0x00);
                yue=ReadSet1302(0x89);
                WriteSet1302(0x8e,0x80);
                yue1=yue/10;
                yue2=yue%10;
                w12864com(0x83);
                for(a=0;a<2;a++)
                {
                        if(a==0)
                        {
                                w12864dat(table[yue1]);
                        }
                        if(a==1)
                        {
                                w12864dat(table[yue2]);
                        }       
                }

                if(aa==3)
                {
                        w12864com(0x85);
                        for(a=0;a<2;a++)
                        {
                                w12864dat(0x20);
                        }
                        delay(80);
                }
                WriteSet1302(0x8e,0x00);
                ri=ReadSet1302(0x87);
                WriteSet1302(0x8e,0x80);
                ri1=ri/10;
                ri2=ri%10;
                w12864com(0x85);
                for(a=0;a<2;a++)
                {
                        if(a==0)
                        {
                                w12864dat(table[ri1]);
                        }
                        if(a==1)
                        {               
                                w12864dat(table[ri2]);
                        }       
                }
                Conver_week();
                w12864com(0x8a);
                if(xq==0)//日
                {
                 w12864dat(0xc8);
                 w12864dat(0xd5);
                }
                if(xq==1)//一
                {
                 w12864dat(0xd2);
                 w12864dat(0xbb);
                }
                if(xq==2)//二
                {
                 w12864dat(0xb6);
                 w12864dat(0xfe);
                }
                if(xq==3)//三
                {
                 w12864dat(0xc8);
                 w12864dat(0xfd);
                }
                if(xq==4)//四
                {
                        w12864dat(0xcb);
                        w12864dat(0xc4);
                }
                if(xq==5)//五
                {
                 w12864dat(0xce);
                 w12864dat(0xe5);
                }
                if(xq==6)//六
                {
                 w12864dat(0xc1);
                 w12864dat(0xf9);
                }
if(aa==4)
{
                w12864com(0x92);
                for(a=0;a<8;a++)
                {
                        if(a==0)
                        {

                                w12864dat(0x20);
                        }
                        if(a==1)
                        {
                                w12864dat(0x20);
                                delay(40);
                        }

                        if(a==2)
                        {
                                w12864dat(0x20);
                        }
                        if(a==3)
                        {
                                WriteSet1302(0x8e,0x00);
                                fen=ReadSet1302(0x83);
                                WriteSet1302(0x8e,0x80);
                                fen1=fen/10;
                                fen2=fen%10;
                                w12864dat(table[fen1]);
                        }
                        if(a==4)
                        {
                                w12864dat(table[fen2]);
                        }
                        if(a==5)
                        {
                                w12864dat(we[16]);
                        }
                        if(a==6)
                        {

                                WriteSet1302(0x8e,0x00);
                                miao=ReadSet1302(0x81);
                                WriteSet1302(0x8e,0x80);
                                miao1=miao/10;
                                miao2=miao%10;
                                w12864dat(table[miao1]);
                        }
                        if(a==7)
                        {
                                w12864dat(table[miao2]);
                        }                                                                               
                }
}
if(aa==5)
{
                w12864com(0x92);
                for(a=0;a<8;a++)
                {
                        if(a==0)
                        {
                                WriteSet1302(0x8e,0x00);
                                shi=ReadSet1302(0x85);
                                WriteSet1302(0x8e,0x80);
                                if(k==1)
                                {
                                         if(shi>=12)
                                         {
                                                 ko=1;
                                                 if(shi>12)
                                                {
                                                        pp=shi;
                                                         pp=pp-12;
                                                        shi1=pp/10;
                                                        shi2=pp%10;          
                                                }
                                                else
                                                {
                                                        shi1=shi/10;
                                                        shi2=shi%10;
                                                }
                                         }
                                        else
                                        {
                                                ko=0;
                                                shi1=shi/10;
                                                shi2=shi%10;
                                        }
                                }
                                else
                                {
                                        shi1=shi/10;
                                        shi2=shi%10;
                                }
                                w12864dat(table[shi1]);
                        }
                        if(a==1)
                        {
                                w12864dat(table[shi2]);
                        }

                        if(a==2)
                        {
                                w12864dat(we[16]);
                        }
                        if(a==3)
                        {
                                w12864dat(0x20);
                        }
                        if(a==4)
                        {
                                w12864dat(0x20);
                                delay(40);
                        }
                        if(a==5)
                        {
                                w12864dat(we[16]);
                        }
                        if(a==6)
                        {

                                WriteSet1302(0x8e,0x00);
                                miao=ReadSet1302(0x81);
                                WriteSet1302(0x8e,0x80);
                                miao1=miao/10;
                                miao2=miao%10;
                                w12864dat(table[miao1]);
                        }
                        if(a==7)
                        {
                                w12864dat(table[miao2]);
                        }                                                                               
                }
}

if(aa==6)
{
                w12864com(0x92);
                for(a=0;a<8;a++)
                {
                        if(a==0)
                        {
                                WriteSet1302(0x8e,0x00);
                                shi=ReadSet1302(0x85);
                                WriteSet1302(0x8e,0x80);
                                if(k==1)
                                {
                                         if(shi>=12)
                                         {
                                                 ko=1;
                                                 if(shi>12)
                                                {
                                                        pp=shi;
                                                         pp=pp-12;
                                                        shi1=pp/10;
                                                        shi2=pp%10;          
                                                }
                                                else
                                                {
                                                        shi1=shi/10;
                                                        shi2=shi%10;
                                                }
                                         }
                                        else
                                        {
                                                ko=0;
                                                shi1=shi/10;
                                                shi2=shi%10;
                                        }
                                }
                                else
                                {
                                        shi1=shi/10;
                                        shi2=shi%10;
                                }
                                w12864dat(table[shi1]);
                        }
                        if(a==1)
                        {
                                w12864dat(table[shi2]);
                        }

                        if(a==2)
                        {
                                w12864dat(we[16]);
                        }
                        if(a==3)
                        {
                                WriteSet1302(0x8e,0x00);
                                fen=ReadSet1302(0x83);
                                WriteSet1302(0x8e,0x80);
                                fen1=fen/10;
                                fen2=fen%10;
                                w12864dat(table[fen1]);
                        }
                        if(a==4)
                        {
                                w12864dat(table[fen2]);
                        }
                        if(a==5)
                        {
                                w12864dat(we[16]);
                        }
                        if(a==6)
                        {
                                w12864dat(0x20);
                        }
                        if(a==7)
                        {
                                w12864dat(0x20);
                                delay(40);
                        }                                                                               
                }       
}                       

                w12864com(0x92);
                for(a=0;a<8;a++)
                {
                        if(a==0)
                        {
                                WriteSet1302(0x8e,0x00);
                                shi=ReadSet1302(0x85);
                                WriteSet1302(0x8e,0x80);
                                if(k==1)
                                {
                                         if(shi>=12)
                                         {
                                                 ko=1;
                                                 if(shi>12)
                                                {
                                                        pp=shi;
                                                         pp=pp-12;
                                                        shi1=pp/10;
                                                        shi2=pp%10;          
                                                }
                                                else
                                                {
                                                        shi1=shi/10;
                                                        shi2=shi%10;
                                                }
                                         }
                                        else
                                        {
                                                ko=0;
                                                shi1=shi/10;
                                                shi2=shi%10;
                                        }
                                }
                                else
                                {
                                        shi1=shi/10;
                                        shi2=shi%10;
                                }
                                w12864dat(table[shi1]);
                        }
                        if(a==1)
                        {
                                w12864dat(table[shi2]);
                        }

                        if(a==2)
                        {
                                w12864dat(we[16]);
                        }
                        if(a==3)
                        {
                                WriteSet1302(0x8e,0x00);
                                fen=ReadSet1302(0x83);
                                WriteSet1302(0x8e,0x80);
                                fen1=fen/10;
                                fen2=fen%10;
                                w12864dat(table[fen1]);
                        }
                        if(a==4)
                        {
                                w12864dat(table[fen2]);
                        }
                        if(a==5)
                        {
                                w12864dat(we[16]);
                        }
                        if(a==6)
                        {

                                WriteSet1302(0x8e,0x00);
                                miao=ReadSet1302(0x81);
                                WriteSet1302(0x8e,0x80);
                                miao1=miao/10;
                                miao2=miao%10;
                                w12864dat(table[miao1]);
                        }
                        if(a==7)
                        {
                                w12864dat(table[miao2]);
                        }                                                                               
                }
               
                read18b20();
                w12864com(0x9d);
                for(a=0;a<4;a++)
                {
                        if(a==0)
                        {
                                w12864dat(table[w1]);
                        }
                        if(a==1)
                        {
                                w12864dat(table[w2]);
                        }
                        if(a==2)
                        {
                                w12864dat(we[17]);
                        }
                        if(a==3)
                        {
                                w12864dat(table[w3]);
                        }                                                       
                }
                if(s1==0)
                {
                        x=0;
                }
                if(k1==0)
                {
                        delay(2);
                        while(!k1==1);
                        s1++;
                        if(s1==5)
                        {
                                s1=0;
                        }
                }
                if(s1==1)//设置时间
                {
                        if(k2==0)       
                        {
                                delay(2);
                                while(!k2==1);
                                aa++;
                                if(aa==7)
                                {
                                        s1=0;
                                        aa=0;                               
                                }                       
                        }
                w12864com(0x91);
                w12864dat(0x20);
                delay(50);
                }
                if(s1==2)//定时
                {
                        if((aa==1)||(aa==2)||(aa==3)||(aa==4)||(aa==5)||(aa==6))
                        {s1--;}
                        if(aa==0)
                        {
                                u=1;
                         dingshi();
                         }
                }

                if(s1==0)//小时制设置
                {
                        if(k2==0)
                        {
                                while(!k2==1);
                                m=1;
                                xiaoshi();
                        }
                }
                if(s1==0)
                {
                         if(k3==0)
                         {
                                while(!k3==1);
                                 w++;                                       
                         }
                 }
                if(w==1)//开定时1
                {
                        w12864com(0x8c);
                        w12864dat(0x41);
                        w12864dat(0x03);
                        w12864com(0x8e);
                        w12864dat(0x20);
                        w12864dat(0x20);

                                w12864com(0x97);
                                w12864dat(0x0e);

                        if(dshi==shi)
                        {
                                if(dfen==fen)
                                {
                                        if(dmiao==miao)
                                        {
                                                if(cb==1)
                                                {
                                                        TR0=1;
                                                }
                                                if(cb==2)
                                                {
                                                        TR1=1;
                                                        sh();
                                                }
                                        }
                                }
                        }                                                                                                                                               
                }
                if(w==2)//开定时2
                {
                        w12864com(0x8c);
                        w12864dat(0x20);
                        w12864dat(0x20);
                        w12864com(0x8e);
                        w12864dat(0x42);
                        w12864dat(0x03);

                                w12864com(0x97);
                                w12864dat(0x0e);
                        if(eshi==shi)
                        {
                                if(efen==fen)
                                {
                                        if(emiao==miao)
                                        {
                                                if(cb==1)
                                                {
                                                        TR0=1;
                                                }
                                                if(cb==2)
                                                {
                                                        TR1=1;
                                                        sh();
                                                }

                                        }
                                }
                        }                                       
                }
                if(w==3)//定时双开
                {
                        w12864com(0x8c);
                        w12864dat(0x41);
                        w12864dat(0x03);
                        w12864com(0x8e);
                        w12864dat(0x42);
                        w12864dat(0x03);

                                w12864com(0x97);
                                w12864dat(0x0e);
                        if(dshi==shi)
                        {
                                if(dfen==fen)
                                {
                                        if(dmiao==miao)
                                        {
                                                if(cb==1)
                                                {
                                                        TR0=1;
                                                }
                                                if(cb==2)
                                                {
                                                        TR1=1;
                                                        sh();
                                                }
                                        }
                                }
                        }
                                                                                               
                        if(eshi==shi)
                        {
                                if(efen==fen)
                                {
                                        if(emiao==miao)
                                        {
                                                if(cb==1)
                                                {
                                                        TR0=1;
                                                }
                                                if(cb==2)
                                                {
                                                        TR1=1;
                                                        sh();
                                                }
                                        }
                                }
                        }                                       
                }
                if(w==4)//定时关
                {
                        w=0;
                        w12864com(0x8c);
                        w12864dat(0x20);
                        w12864dat(0x20);
                        w12864com(0x8e);
                        w12864dat(0x20);
                        w12864dat(0x20);

                        w12864com(0x97);//定时指示
                        w12864dat(0x20);
                }



                if(aa==1)
                {
                        if(k3==0)
                        {
                                while(!k3==1);
                                ss=nian;
                                ss++;
                                if(ss>=100)
                                {ss=0;}
                                WriteSet1302(0x8e,0x00);    //允许写入
                                WriteSet1302(0x8c,ss);
                                WriteSet1302(0x90,0xa6);   //写充电控制寄存器.
                                WriteSet1302(0x8e,0x80);   //禁止写入  
       
                        }
                }
                if(aa==2)
                {
                        if(k3==0)
                        {
                                while(!k3==1);
                                ss=yue;
                                ss++;
                                if(ss>=13)
                                {
                                ss=1;
                                }
                                WriteSet1302(0x8e,0x00);    //允许写入
                                WriteSet1302(0x88,ss);
                                WriteSet1302(0x90,0xa6);   //写充电控制寄存器.
                                WriteSet1302(0x8e,0x80);   //禁止写入  
                        }
                }
                if(aa==3)
                {
                        if(k3==0)
                        {
                                while(!k3==1);
                                ss=ri;
                                ss++;
                                if((yue==1)||(yue==3)||(yue==5)||(yue==7)||(yue==8)||(yue==10)||(yue==12))
                                {
                                        if(ss>=32)
                                        ss=1;
                                }
                                if((yue==4)||(yue==6)||(yue==9)||(yue==11))
                                {
                                        if(ss>=31)
                                        ss=1;
                                }
                                if(yue==2)
                                {
                                        vv=nian%4;
                                        if(vv==0)
                                        {
                                                if(ss>=30)
                                                {
                                                        ss=1;
                                                }
                                        }
                                        else
                                        {
                                                if(ss>=29)
                                                {
                                                        ss=1;
                                                }                                       
                                        }
                                }
                                WriteSet1302(0x8e,0x00);    //允许写入
                                WriteSet1302(0x86,ss);
                                WriteSet1302(0x90,0xa6);   //写充电控制寄存器.
                                WriteSet1302(0x8e,0x80);   //禁止写入  
                        }
                }
                if(aa==4)
                {
                        if(k3==0)
                        {
                                while(!k3==1);
                                if(k==1)//12小时
                                {
                                        if(ko==1)//下午
                                        {
                                                if(shi<12)
                                                {
                                                        shi=shi+12;
                                                }
                                                else
                                                {
                                                        ss=shi;
                                                }
                                        }
                                        else
                                        {
                                                ss=shi;
                                        }
                                }
                                else
                                {
                                        ss=shi;
                                }
                                ss++;
                                if(ss>=24)
                                {ss=0;}
                                WriteSet1302(0x8e,0x00);    //允许写入
                                WriteSet1302(0x84,ss);
                                WriteSet1302(0x90,0xa6);   //写充电控制寄存器.
                                WriteSet1302(0x8e,0x80);   //禁止写入  
                        }
                }
                if(aa==5)
                {
                        if(k3==0)
                        {
                                while(!k3==1);
                                ss=fen;
                                ss++;
                                if(ss>=60)
                                {ss=0;}
                                WriteSet1302(0x8e,0x00);    //允许写入
                                WriteSet1302(0x82,ss);
                                WriteSet1302(0x90,0xa6);   //写充电控制寄存器.
                                WriteSet1302(0x8e,0x80);   //禁止写入  
                        }
                }
                if(aa==6)
                {
                        if(k3==0)
                        {
                                while(!k3==1);
                                ss=miao;
                                ss++;
                                if(ss>=60)
                                {ss=0;}
                                WriteSet1302(0x8e,0x00);    //允许写入
                                WriteSet1302(0x80,ss);
                                WriteSet1302(0x90,0xa6);   //写充电控制寄存器.
                                WriteSet1302(0x8e,0x80);   //禁止写入  
                        }
                }

                       
        }                                                                                                                                               
}
void dingshi()
{
        uchar e1,e2,f1,f2,g1,g2;
        uchar ee,ff,gg,z,es,ww,ab;
        uchar bb1,bb2,cc1,cc2,dd1,dd2;
        uchar bb3,bb4,cc3,cc4,dd3,dd4;
                 c=1;
                 ee=ff=gg=0;
                 e1=ee/10;
                 e2=ee%10;
                 f1=ff/10;
                 f2=ff%10;
                 g1=gg/10;
                 g2=gg%10;       
        w12864com(0x00);
        delay(2);

        w12864com(0x98);//定时1
                for(z=0;z<4;z++)
                {
                        w12864dat(uu[z]);       
                }

                 if(c==1)
                 {
                        w12864com(0x9c);
                        w12864dat(0x41);
                        w12864dat(0x03);
                       
                        w12864com(0x9a);
                        w12864dat(table[1]);
                                         
                 }
                 if(c==2)
                 {

                        w12864com(0x9c);
                        w12864dat(0x42);
                        w12864dat(0x03);
                       
                        w12864com(0x9a);
                        w12864dat(table[2]);                 
                 }
if(k==1)
{
        if(dshi>=12)
        {
                w12864com(0x80);
                w12864dat(0x50);
        }
        else
        {
                w12864com(0x80);
                w12864dat(0x41);               
        }

        if(eshi>=12)
        {
                w12864com(0x90);
                w12864dat(0x50);
        }
        else
        {
                w12864com(0x90);
                w12864dat(0x41);               
        }
}

if(c==1)
{
        if(k==1)
        {
                if(dshi>=12)
                {

                        if(dshi>12)
                        {
                                ab=dshi;
                                ab=ab-12;
                                 bb3=ab/10;
                                 bb4=ab%10;

                        }               
                }

        }
        else
        {
         bb3=dshi/10;
         bb4=dshi%10;
                                                       
         }
         cc3=dfen/10;
         cc4=dfen%10;
         dd3=dmiao/10;
         dd4=dmiao%10;
}
if(c==2)
{
        if(k==1)
        {
                if(eshi>=12)
                {       
                        if(eshi>12)
                        {
                                ab=eshi;
                                ab=ab-12;
                                 bb1=ab/10;
                                 bb2=ab%10;
                        }
                }
        }
        else
        {
         bb1=eshi/10;
         bb2=eshi%10;

        }
         cc1=efen/10;
         cc2=efen%10;
         dd1=emiao/10;
         dd2=emiao%10;
}

        while(u)
        {

                w12864com(0x88);
                w12864dat(0x03);
                delay(2);
                 if(c==1)
                 {
                        w12864com(0x9c);
                        w12864dat(0x41);
                        w12864dat(0x03);       
                        w12864com(0x9a);
                        w12864dat(table[1]);
                       
                        w12864com(0x91);
                        w12864dat(0x20);
                        w12864dat(0x20);
                        w12864com(0x81);
                        w12864dat(0x20);
                        w12864dat(0x10);
                                         
                 }
                 if(c==2)
                 {
                        w12864com(0x9c);
                        w12864dat(0x42);
                        w12864dat(0x03);
                        w12864com(0x9a);
                        w12864dat(table[2]);
                       
                        w12864com(0x91);
                        w12864dat(0x20);
                        w12864dat(0x10);
                        w12864com(0x81);
                        w12864dat(0x20);
                        w12864dat(0x20);
                                         
                 }         
                if(k2==0)
                {
                        while(!k2==1);
                        x++;
                        if(x==4)
                        {
                                x=0;
                                u=0;
                                s1=0;
                                y=1;

                                if(c==1)
                                {
                                        w=1;
                                        dshi=ee;
                                        dfen=ff;
                                        dmiao=gg;
                                        delay(5);
                                       
                                }
                                if(c==2)
                                {
                                        w=2;
                                        eshi=ee;
                                        efen=ff;
                                        emiao=gg;
                                       
                                        delay(5);
                                }
                        }
                }
                if(k==1)
                {
                        if(es==0)
                        {
                                w12864com(0x89);
                                w12864dat(0x41);
                                       
                        }
                         if(es==1)
                        {
                                w12864com(0x89);
                                w12864dat(0x50);
                                                                       
                        }
                }
                if(x==1)
                {
                        if(k3==0)
                        {
                                while(!k3==1);
                                ee++;
                                if(ee>=24)
                                {
                                 ee=0;
                                }
                                if(k==1)
                                {
                                         if(ee==12)
                                         {
                                                 es=1;
                                                e1=ee/10;
                                                e2=ee%10;
                                         }
       
                                         if(ee<12)
                                         {
                                                 es=0;
                                                e1=ee/10;
                                                e2=ee%10;
                                         }

                                         if(ee>12)
                                        {
                                                ww=ee;
                                                 ww=ww-12;
                                                e1=ww/10;
                                                e2=ww%10;          
                                        }
                                }
                                else
                                {
                                        e1=ee/10;
                                        e2=ee%10;
                                }       

                                if(c==1)
                                {
                                        if(k==1)
                                        {
                                                if(es==0)
                                                {                                                       
                                                        w12864com(0x80);
                                                        w12864dat(0x41);
                                                }
                                                if(es==1)
                                                {                                                       
                                                        w12864com(0x80);
                                                        w12864dat(0x50);
                                                }
                                        }
                                        bb3=e1;
                                        bb4=e2;                               
                                }
                                if(c==2)
                                {
                                        if(k==1)
                                        {
                                                if(es==0)
                                                {                                                       
                                                        w12864com(0x90);
                                                        w12864dat(0x41);
                                                }
                                                if(es==1)
                                                {                                                       
                                                        w12864com(0x90);
                                                        w12864dat(0x50);
                                                }
                                        }                       

                                        bb1=e1;
                                        bb2=e2;                               
                                }
                        }
                }
               
                if(x==2)
                {
                        if(k3==0)
                        {
                                while(!k3==1);
                                ff++;
                                if(ff>=60)
                                {
                                 ff=0;
                                }
                                f1=ff/10;
                                f2=ff%10;

                                if(c==1)
                                {
                                        cc3=f1;
                                        cc4=f2;                               
                                }
                                if(c==2)
                                {
                                        cc1=f1;
                                        cc2=f2;                               
                                }
                        }
                }
                if(x==3)
                {
                        if(k3==0)
                        {
                                while(!k3==1);
                                gg++;
                                if(gg>=60)
                                {
                                 gg=0;
                                }
                                g1=gg/10;
                                g2=gg%10;
                                if(c==1)
                                {
                                        dd3=g1;
                                        dd4=g2;                               
                                }
                                if(c==2)
                                {
                                        dd1=g1;
                                        dd2=g2;                               
                                }
                        }
                }

       
                w12864com(0x8a);
                for(a=0;a<8;a++)
                {
                        if(a==0)
                        {

                                w12864dat(table[e1]);
                        }
                        if(a==1)
                        {
                                w12864dat(table[e2]);
                        }

                        if(a==2)
                        {
                                w12864dat(we[16]);
                        }
                        if(a==3)
                        {

                                w12864dat(table[f1]);
                        }
                        if(a==4)
                        {
                                w12864dat(table[f2]);
                        }
                        if(a==5)
                        {
                                w12864dat(we[16]);
                        }
                        if(a==6)
                        {

                                w12864dat(table[g1]);
                        }
                        if(a==7)
                        {
                                w12864dat(table[g2]);
                        }                                                                               
                }


                delay(50);

                if(x==1)
                {
                        w12864com(0x8a);
                        for(a=0;a<8;a++)
                        {
                                if(a==0)
                                {
       
                                        w12864dat(0x20);
                                }
                                if(a==1)
                                {
                                        w12864dat(0x20);
                                }
       
                                if(a==2)
                                {
                                        w12864dat(we[16]);
                                }
                                if(a==3)
                                {
       
                                        w12864dat(table[f1]);
                                }
                                if(a==4)
                                {
                                        w12864dat(table[f2]);
                                }
                                if(a==5)
                                {
                                        w12864dat(we[16]);
                                }
                                if(a==6)
                                {
       
                                        w12864dat(table[g1]);
                                }
                                if(a==7)
                                {
                                        w12864dat(table[g2]);
                                }                                                                               
                        }
                }

                if(x==2)
                {
                        w12864com(0x8a);
                        for(a=0;a<8;a++)
                        {
                                if(a==0)
                                {
       
                                        w12864dat(table[e1]);
                                }
                                if(a==1)
                                {
                                        w12864dat(table[e2]);
                                }
       
                                if(a==2)
                                {
                                        w12864dat(we[16]);
                                }
                                if(a==3)
                                {
       
                                        w12864dat(0x20);
                                }
                                if(a==4)
                                {
                                        w12864dat(0x20);
                                }
                                if(a==5)
                                {
                                        w12864dat(we[16]);
                                }
                                if(a==6)
                                {
       
                                        w12864dat(table[g1]);
                                }
                                if(a==7)
                                {
                                        w12864dat(table[g2]);
                                }                                                                               
                        }       
                }

                if(x==3)
                {
                        w12864com(0x8a);
                        for(a=0;a<8;a++)
                        {
                                if(a==0)
                                {
       
                                        w12864dat(table[e1]);
                                }
                                if(a==1)
                                {
                                        w12864dat(table[e2]);
                                }
       
                                if(a==2)
                                {
                                        w12864dat(we[16]);
                                }
                                if(a==3)
                                {
       
                                        w12864dat(table[f1]);
                                }
                                if(a==4)
                                {
                                        w12864dat(table[f2]);
                                }
                                if(a==5)
                                {
                                        w12864dat(we[16]);
                                }
                                if(a==6)
                                {
       
                                        w12864dat(0x20);
                                }
                                if(a==7)
                                {
                                        w12864dat(0x20);
                                }                                                                               
                        }               
                }
                  delay(50);


                w12864com(0x92);
                for(a=0;a<8;a++)
                {
                        if(a==0)
                        {

                                w12864dat(table[bb1]);
                        }
                        if(a==1)
                        {
                                w12864dat(table[bb2]);
                        }

                        if(a==2)
                        {
                                w12864dat(we[16]);
                        }
                        if(a==3)
                        {

                                w12864dat(table[cc1]);
                        }
                        if(a==4)
                        {
                                w12864dat(table[cc2]);
                        }
                        if(a==5)
                        {
                                w12864dat(we[16]);
                        }
                        if(a==6)
                        {

                                w12864dat(table[dd1]);
                        }
                        if(a==7)
                        {
                                w12864dat(table[dd2]);
                        }                                                                               
                }


                w12864com(0x82);
                for(a=0;a<8;a++)
                {
                        if(a==0)
                        {

                                w12864dat(table[bb3]);
                        }
                        if(a==1)
                        {
                                w12864dat(table[bb4]);
                        }

                        if(a==2)
                        {
                                w12864dat(we[16]);
                        }
                        if(a==3)
                        {

                                w12864dat(table[cc3]);
                        }
                        if(a==4)
                        {
                                w12864dat(table[cc4]);
                        }
                        if(a==5)
                        {
                                w12864dat(we[16]);
                        }
                        if(a==6)
                        {

                                w12864dat(table[dd3]);
                        }
                        if(a==7)
                        {
                                w12864dat(table[dd4]);
                        }                                                                               
                }

                if(k1==0)
                {
                        delay(2);
                        while(!k1==1);
                        s1++;
                        if(s1==3)
                        {
                                c++;
                                if(c==2)
                                {
                                         es=0;
                                }
                                if(c==3)
                                {
                                        c=1;
                                }
                        }
                        if(s1==4)
                        {
                                x=0;
                                u=0;
                                y=1;
                                s1=0;
                        }
                }
         }
}

void xiaoshi()
{
        uchar tt;
        w12864com(0x00);
        delay(2);

                w12864com(0x82);
                w12864dat(table[1]);
                w12864dat(table[2]);
                for(tt=0;tt<6;tt++)
                {
                        w12864dat(uu[tt+4]);
                }
               
                w12864com(0x92);
                w12864dat(table[2]);
                w12864dat(table[4]);
                for(tt=0;tt<6;tt++)
                {
                        w12864dat(uu[tt+4]);
                }


                w12864com(0x8a);
                for(tt=0;tt<4;tt++)
                {
                        w12864dat(uu[tt+10]);
                }
                w12864dat(table[1]);
                delay(1);

                w12864com(0x9a);
                for(tt=0;tt<4;tt++)
                {
                        w12864dat(uu[tt+10]);
                }
                w12864dat(table[2]);
                 delay(1);
                 if(sc==1)
                 {
                        w12864com(0x80);
                        w12864dat(0x12);
                        w12864com(0x88);
                        w12864dat(0x20);
                 }
                 if(sc==2)
                 {
                                w12864com(0x80);
                                w12864dat(0x20);
                                w12864com(0x99);
                                w12864dat(0x12);
                 }
                        if(j==1)
                        {
                                w12864com(0x81);
                                w12864dat(0x10);
                                w12864com(0x91);
                                w12864dat(0x20);
                        }
                        if(j==2)
                        {
                                w12864com(0x81);
                                w12864dat(0x20);
                                w12864com(0x91);
                                w12864dat(0x10);               
                        }
                        if(fp==1)
                        {
                                w12864com(0x89);
                                w12864dat(0x10);
                                w12864com(0x99);
                                w12864dat(0x20);

                        }
                        if(fp==2)
                        {
                                w12864com(0x89);
                                w12864dat(0x20);
                                w12864com(0x99);
                                w12864dat(0x10);       
                        }

        while(m)
        {

           if(k2==0)
           {
                           while(!k2==1);
                        sc++;
                         if(sc==3)
                         {sc=1;}
                       
           }
                if(k3==0)
                {
                        while(!k3==1);
                        if(sc==1)
                        {
                                j++;
                                if(j==3)
                                {j=1;}

                        }
                        if(sc==2)
                        {
                                fp++;
                                if(fp==3)
                                {fp=1;}

                        }
                }
                if(k1==0)
                {
                        while(!k1==1);
                        y=1;
                        m=0;
                        s1=0;
                }
                 if(sc==1)
                 {
                        w12864com(0x80);
                        w12864dat(0x12);
                        w12864com(0x88);
                        w12864dat(0x20);
                        if(j==1)
                        {
                                w12864com(0x81);
                                w12864dat(0x10);
                                w12864com(0x91);
                                w12864dat(0x20);
                                k=1;
                        }
                        if(j==2)
                        {
                                w12864com(0x81);
                                w12864dat(0x20);
                                w12864com(0x91);
                                w12864dat(0x10);
                                k=0;               
                        }
                 }
                 if(sc==2)
                 {
                        w12864com(0x80);
                        w12864dat(0x20);
                        w12864com(0x88);
                        w12864dat(0x12);       
                        if(fp==1)
                        {
                                w12864com(0x89);
                                w12864dat(0x10);
                                w12864com(0x99);
                                w12864dat(0x20);
                                cb=1;

                        }
                        if(fp==2)
                        {
                                w12864com(0x89);
                                w12864dat(0x20);
                                w12864com(0x99);
                                w12864dat(0x10);
                                cb=2;       
                        }
                }                                       
        }       
}
void sh()
{
        uchar i;
        mb=1;
        w12864com(0x00);
        delay(2);       
        w12864com(0x80);
        for(i=0;i<16;i++)
        {
                w12864dat(tables[i]);       
        }
        w12864com(0x90);
        for(i=0;i<16;i++)
        {
                w12864dat(tables[i+16]);       
        }
        w12864com(0x8b);
        for(i=0;i<4;i++)
        {
                w12864dat(tables[i+32]);       
        }
        while(mb);
}
void time0() interrupt 1
{
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        count++;
        if(count==20)//验证时间为1s
        {
                count=0;
                time++;
                if(time==20)
                {
                        time=0;
                        TR0=0;
                }
                D=~D;
                delay(30);
        }               
}
void t0() interrupt 3
{
        TH1=(65536-50000)/256;
        TL1=(65536-50000)%256;
        count++;
        if(count==20)//验证时间为1s
        {
                count=0;
                time++;       
                D=~D;
                delay(10);
                if(time==30)
                {
                        time=0;
                        TR1=0;
                        mb=0;
                        y=1;
                }
        }
}



程序.rar

80.67 KB, 下载次数: 20

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:123732 发表于 2016-10-19 22:39 | 只看该作者
  1. //适用于STC12c和stc5系列单片机
  2. //编写:刘海龙
  3. //温度传感器定义
  4. //在主程序里调用ReadTemperature();//读取温度程序
  5. sbit DQ = P5 ^ 5;//ds18B20连接的IO口
  6. unsigned int tem;//
  7. /*********************************/
  8. void delay_us(unsigned char n)// STC15系列单片机延时1微秒@12MHZ
  9. {
  10.     while (n--)
  11.     {
  12.         _nop_();
  13.         _nop_();
  14.         _nop_();
  15.     }
  16. }       
  17. /******************************************************************************/
  18. void Init_DS18B20(void){//初始化ds1820
  19.         unsigned char x=0;
  20.        
  21. DQ = 1;          //DQ复位
  22. delay_us(80); //稍做延时
  23. DQ = 0;          //单片机将DQ拉低
  24. delay_us(240); //精确延时 大于 480us
  25. delay_us(240);
  26. DQ = 1;          //拉高总线
  27. delay_us(60);
  28. x=DQ;       
  29. delay_us(240);              //等待设备释放数据线
  30. delay_us(180);
  31. }
  32. /******************************************************************************/
  33. unsigned char ReadOneChar(void){//读一个字节
  34.         unsigned char i=0;
  35.         unsigned char dat = 0;
  36.         for (i=8;i>0;i--){
  37.                 DQ = 0; // 给脉冲信号
  38.                 dat>>=1;
  39.                 DQ = 1; // 给脉冲信号
  40.                 if(DQ==1){
  41.                         dat|=0x80;
  42.                 }
  43.                 delay_us(60);
  44.         }
  45.         return(dat);
  46. }
  47. /******************************************************************************/
  48. void WriteOneChar(unsigned char dat){//写一个字节
  49.         unsigned char i=0;
  50.         for (i=8; i>0; i--){
  51.                 DQ = 0;
  52.                 DQ = dat&0x01;
  53.                 delay_us(60);
  54.                 DQ = 1;
  55.                 dat>>=1;
  56.         }
  57. }
  58. /******************************************************************************/

  59. /************************************/
  60. unsigned int ReadTemperature(void){//读取温度
  61.         unsigned char a=0;
  62.         unsigned char b=0;
  63.         unsigned int t=0;
  64.         float tt=0;
  65.         Init_DS18B20();
  66.         WriteOneChar(0xCC); // 跳过读序号列号的操作
  67.         WriteOneChar(0x44); // 启动温度转换
  68.         Init_DS18B20();
  69.         WriteOneChar(0xCC); //跳过读序号列号的操作
  70.         WriteOneChar(0xBE); //读取温度寄存器
  71.         a=ReadOneChar();  //读低8位
  72.         b=ReadOneChar(); //读高8位
  73.         t=b;
  74.         t<<=8;
  75.         t=t|a;
  76.         tt=t*0.0625;
  77.         t= tt*10+0.5; //放大10倍输出并四舍五入
  78.         tem=t;
  79.         return(t);
  80. }

  81. //ReadTemperature();//读取温度程序
复制代码
回复

使用道具 举报

板凳
ID:141595 发表于 2016-10-20 15:04 | 只看该作者
其实我也不懂,碰巧我这里有89C52和12c5a60s2的18b20程序,你看一下吧,应该有用。 1T 12T.rar (56.07 KB, 下载次数: 104)


评分

参与人数 1黑币 +90 收起 理由
admin + 90 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:123732 发表于 2016-10-20 16:29 | 只看该作者
1.sbit DQ = P5 ^ 5;//ds18B20连接的IO口改成你实际接的IO口
2.在主程序里调用ReadTemperature();//读取温度程序
3.以上程序是STC12系列用的,晶振12M
调试成功在帖子里麻烦告诉我,谢谢。

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:111101 发表于 2016-10-20 18:46 | 只看该作者

能帮忙写进我的程序里么。我的是lcd12864显示。我改完 什么都不显示了。拜托
回复

使用道具 举报

6#
ID:123732 发表于 2016-10-20 19:01 | 只看该作者
350546664 发表于 2016-10-20 18:46
能帮忙写进我的程序里么。我的是lcd12864显示。我改完 什么都不显示了。拜托

温度程序我是在STC12C5A60S2上用数码管实验的,我做过一个温度计,程序段绝对可以在STC12C5A69S2上运行。LCD12864这个屏我没有接触过所以说没有办法把LCD12864加上去,抱歉。
回复

使用道具 举报

7#
ID:111101 发表于 2016-10-20 19:04 | 只看该作者
刘海龙 发表于 2016-10-20 19:01
温度程序我是在STC12C5A60S2上用数码管实验的,我做过一个温度计,程序段绝对可以在STC12C5A69S2上运行。 ...

-.-我把程序放上去。所有的数字都不显示了
回复

使用道具 举报

8#
ID:123732 发表于 2016-10-20 19:25 | 只看该作者
我改了一下时序,12M晶振、温度程序没有改,你先烧进去试一下

程序.rar

81.63 KB, 下载次数: 39

回复

使用道具 举报

9#
ID:111101 发表于 2016-10-20 19:48 | 只看该作者
刘海龙 发表于 2016-10-20 19:25
我改了一下时序,12M晶振、温度程序没有改,你先烧进去试一下

没有变化。我板子上的晶振是11.0592的
回复

使用道具 举报

10#
ID:111101 发表于 2016-10-20 19:51 | 只看该作者
在52的片子上 ,完全可以运行,而且液晶屏幕没有闪烁感
回复

使用道具 举报

11#
ID:123732 发表于 2016-10-20 20:04 | 只看该作者
我又把温度读取加了进去,你试一下

DS18B20 LCD12864程序.rar

84.31 KB, 下载次数: 53

回复

使用道具 举报

12#
ID:123732 发表于 2016-10-20 20:15 | 只看该作者
程序中P2.5接的DS18B20
回复

使用道具 举报

13#
ID:111101 发表于 2016-10-20 20:18 | 只看该作者
网络崩溃了。下载不动
回复

使用道具 举报

14#
ID:111101 发表于 2016-10-20 20:26 | 只看该作者
刘海龙 发表于 2016-10-20 20:15
程序中P2.5接的DS18B20

一会测试,我把液晶线拔掉了。我要固定在板子上。
回复

使用道具 举报

15#
ID:111101 发表于 2016-10-20 22:32 | 只看该作者
刘海龙 发表于 2016-10-20 20:15
程序中P2.5接的DS18B20

ds1302直接不好使了。所有的数字都消失了、
回复

使用道具 举报

16#
ID:123732 发表于 2016-10-20 22:44 | 只看该作者
350546664 发表于 2016-10-20 22:32
ds1302直接不好使了。所有的数字都消失了、

那温度可以读出来了吗?
回复

使用道具 举报

17#
ID:111101 发表于 2016-10-21 13:51 | 只看该作者
刘海龙 发表于 2016-10-20 22:44
那温度可以读出来了吗?

有数字的位置都没有显示。
回复

使用道具 举报

18#
ID:123732 发表于 2016-10-21 14:49 | 只看该作者
350546664 发表于 2016-10-21 13:51
有数字的位置都没有显示。

只能帮你到这里了,建议你还是把DS18B20的程调试好了再把其他的芯片(DS1302等加进去)这样便于快速调试成功。没有硬件而且程序的大部分都没有注释,我不好再继续改。抱歉
回复

使用道具 举报

19#
ID:111101 发表于 2016-10-21 16:09 | 只看该作者
刘海龙 发表于 2016-10-21 14:49
只能帮你到这里了,建议你还是把DS18B20的程调试好了再把其他的芯片(DS1302等加进去)这样便于快速调试 ...

没事-.-..
回复

使用道具 举报

20#
ID:143367 发表于 2016-10-24 10:39 | 只看该作者
楼上刘海龙好热心啊哈哈
回复

使用道具 举报

21#
ID:334284 发表于 2018-5-20 16:57 | 只看该作者
谢海龙哥,参拜大神
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表