久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

SD18b20溫度在液晶屏

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時間:2011年08月05日   【字體:
//*****************************************************************
   /*
     程序功能:在1602液晶屏上顯示當(dāng)前溫度
  涉及芯片:1602液晶、SD18b20溫度傳感器
   */
//*****************************************************************

#include<reg52.h>
#define uint unsigned int 
#define uchar unsigned char
sbit DQ=P0^3;
sbit rs=P2^0;
sbit rw=P2^1;
sbit en=P2^2;
uchar low,high;
//====================================函數(shù)聲明
//*********sd18b20*******************
void delayus(uint time);
void init_18b20();
void write_18b20(uchar date);
uchar read_18b20();
void wndu();
//**********1602液晶**************
void init_1602();
void write_com1602(uchar com);
void write_date1602(uchar date);
//====================================
void delayms(uint time)//毫秒級延時函數(shù)
 {
   uint i,j;
   for(i=time;i>0;i--)
    for(j=110;j>0;j--);
 }
void delayus(uint time)//微秒級延時函數(shù)
 {
   while(time--);
 }
void init_18b20()//對sd18b20的初始化
 {
   uchar n;
   DQ=1;
   delayus(8);
   DQ=0;
   delayus(80);
   DQ=1;
   delayus(8);
   n=DQ;
   delayus(8);
 }
/*將數(shù)據(jù)線拉為低電平產(chǎn)生寫時間片,在數(shù)據(jù)線口拉為低電平在15微秒到60微秒間對數(shù)據(jù)
  線進(jìn)行數(shù)據(jù)采樣.如果為高電平則為寫“1”,如果為低電平則為寫零。
     對于主機(jī)產(chǎn)生的寫“1”時間片的情況:數(shù)據(jù)線必須必先拉為低電平,然后被釋放,是
                                   數(shù)據(jù)線在產(chǎn)生時間片15微秒之內(nèi)拉至高電平;
     對于主機(jī)產(chǎn)生的寫“0”時間片的情況:數(shù)據(jù)線必須被拉至邏輯電平并且保持低電平60個微秒*/

void write_18b20(uchar com)
 {
   uint i;
   for(i=0;i<8;i++)
    {
    DQ=0;
    //delayus(4);
    DQ=com&0x01;
    delayus(10);
    DQ=1;
    com>>=1;
    delayus(4);
 }
 delayus(4);
 }
/*從ds18b20讀數(shù)據(jù)時,主機(jī)產(chǎn)生讀時間片。當(dāng)主機(jī)把數(shù)據(jù)線從邏輯高電平拉至低電平時,產(chǎn)生
 讀時間片。數(shù)據(jù)線必須保持在邏輯低電平至少1個微秒。來至ds18b20的數(shù)據(jù)在讀時間下降沿之
 后15微秒有效。因此,為了讀出從時間片開始15微秒的狀態(tài),主機(jī)必須停止保持?jǐn)?shù)據(jù)線為邏輯
 低電平。*/
uchar read_18b20()
 {
   uint i;
   uchar date=0x00;
   for(i=0;i<8;i++)
    {
   DQ=0;
   date>>=1;
   DQ=1;
   if(DQ)date|=0x80;
   delayus(4);
   DQ=1;
   delayus(4);
 }
 return date;
 }
void wendu()
 {
   init_18b20();
   write_18b20(0xcc);//跳過ROM
   write_18b20(0x44);//啟動溫度測量
   delayus(300);

   init_18b20();
   write_18b20(0xcc);//跳過ROM
   write_18b20(0xbe);//讀取溫度
   low=read_18b20(); //先讀低八位
   high=read_18b20();//后讀高八位
 }
void xianshi()
 {
   uchar a,b,c,d;
   float m,n=0.0625;
   high<<=4;
   high+=(low&0xf0)>>4;
   m=(low%10)*n;
   delayus(4);
   write_com1602(0x80+0x03);
   a=high/10;                //顯示十位上的數(shù)
   write_date1602(0x30+a);
   delayms(5);
   write_com1602(0x80+0x04);
   b=high%10;                //顯示個位上的數(shù)
   write_date1602(0x30+b);
   delayms(5);
   write_com1602(0x80+0x06);
   c=(int)(m*10);     //小數(shù)點(diǎn)后一位
   write_date1602(0x30+c);
   delayms(5);
   d=(int)(m*100)%10;    //小數(shù)點(diǎn)后第二位
   write_com1602(0x80+0x07);
   write_date1602(0x30+d);
   delayms(5);
   write_com1602(0x80+0x08);
   write_date1602(0x27);
   delayms(5);
   write_com1602(0x80+0x09);
   write_date1602('C');
   delayms(5);
   write_com1602(0x80+0x05);
   write_date1602(0x2e);
   delayms(5);  
 }
void main()
 {
  init_1602();
  while(1)
   {
    wendu();
  xianshi();
   }
 }
void init_1602()
 {
  en=0;
 rw=0;
 write_com1602(0x28);
 delayms(5);
 write_com1602(0x01);
 delayms(5);
 write_com1602(0x0c);
 delayms(5);
 write_com1602(0x06);
 delayms(5);
 }
void write_com1602(uchar com)
 {
  uchar gao,di;
 gao=com&0xf0;
 di=(com<<4)&0xf0;
 delayms(5);

 P2=gao;
 rs=0;
 delayms(5);
 en=1;
 delayms(5);
 en=0;
 delayms(5);

 P2=di;
 rs=0;
 delayms(5);
 en=1;
 delayms(5);
 en=0;
 delayms(5);
 }
void write_date1602(uchar date)
 {
  uchar gao,di;
 gao=date&0xf0;
 di=(date<<4)&0xf0;
 delayms(5);

 P2=gao;
 rs=1;
 delayms(5);
 en=1;
 delayms(5);
 en=0;
 delayms(5);

 P2=di;
 rs=1;
 delayms(5);
 en=1;
 delayms(5);
 en=0;
 delayms(5);
 }   
關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 香蕉视频在线观看网站 | 日韩精品视频免费在线观看 | 人人艹人人 | 四虎在线播放 | 永久免费av网站 | 顶级黄色片 | 成人国产精品视频 | 国产精品一区二区性色av | 99久久精品一区二区成人 | 日韩精品国产精品 | 青青草国产成人av片免费 | 久久av片| 糖心vlog精品一区二区 | 色污污 | 日韩在线视频播放 | 久久性生活视频 | 三级黄色录像片 | 欧美成人小视频 | 久久视频在线免费观看 | 国产a视频 | 国产农村妇女精品一二区 | av片在线免费观看 | 五月婷婷色 | 国产日韩免费 | 久久精品视频网 | 亚洲欧美日韩另类 | 国产精品嫩草影院桃色 | 久久久精品 | 夜夜躁狠狠躁日日躁av | 91在线一区二区 | 69精品视频| www.黄色| av网站免费观看 | 色婷婷精品国产一区二区三区 | 午夜性福利 | 国产精品久久久久久久成人午夜 | www.亚洲国产 | a一级黄色片| 69精品视频| 色综合99 | 国产一区二区三区视频在线 |