亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? shiyan3.c

?? 讀取DS18B20序列號實驗C程序
?? C
字號:
/***********************************************************/
//                             
//               讀取DS18B20序列號實驗C程序
//           (每次讀取8位并用LED燈指示具體位置)
//                   2008.4.15通過調試
/***********************************************************/
#include<math.h>       /*數學函數庫*/
#include<absacc.h>     /*絕對地址訪問函數*/
#include<intrins.h>    /*內部函數*/
#include"C8051F040.h"  /*C8051F040頭文件*/

#define Decoding 0x09     /*譯碼模式*/
#define Brightness 0x0A   /*亮度*/
#define BoundaryScan 0x0B /*掃描界限*/
#define Brownout 0x0C     /*掉電模式*/
#define DisplayTest 0x0F  /*顯示測試*/

typedef unsigned char uchar;
typedef unsigned int uint;
typedef unsigned long ulong;

uchar LED[8]={0x04,0x02,0x01,0x80,0x40,0x20,0x10,0x08}; /*8個LED等的對應代碼*/

uint ROMnum[8];/*存放64位ROM序列號*/

//顯示部分
uchar xdata dispbuff[7];
uchar bit_int,bit_dec,bit_all;     /*整數位,小數位及全部位數*/
float xdata part_dec;              /*小數部分*/
ulong xdata part_int,part_dec_int; /*整數部分和小數部分取整*/
uchar num[12]={0x7E,0x30,0x6D,0x79,0x33,0x5B,0x5F,0x70,0x7f,0x7B,0x00,0xFF};
/*從0~9及全滅和全亮*/
sbit dis_LOAD=P3^2; //MAX7219 Load-Data Input: rising edge
sbit dis_DIN=P3^0;  //MAX7219 Serial-Data Input: rising edge
sbit dis_CLK=P3^3;  //MAX7219 Serial-Clock Input: maximum 10MHz
sbit DQ=P6^7;

//延時納秒
void delayns(void) 
{
      _nop_();
      _nop_();
      _nop_();
      _nop_();
}

//傳送1字節(8位)
void SendChar (uchar ch)
{
    uchar i,temp;
    dis_CLK=0;
    for (i=0;i<8;i++)
    {
        temp=ch&0x80;
        ch=ch<<1;
        if(temp)
        {
            dis_DIN=1;
            delayns();
            dis_CLK=1;
            delayns();
            dis_CLK=0;
        }
        else
        {
            dis_DIN=0;
            delayns();
            dis_CLK=1;
            delayns();
            dis_CLK=0;
        }
    }
}

//向MAX7219寫入字(16位)
void WriteWord (uchar addr,uchar num)
{
    dis_LOAD=0;
    delayns();
    SendChar(addr);
    delayns();
    SendChar(num);
    delayns();
    dis_LOAD=1;
    delayns();
}

//數值顯示
void dis_result()
{
    WriteWord(0x01,dispbuff[5]);
    WriteWord(0x02,dispbuff[4]);
    WriteWord(0x03,dispbuff[3]);
    WriteWord(0x04,dispbuff[2]);
    WriteWord(0x05,dispbuff[1]);
    WriteWord(0x06,dispbuff[0]);
}


//利用遞歸法實現指數運算
ulong power(ulong number,uint index)reentrant
{
       ulong result;
       if(index==0) result=1;
       else result=number*(power(number,index-1));
       return(result);
}

//數值計算
void disp(float f)
{
     int i,j;
     part_int=(long)f;
     part_dec=f-(float)part_int;
     part_dec_int=(long)(part_dec*100000);/*小數部分取整*/
     bit_dec=5;/*小數部分的最多位數*/
     bit_int=1;/*整數部分的最少位數*/
     bit_all=1;/*總顯示的最少位數*/
     //計算小數位數
     for(i=1;i<=5;i++)
    {
       if(part_dec_int%(power(10,i))==0)
       bit_dec=bit_dec-1;
     }
     //計算整數位數   
     for(i=0;i<=5;i++)
    {
       if(part_int>=power(10,i))
       bit_int=i+1;
    }
     //總的顯示位數最多為6
     if(bit_dec+bit_int>6)
     bit_dec=6-bit_int;
     //總的顯示位數  
     bit_all=bit_int+bit_dec;
     //總的顯示位數最少為2
     if(bit_all<2)
     bit_int=2;
     bit_all=bit_int+bit_dec;
     //顯示小數位
     if(bit_dec>0)
     {
         for(i=bit_dec-1,j=5;i>=0,j>=1;i--,j--)
         {
           dispbuff[i]=num[(part_dec_int%(power(10,j)))/(power(10,j-1))];/*該語句實現對各位的求取*/
         }
     }
     //顯示整數位
     for(i=bit_all-1,j=bit_int;i>=bit_dec,j>=1;i--,j--)
     {
      dispbuff[i]=num[(part_int%(power(10,j)))/(power(10,j-1))];
     }
     //小數點位置
     if(bit_dec>0)     
     dispbuff[bit_dec]=dispbuff[bit_dec]+0x80;
     //位不足則高位不顯示
     if(6-bit_all>0) 
     {
       for(i=0;i<6-bit_all;i++)
       {
        dispbuff[bit_all+i]=num[10];
       }
     }
}

//延時
void Delay1us(unsigned char us)
{
     while(us)
     {
        _nop_();_nop_();_nop_();_nop_();_nop_();
        --us;
      }
}

void Delay15us(void)   //延時15S
{
      Delay1us(15);
}

void Delay10us(void)
{
      Delay1us(10);
}

//返回0,有設備連接;返回1,無設備連接
bit RstDS18B20(void)
{
     uchar i;
     bit RstFlag=1;
     DQ=0;
     for(i=0;i<40;i++)   //延時480us
     {
         Delay15us();
     }
     DQ=1;
     for(i=0;i<4;i++)    //延時15~60us
     {
         Delay15us();
     }
     for(i=0;i<16;i++)   //延時60~240us
     {
         Delay15us();
         if(DQ==0) RstFlag=0;
     }
     for(i=0;i<16;i++)   //240us
     {
         Delay15us();
     }
     return RstFlag;
}

void WriteDS18B20(uchar val)
{
     uchar i;
     DQ=1;
     Delay1us(1);
     for(i=0;i<8;i++)
     {
        DQ=0;
        Delay15us();
        DQ=val&0x01;
        Delay15us();Delay15us();Delay15us();
        DQ=1;
        val=val/2;
        Delay1us(1);
     }
}

uchar ReadDS18B20(void)
{
     uchar i,value=0;
     DQ=1;
     Delay1us(1);
     for(i=0;i<8;i++)
     {
        DQ=0;
        Delay1us(4);
        DQ=1;
        Delay10us();
        value>>=1;
        if(DQ==1)
       {
         value|=0x80;
        }
         Delay15us();Delay15us();Delay15us();
     }
     return(value);
}



uint ReadROMDS18B20(void)
{
    int i;
    RstDS18B20();
    WriteDS18B20(0x33);
    for(i=0;i<8;i++)
   {
      ROMnum[i]=ReadDS18B20();
    }
    RstDS18B20();
    for(i=0;i<8;i++)
    return ROMnum[i];
}

void delay(ulong t)
{
  for(;t>0;t--);
}

void ConfigC8051F040()
{
    int i;       /*延時計數器*/
//看門狗禁止
	WDTCN=0x07;  /*設置看門狗超時間隔*/	
   WDTCN=0xDE;   
   WDTCN=0xAD;
//交叉開關使能配置,使得P0~P3口能輸出
	SFRPAGE=0x0F;
   XBR0=0x00;	
	XBR1=0x00;	
	XBR2=0x40;
 	XBR3=0x00;   
//管腳輸出配置
 	SFRPAGE=0x0F;
   P3MDOUT=0x0F; /*P3[3:0]推挽輸出,用以顯示部分*/ 
//晶振配置
   SFRPAGE=0x0F;
   OSCXCN=0x77;    /*配置為外部石英晶振2分頻模式,且配置相應頻率的驅動電流*/
	for(i=0;i<256;i++);   /*等待外部晶振穩定*/
	while(!(OSCXCN & 0x80)); 
    /*查詢XTLVLD是否為1,若為1,表明外部晶振穩定,可切換到外部時鐘*/
    CLKSEL=0x01;    /*選擇外部晶振*/
    OSCICN=0x00;    /*將內部晶振關閉,也可不關閉,不關閉時MCU耗能高*/
}

//MAX7219初始化
void InitDis (void)
{
	WriteWord(Brownout,0x00);     /*設置電源工作模式*/
	WriteWord(BoundaryScan,0x06); /*設置掃描界限*/
	WriteWord(Brightness,0x05);   /*設置亮度*/
	WriteWord(Decoding,0x00);     /*設置譯碼模式*/
        WriteWord(DisplayTest,0x00);  /*設置非測試模式*/
	WriteWord(Brownout,0x01);     /*設置電源工作模式*/
}

main()
{
    int i;
    ConfigC8051F040();
    InitDis();
    ReadROMDS18B20();
    for(;;)            
    {     
       for(i=0;i<8;i++)
       {
        disp(ROMnum[i]);
        dis_result();
        WriteWord(0x07,LED[i]);
        delay(100000); 
        delay(100000);  
       }
    }
}
//***************************結束*******************************//

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合五月天婷婷伊人| 亚洲成人综合在线| 亚洲国产人成综合网站| 国产精品一二三在| 欧美高清视频一二三区| 亚洲国产精品99久久久久久久久| 亚洲国产精品影院| 99视频超级精品| 久久久久久久久久看片| 日韩国产精品久久久| 91麻豆免费在线观看| 久久久国产精品麻豆| 日韩电影在线一区二区三区| 不卡的看片网站| 久久综合成人精品亚洲另类欧美 | 欧美精品第一页| 国产精品久久毛片a| 国产乱淫av一区二区三区| 欧美高清视频不卡网| 一区二区三区毛片| 成人动漫一区二区在线| 国产无人区一区二区三区| 麻豆精品精品国产自在97香蕉| 色88888久久久久久影院野外| 中文字幕av一区 二区| 欧美丰满嫩嫩电影| 亚洲在线中文字幕| 97精品电影院| 亚洲精品国产品国语在线app| 成人激情免费网站| 日韩一区在线播放| gogo大胆日本视频一区| 国产精品三级视频| youjizz久久| 亚洲天堂av老司机| 91久久精品一区二区三| 亚洲一区二区三区自拍| 欧美丝袜丝交足nylons图片| 亚洲午夜久久久久中文字幕久| 日本高清成人免费播放| 亚洲国产欧美在线人成| 欧美日韩黄色影视| 裸体在线国模精品偷拍| 精品成人一区二区| 成人午夜av影视| 亚洲人成网站色在线观看| 在线亚洲精品福利网址导航| 亚洲国产精品视频| 日韩欧美国产小视频| 国产在线播精品第三| 欧美高清在线一区| 欧美综合色免费| 免费人成精品欧美精品| 久久久久久免费网| 一本到一区二区三区| 午夜精品久久久久久久 | 丝袜美腿一区二区三区| 91精品在线观看入口| 精品在线你懂的| 日产欧产美韩系列久久99| 精品嫩草影院久久| 成人精品电影在线观看| 亚洲主播在线观看| 久久夜色精品国产噜噜av| 成人app软件下载大全免费| 一个色在线综合| 日韩视频一区在线观看| 成人毛片视频在线观看| 亚洲18色成人| 国产欧美日韩在线视频| 欧美亚洲另类激情小说| 狠狠色狠狠色综合系列| 悠悠色在线精品| 精品国精品国产| 欧亚洲嫩模精品一区三区| 九九国产精品视频| 亚洲综合色区另类av| 精品福利一区二区三区 | 国产一区二区91| 亚洲小说欧美激情另类| 国产午夜精品久久| 欧美久久久久中文字幕| jlzzjlzz欧美大全| 激情文学综合网| 亚洲成人福利片| 国产精品传媒入口麻豆| 精品日本一线二线三线不卡| 欧洲精品中文字幕| 成人国产精品免费| 极品销魂美女一区二区三区| 艳妇臀荡乳欲伦亚洲一区| 天天综合色天天| 亚洲精品免费看| 国产精品麻豆网站| 久久综合狠狠综合久久综合88| 欧美日韩成人在线| 91麻豆蜜桃一区二区三区| 大胆亚洲人体视频| 国产自产高清不卡| 蜜桃av噜噜一区| 日韩精品免费视频人成| 亚洲一本大道在线| 亚洲最大成人网4388xx| 亚洲丝袜自拍清纯另类| 中文字幕一区二区三区在线播放| 久久蜜臀中文字幕| www久久精品| 精品1区2区在线观看| 欧美成人一级视频| 欧美成人性福生活免费看| 7878成人国产在线观看| 欧美肥大bbwbbw高潮| 欧美色倩网站大全免费| 色悠悠久久综合| 色av成人天堂桃色av| 在线视频一区二区三| 欧美亚洲国产bt| 欧美日本不卡视频| 欧美精品黑人性xxxx| 欧美一区二区三区在线电影| 在线综合视频播放| 日韩美女主播在线视频一区二区三区| 欧美一区二区在线观看| 日韩亚洲欧美一区二区三区| 精品久久久网站| 久久久久久久久久久电影| 日本一区免费视频| 中文字幕日韩一区二区| 亚洲欧美另类久久久精品2019| 亚洲狠狠丁香婷婷综合久久久| 夜夜精品视频一区二区| 视频一区二区三区中文字幕| 日本一不卡视频| 国产乱妇无码大片在线观看| 国产99久久久国产精品| 色综合激情久久| 欧美日韩免费在线视频| 欧美一级搡bbbb搡bbbb| 日韩精品中午字幕| 中文字幕不卡在线播放| 亚洲一区二区三区影院| 日本不卡一区二区| 欧美精品在线观看一区二区| 亚洲精品一线二线三线无人区| 国产三区在线成人av| 亚洲欧美区自拍先锋| 青青草伊人久久| 成人黄色免费短视频| 欧美亚洲日本国产| 久久精品视频免费观看| 亚洲美女屁股眼交| 麻豆成人免费电影| 色综合久久精品| 欧美大片免费久久精品三p| 国产精品色眯眯| 蜜桃av噜噜一区| 色婷婷av一区二区三区gif| 日韩欧美国产一二三区| 一区二区在线电影| 国内偷窥港台综合视频在线播放| 色琪琪一区二区三区亚洲区| 欧美一区中文字幕| 亚洲人精品一区| 韩国一区二区三区| 欧美日韩午夜影院| 国产精品久久久久久久久图文区| 日韩电影在线一区二区| 91色|porny| 欧美国产精品中文字幕| 青青草97国产精品免费观看无弹窗版 | 99精品视频在线播放观看| 91精品国产福利在线观看| 日韩毛片精品高清免费| 国产露脸91国语对白| 日韩欧美中文字幕公布| 一区二区成人在线观看| 成人丝袜高跟foot| 国产婷婷一区二区| 久久99精品久久久久久国产越南 | 国产一区91精品张津瑜| 欧美日韩大陆一区二区| 亚洲色大成网站www久久九九| 精彩视频一区二区三区| 欧美妇女性影城| 懂色av中文一区二区三区 | 奇米影视在线99精品| 欧美丝袜丝交足nylons图片| 中文字幕在线播放不卡一区| 国产成人精品影院| 久久久久久久久久久电影| 久久国产精品第一页| 欧美精品一卡二卡| 亚洲大片精品永久免费| 精品视频一区三区九区| 亚洲美女在线国产| 日本韩国精品一区二区在线观看| 亚洲少妇最新在线视频| 色综合久久综合网欧美综合网| 亚洲激情综合网| 欧美性受极品xxxx喷水|