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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5251|回復: 0
打印 上一主題 下一主題
收起左側

【求助】cvavr 不用1wire函數編寫ds18b20讀不出溫度

[復制鏈接]
跳轉到指定樓層
樓主
ID:46918 發表于 2012-12-1 23:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

最近幾天,一直在用cvavr編寫ds18b20的程序,用protues進行仿真,一直沒成功過,很糾結。讀出來的數據不是ffff,就是37.6,剛剛讀出個-123.9出來了,調ds18b20 的溫度lcd顯示也不變,估計是沒有讀出數據來,求高手指點迷津,下面是程序,麻煩大俠指出問題所在,希望有好心人分享下杰作(最好是通過仿真的)如果是分模塊做的希望把模塊中的子程序也附上,本人剛上手,很多東西都不是很熟,有的話發我郵箱非常感謝!

我是用頭文件的形式把ds要用的函數嵌進主函數的,我用的是lcd顯示,lcd程序也是沒有調用函數,是自己編的,是ok的,現在問題就是讀不出數據來

要說明的幾點就是我在<dspredef.h>中已經定義好了端口:

#ifndef _dspredef_h_
#define _dspredef_h_

#include <mega16.h>

#include <delay.h>

//#define nop() #asm ("nop")#asm ("nop")#asm ("nop")#asm ("nop")#asm ("nop")#asm ("nop")#asm ("nop")#asm ("nop")#asm ("nop")#asm ("nop")#asm ("nop")
                   
            


#define uchar unsigned char
#define uint unsigned int

#define openlcd DDRC = 0xc0;DDRB = 0xff
#define lcden PORTC.6
#define lcdrs PORTC.7

#define outdsdq DDRA.7 = 1
#define indsdq DDRA.7 = 0
#define ds18dqw PORTA.7
#define ds18dqr PINA.7

 


#endif

上面的是定義文件

#ifndef _dsfun_h_
#define _dsfun_h_

#include <dspredef.h>

uchar numtable[] = "0123456789. -";
uchar tmpcode[6] = {0,0,0,0,0,0};

uchar dsreset()
{
    uchar a;
    outdsdq;
    ds18dqw = 0;
   
    #asm("cli")
    delay_us(500);
    #asm("sei")
   
    ds18dqw = 1;
    
    #asm("cli")
    delay_us(100);
    #asm("sei")
   
    indsdq;
    a = ds18dqr;
    a = ds18dqr;
   
    #asm("cli")
    delay_us(500);
    #asm("sei")
   
    return (a);
      
}

uchar dsread()
{
    uchar i,k = 0,buf;
    i = 8;
    while(i--)
    {  
        outdsdq;
        ds18dqw = 0;
       
        #asm("cli")
        delay_us(10);
        #asm("sei")
       
        ds18dqw = 1;
        indsdq;
        k >>= 1;
        buf = ds18dqr;
        buf = ds18dqr;
        if(buf)k |= 0x80;
       
        #asm("cli")
        delay_us(50);
        #asm("sei")
       
    }
    return (k);
}

void dswrite(uchar dat)
{
    uint j;
    outdsdq;
    for(j = 1;j <= 8;j++)
    {
        ds18dqw = 0;
       
        #asm("cli")
        delay_us(10);
        #asm("sei")
       
        if(dat & 0x01)
        {
            ds18dqw =1;
           
//            #asm("cli")
//            delay_us(45);
//            #asm("sei")
        }
//        else
//        {
//            ds18dqw = 0;
//           
//            #asm("cli")
//            delay_us(45);
//            #asm("sei")
//           
//            ds18dqw = 1;
//            
//            #asm("cli")
//            delay_us(35);
//            #asm("sei")
//        }
        #asm("cli")
        delay_us(100);
        #asm("sei")
        ds18dqw = 1;  
        dat >>= 1;
    }
}

void dschange()
{
    dsreset();
    dswrite(0xcc);
    dswrite(0x44);  
}

uint dstmp()
{
    uchar tmpl,tmph;
    uint tmp;
    dsreset();
    dswrite(0xcc);
    dswrite(0xbe);
    tmpl = dsread();
    tmph = dsread();
   
    tmp = tmpl;
    tmp <<= 8;
    tmp |= tmph;
   
    return (tmp);
   
       
}

void tmpdispose(uint t)
{  
    if(t <= 0x07ff)
    tmpcode[0] = numtable[11];
    else
    {
        tmpcode[0] = numtable[12];
        t = ~t +1;
    }
    t *= 0.625;
    tmpcode[1] = numtable[t / 1000];
    tmpcode[2] = numtable[(t % 1000) / 100];
    tmpcode[3] = numtable[(t % 100) / 10];
    tmpcode[4] = numtable[10];
    tmpcode[5] = numtable[t % 10];
}

#endif

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产在线视频一区二区董小宛性色 | 美女一级a毛片免费观看97 | 在线免费小视频 | 在线91 | 瑟瑟激情 | 亚洲女优在线播放 | 欧美精品久久久久 | 九九精品在线 | 午夜视频在线观看网站 | 精品人伦一区二区三区蜜桃网站 | 青青草视频网站 | 国产精品成人一区 | 久久久久久国产精品免费 | a视频在线观看 | 国产精品久久久久久亚洲调教 | 精品久久久一区二区 | 99久久精品免费看国产四区 | 国产污视频在线 | 91av在线免费观看 | 97精品国产一区二区三区 | 在线国产一区二区 | 亚洲欧美日本在线 | 亚洲免费一区二区 | 国产精品久久久久久久久污网站 | 一区二区三区四区视频 | 亚洲经典一区 | 国内精品一区二区三区 | 在线观看av网站 | 午夜小电影 | 欧美日韩不卡 | 亚洲欧美在线观看视频 | 国产伦精品一区二区 | 久草青青草 | 亚洲自拍偷拍免费视频 | 成人免费淫片aa视频免费 | 国产999精品久久久久久 | 81精品国产乱码久久久久久 | 99久久99久久精品国产片果冰 | 91pron在线 | 国产高潮av | h视频免费在线观看 |