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

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

SD18b20溫度在液晶屏

作者:佚名   來源:本站原創   點擊數:  更新時間:2011年08月05日   【字體:
//*****************************************************************
   /*
     程序功能:在1602液晶屏上顯示當前溫度
  涉及芯片: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;
//====================================函數聲明
//*********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)//毫秒級延時函數
 {
   uint i,j;
   for(i=time;i>0;i--)
    for(j=110;j>0;j--);
 }
void delayus(uint time)//微秒級延時函數
 {
   while(time--);
 }
void init_18b20()//對sd18b20的初始化
 {
   uchar n;
   DQ=1;
   delayus(8);
   DQ=0;
   delayus(80);
   DQ=1;
   delayus(8);
   n=DQ;
   delayus(8);
 }
/*將數據線拉為低電平產生寫時間片,在數據線口拉為低電平在15微秒到60微秒間對數據
  線進行數據采樣.如果為高電平則為寫“1”,如果為低電平則為寫零。
     對于主機產生的寫“1”時間片的情況:數據線必須必先拉為低電平,然后被釋放,是
                                   數據線在產生時間片15微秒之內拉至高電平;
     對于主機產生的寫“0”時間片的情況:數據線必須被拉至邏輯電平并且保持低電平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讀數據時,主機產生讀時間片。當主機把數據線從邏輯高電平拉至低電平時,產生
 讀時間片。數據線必須保持在邏輯低電平至少1個微秒。來至ds18b20的數據在讀時間下降沿之
 后15微秒有效。因此,為了讀出從時間片開始15微秒的狀態,主機必須停止保持數據線為邏輯
 低電平。*/
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;                //顯示十位上的數
   write_date1602(0x30+a);
   delayms(5);
   write_com1602(0x80+0x04);
   b=high%10;                //顯示個位上的數
   write_date1602(0x30+b);
   delayms(5);
   write_com1602(0x80+0x06);
   c=(int)(m*10);     //小數點后一位
   write_date1602(0x30+c);
   delayms(5);
   d=(int)(m*100)%10;    //小數點后第二位
   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);
 }   
關閉窗口

相關文章

主站蜘蛛池模板: 国产精品久久国产愉拍 | 成人福利视频网站 | 亚洲夜射 | 521av网站 | 亚洲成人精品一区 | 国产午夜精品一区二区三区嫩草 | 一区二区久久电影 | 天天精品在线 | 成年人在线视频 | 亚洲国产中文在线 | 日本午夜精品 | 国产成人在线观看免费 | 网络毛片 | 免费在线播放黄色 | 伊人久久在线观看 | 天天在线操 | 国产精品免费一区二区三区四区 | 中文字幕人成乱码在线观看 | 国产精品123区 | 久久久久久99| 欧美成人激情视频 | 久久久黑人 | 久久这里只有精品首页 | 九九精品在线 | 国产精品亚洲精品久久 | 99久久精品国产一区二区三区 | 视频在线观看一区 | 国产一区二区电影网 | 波多野结衣电影一区 | 日韩二三区 | 中文欧美日韩 | 精品久久久久久久久久久 | 99re在线视频 | 国产在线二区 | 人人干人人干人人 | 91中文字幕在线观看 | 免费在线观看成人 | 丁香五月网久久综合 | 国产高清精品一区二区三区 | 国产成人99久久亚洲综合精品 | 亚洲精品一区二区冲田杏梨 |