欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2470|回復(fù): 1
收起左側(cè)

我寫了一部分調(diào)用函數(shù),關(guān)于顯示部分和控溫報警主函數(shù)怎么弄

[復(fù)制鏈接]
ID:445575 發(fā)表于 2018-12-13 13:45 | 顯示全部樓層 |閱讀模式
2黑幣
本帖最后由 ark8976 于 2018-12-13 13:48 編輯

360截圖20181213133628675.jpg

#include <reg51.h>           //包含頭文件reg51.h,定義了51單片機(jī)的專用寄存器
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit key1=P2^0;/*上翻頁*/
sbit key2=P2^1;/*功能選擇*/
sbit key3=P2^2;/*下翻頁*/
sbit led=P2^7;
sbit jdq=P2^6;
sbit DQ=P2^4;
void key1_jianyi(void);
void key2_pueren(void);
void key3_jiayi(void);
void key_shaomio(void);
void int_18b20(void);//初始化DS18B20
void read_one_char(void);
void write_one_char(uchar);
void read_temp(void);
uchar temp_mea;
uchar set_flag;
usigned char t0,t1;//定義全局變量,用來保存延時時間循環(huán)次數(shù)
void delay0_5s1()
{  
   for(t0=0;t0<10;t0++)                    //采用全局變量t0作為循環(huán)控制變量
   {            
   TH1=(65536-50000)/256;                //設(shè)置定時器初值
   TL1=(65536-50000)%256;  
TR1=1;                                       //啟動T1
   while(!TF1);                             //查詢計數(shù)是否溢出,即50ms定時時間到,TF1=1
   TF1=0;                                                   //50ms定時時間到,將定時器溢出標(biāo)志位TF1清零
   }
}
//函數(shù)名:delay_t1
//函數(shù)功能:實現(xiàn)0.5~128s延時
//形式參數(shù):unsigned char t;
//          延時時間為0.5s×t
//返回值:無
void delay_t1(unsigned char t)
{
    for(t1=0;t1<t;t1++)                    //采用全局變量t1作為循環(huán)控制變量
    delay0_5s1();
}
void main()
{
        uchar code display1[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
        uchar code bitcode[]={0x7f,0xbf,0xdf,0xef};
        
        


}
void int_18b20(void)  //初始化DS18B20
{
        uchar x=0;
        DQ=1;       //復(fù)位
        delay0_5s1();
        DQ=0;
        delay0_5s1();
        DQ=1;      
        delay0_5s1();
        x=DQ;
        delay0_5s1();
}
void read_one_char(void)
{
        uchar i=0;
        uchar dat=0;
        for(i=8;i>0;i--)
        {
                DQ=0;
                _nop_();
                dat>>=1;
                DQ=1;
                delay0_5s1();
                if(DQ)dat|=0x80;
        }
        return(dat);
}
void write_one_char(uchar dat)
{
        uchar i=0;
        for(i=8;i>0;i--);
        {
                DQ=0;
                _nop_();
                DQ=dat&0x01;
                delay0_5s1();
                DQ=1;
                dat>>=1;
                delay0_5s1();
        }
}
void read_temp(void)
{
        uchar a=0;
        uchar b=0;
        uchar t=0;
        int_18b20();
        write_one_char(0xcc);
        write_one_char(0x44);
        int_18b20();
        write_one_char(0xcc);
        write_one_char(0xbe);
        a=read_one_char();
        b=read_one_char();
        t=b;
        t<<=8;        
        t=t|a;
        temp_mea=t*(0.0625);
}
void key_shaomio(void)
{
        uchar temp;
        P2=0xff;
        if(P2!=0xff)
        {
                delay0_5s1();
                if(P2!=0xff)
                {
                        temp=P2;
                        switch(temp)
                        {
                                case 0xfe:key2_pueren();break;//P2.1按下,功能選擇
                                case 0xfd:key1_jianyi();break;//P2.0按下,數(shù)字加1
                                case 0xfd:key3_jiayi();break;//P2.2按下,數(shù)字減一
                                default:break;
                        },
                }
        }
}
key2_pueren(void)
{
        set_flag++;
        if(        set_flag>=3)        //set_flag=1設(shè)定上限值
        set_flag=0;                        //set_flag=2設(shè)定下限值
}
key1_jianyi(void)
{
        switch(set_flag)
        {
                case 1:temp_set1++;if(temp_set1>=99)temp_set1=99;break;        
                case 2:temp_set2++;if(temp_set2>=temp_set1)temp_set2=temp_set1;break;
                default:break;
        }
}
key3_jiayi(void)
{
        switch(set_flag)
        {
                case 1:temp_set1--;if(temp_set1<=temp_set2)temp_set1=temp_set2;break;        
                case 2:temp_set2--;if(temp_set2<=1)temp_set2=1;break;
                default:break;
        }
}

               
        
        

回復(fù)

使用道具 舉報

ID:277550 發(fā)表于 2018-12-13 15:06 | 顯示全部樓層
不停讀溫度值,看是否超出范圍,,,,,,如果超出就報警。。。。。。。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表