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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1170|回復(fù): 11
打印 上一主題 下一主題
收起左側(cè)

有沒(méi)有大佬看一下,這個(gè)單片機(jī)代碼出了什么問(wèn)題,lcd板亮但是不顯示溫度

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
#include <reg52.h>
sbit DQ = P2^0;
sbit RS = P2^1;
sbit RW = P2^2;
sbit E = P2^3;
sbit K1 = P2^4;
sbit K2 = P2^5;
sbit Buzzer = P2^6;


unsigned int highTemp = 30;  
unsigned int lowTemp = 20;
unsigned int currentTemp = 0;


void delay(unsigned int ms) {
    unsigned int i, j;
    for (i = ms; i > 0; i--)
        for (j = 110; j > 0; j--);
}


bit Init_DS18B20() {
    bit presence;

    DQ = 1;
    delay(1);
    DQ = 0;
    delay(75);
    DQ = 1;
    delay(4);
    presence = DQ;

    delay(20);

    return presence;
}


void Write_DS18B20(unsigned char dat) {
    unsigned char i;

    for (i = 0; i < 8; i++) {
        DQ = 0;
        _nop_();
        DQ = dat & 0x01;
        delay(5);
        DQ = 1;
        dat >>= 1;
    }
}


unsigned char Read_DS18B20() {
    unsigned char i, dat;

    for (i = 0; i < 8; i++) {
        DQ = 0;
        _nop_();
        DQ = 1;
        _nop_();
        dat >>= 1;
        if (DQ)
            dat |= 0x80;
        delay(5);
    }

    return dat;
}


unsigned char ReadTemperature() {
    unsigned char temp_h, temp_l;

    Init_DS18B20();
    Write_DS18B20(0xCC);
    Write_DS18B20(0xBE);

    temp_l = Read_DS18B20();
    temp_h = Read_DS18B20();

    currentTemp = temp_h;

    return temp_l;
}


void LCD_Init() {
    delay(15);
    Write_Command(0x38);
    Write_Command(0x0C);
    Write_Command(0x06);
    Write_Command(0x01);
}


void Write_Command(unsigned char com) {
    RS = 0;
    RW = 0;
    E = 1;
    P0 = com;
    delay(1);
    E = 0;
}


void Write_Data(unsigned char dat) {
    RS = 1;
    RW = 0;
    E = 1;
    P0 = dat;
    delay(1);
    E = 0;
}


void Display_Temperature(unsigned char temp) {
    unsigned char temp_str[5];

    temp_str[0] = temp / 10 + '0';
    temp_str[1] = temp % 10 + '0';
    temp_str[2] = '.';
    temp_str[3] = ReadTemperature() / 10 + '0';
    temp_str[4] = ReadTemperature() % 10 + '0';

    Write_Command(0x80);
    Write_String("Temp: ");
    Write_Command(0x86);
    Write_String(temp_str);
    Write_Command(0xC0);
    Write_String("High: ");
    Write_Command(0xC6);
    Write_Char(highTemp / 10 + '0');
    Write_Char(highTemp % 10 + '0');
    Write_Command(0xCB);
    Write_String("Low: ");
    Write_Command(0xCF);
    Write_Char(lowTemp / 10 + '0');
    Write_Char(lowTemp % 10 + '0');
}


void Write_String(unsigned char *str) {
    while (*str != '\0') {
        Write_Data(*str);
        str++;
    }
}

void Write_Char(unsigned char dat) {
    Write_Data(dat);
}


void Alarm() {
    Buzzer = 0;
    delay(500);
    Buzzer = 1;
    delay(500);
}
void Key_Scan() {
    if (K1 == 0) {
        delay(5);
        if (K1 == 0) {
            highTemp++;
            Write_Command(0xCB);
            Write_Char(highTemp / 10 + '0');
            Write_Char(highTemp % 10 + '0');
            while (!K1);
        }
    }

    if (K2 == 0) {
        delay(5);
        if (K2 == 0) {
            lowTemp--;
            Write_Command(0xCF);
            Write_Char(lowTemp / 10 + '0');
            Write_Char(lowTemp % 10 + '0');
            while (!K2);
        }
    }
}

void main() {
    LCD_Init();

    while (1) {
        ReadTemperature();
        Display_Temperature(currentTemp);

        if (currentTemp > highTemp || currentTemp < lowTemp) {
            Alarm();
        }

        Key_Scan();
    }
}


屏幕截圖 2024-10-10 143311.png (52.86 KB, 下載次數(shù): 1)

屏幕截圖 2024-10-10 143311.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:844772 發(fā)表于 2024-10-10 16:29 | 只看該作者
線接錯(cuò)了,還有些漏接的,程序是粘貼的吧。
回復(fù)

使用道具 舉報(bào)

板凳
ID:59202 發(fā)表于 2024-10-10 16:46 | 只看該作者
LCD亮但是不顯示溫度是顯示字符正確只是溫度值沒(méi)顯示出來(lái)嗎
回復(fù)

使用道具 舉報(bào)

地板
ID:619259 發(fā)表于 2024-10-10 18:43 | 只看該作者
sbit RS = P2^1;
sbit RW = P2^2;
sbit E = P2^3;
以上三行有誤,電路中LCD三個(gè)控制端口用的是P1口,不是P2口
回復(fù)

使用道具 舉報(bào)

5#
ID:611988 發(fā)表于 2024-10-10 19:12 | 只看該作者
屏管腳檢查過(guò)了嗎?
回復(fù)

使用道具 舉報(bào)

6#
ID:1133322 發(fā)表于 2024-10-11 14:31 | 只看該作者
glinfei 發(fā)表于 2024-10-10 16:29
線接錯(cuò)了,還有些漏接的,程序是粘貼的吧。

是粘貼的
回復(fù)

使用道具 舉報(bào)

7#
ID:1133322 發(fā)表于 2024-10-11 14:31 | 只看該作者
xxxevery 發(fā)表于 2024-10-10 16:46
LCD亮但是不顯示溫度是顯示字符正確只是溫度值沒(méi)顯示出來(lái)嗎

啥也沒(méi)有顯示,只是亮屏
回復(fù)

使用道具 舉報(bào)

8#
ID:1133322 發(fā)表于 2024-10-11 14:32 | 只看該作者
cy009 發(fā)表于 2024-10-10 18:43
sbit RS = P2^1;
sbit RW = P2^2;
sbit E = P2^3;

好的,謝謝
回復(fù)

使用道具 舉報(bào)

9#
ID:1133322 發(fā)表于 2024-10-11 14:34 | 只看該作者

只是在Proteus模擬,還沒(méi)有弄硬件
回復(fù)

使用道具 舉報(bào)

10#
ID:1133323 發(fā)表于 2024-10-11 15:31 | 只看該作者
代碼錯(cuò)了
回復(fù)

使用道具 舉報(bào)

11#
ID:844772 發(fā)表于 2024-10-11 15:58 | 只看該作者

那不用改程序,按程序接線,你接錯(cuò)4根,另外,lcd漏接的三條線接好
回復(fù)

使用道具 舉報(bào)

12#
ID:1133322 發(fā)表于 2024-10-14 21:10 | 只看該作者
glinfei 發(fā)表于 2024-10-11 15:58
那不用改程序,按程序接線,你接錯(cuò)4根,另外,lcd漏接的三條線接好

好的,謝謝
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚州激情| 国产精品久久久久久影院8一贰佰 | 久久久久久免费毛片精品 | 日韩激情一区 | 日韩伦理一区二区 | 国产高清久久久 | 日韩中文字幕视频 | 午夜影院在线观看视频 | 91色网站| 久久久久亚洲精品国产 | 在线播放国产视频 | 天天爽夜夜骑 | 99在线免费视频 | 欧美国产日韩在线观看 | 国产探花在线观看视频 | 综合激情av | 国产成人精品亚洲日本在线观看 | 999热视频| 国产综合精品一区二区三区 | 在线观看涩涩视频 | 亚洲久久一区 | 波多野结衣一二三区 | 精品一区二区三区91 | 国产精品www| 福利av在线| 欧美福利| 亚洲精品免费视频 | 女人一区| 美女在线国产 | 一区精品国产欧美在线 | 亚洲欧洲日韩精品 中文字幕 | 免费簧片视频 | 免费视频一区二区三区在线观看 | 久草成人| 精品入口麻豆88视频 | 久久久.com | 亚洲成人久久久 | 日韩欧美亚洲 | 成人在线精品视频 | 亚洲精品一区二区三区蜜桃久 | 99国产精品久久久久久久 |