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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

SHT30的C51單片機程序 ,數碼管顯示,誤差±1,可直接移植

  [復制鏈接]
跳轉到指定樓層
樓主
ID:277976 發表于 2018-12-10 11:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <intrins.h>
#include <STC12C5A60S2.h>
#include "I2C.h"
#include "SHT30.h"
#define uint unsigned int
#define uchar unsigned char

void display();

unsigned char code tableduan[]= {
    0x3f,0x06,0x5b,0x4f,
    0x66,0x6d,0x7d,0x07,
    0x7f,0x6f,0x77,0x7c,
    0x39,0x5e,0x79,0x71
};

uchar data DIS_ROME[6]= {0,0,0,0,0,0}; //顯示緩存區(4)
uchar DISP=0;//緩存區指針
uchar SCANF=0xDF;//掃描指針
sbit LED1=P1^0;
sbit LED2=P1^1;
sbit LED3=P1^2;
sbit LED4=P1^3;

sbit VOC_A=P3^5;
sbit VOC_B=P3^6;

sbit dula=P2^6; //IO口定義
sbit wela=P2^7;
sbit key=P3^4;
sbit beep_dr=P2^3;
uint pm1 = 0;
uint pm2 = 0;
uint pm10 = 0;
uchar vr=0;
uint intrcnt=0;
bit F_1HZ;
uint voice_time_cnt;
uchar Uart_Buf;
uchar Rec_Addr=0;
uchar mode=0;
uchar Rec_Uart=0;
uchar Recive_Buf[30]= {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
#define key P34
#define const_key_time1  50
unsigned char ucKeySec=0;   //被觸發的按鍵編號

unsigned int  uiKeyTimeCnt1=0; //按鍵去抖動延時計數器
unsigned char ucKeyLock1=0; //按鍵觸發后自鎖的變量標志
unsigned char displaycnt=0;
void keyscan()
{
    if(key==1)//IO是高電平,說明按鍵沒有被按下,這時要及時清零一些標志位
    {
        ucKeyLock1=0; //按鍵自鎖標志清零
        uiKeyTimeCnt1=0;//按鍵去抖動延時計數器清零,此行非常巧妙,是我實戰中摸索出來的。
    }
    else if(ucKeyLock1==0)//有按鍵按下,且是第一次被按下
    {
        uiKeyTimeCnt1++; //累加定時中斷次數
        if(uiKeyTimeCnt1>const_key_time1)
        {
            uiKeyTimeCnt1=0;
            ucKeyLock1=1;  //自鎖按鍵置位,避免一直觸發
            ucKeySec=1;    //觸發1號鍵
        }
    }

}
void keyservice()
{
        if(ucKeySec)
        {
                displaycnt=!displaycnt;
        
        }
                ucKeySec=0;

}

void UartInit(void)                //9600bps@12.000MHz
{
    TMOD=0x01;  //設置定時器0為工作方式1
    TH0=0xf8;   //重裝初始值(65535-500)=65035=0xfe0b
    TL0=0x2f;


    SCON=0x50;
    TMOD=0X21;


    IP =0x10;  //把串口中斷設置為最高優先級,


    EA=1;
    ES=1;
    ET0=1;
    TR0=1;
}



void T0_time(void) interrupt 1   //定時中斷
{
    TF0=0;  //清除中斷標志
    TR0=0; //關中斷
    keyscan();
          keyservice();
    display();
    if(++intrcnt==1000)
    {
        intrcnt=0;

    }
    TH0=0xf8;
    TL0=0x2f;
    TR0=1;  //開中斷

}



void display()        //LED掃描
{


    if(displaycnt==1)
                {               
                                DIS_ROME[0]=0;
                                DIS_ROME[1]=Hum_num[4];
                                DIS_ROME[2]=Hum_num[3];
                                DIS_ROME[3]=Hum_num[2];
                                DIS_ROME[4]=Hum_num[1];
                                DIS_ROME[5]=Hum_num[0];
    }
                else
                {
                                DIS_ROME[0]=0;
                                DIS_ROME[1]=TEMP_num[4];
                                DIS_ROME[2]=TEMP_num[3];
                                DIS_ROME[3]=TEMP_num[2];
                                DIS_ROME[4]=TEMP_num[1];
                                DIS_ROME[5]=TEMP_num[0];
                }



    wela=1;

    P0=SCANF;
    wela=0;

    dula=1;
    P0=tableduan[DIS_ROME[DISP]];//數據端口送數據
    dula=0;

    DISP++;//緩存指針加1
    SCANF=_cror_(SCANF,1);//掃描切換
    if(DISP==7)//緩存指針到尾
    {
        DISP=0;//計數歸零
        SCANF=0xDF;//掃完四個數碼管,掃描復位
    }
//        delay(5);
}




void main(void)  //主函數
{

    UartInit();

    I2C_inita();
    while(1)
    {
                        
                  Getdat_SHT30();
                  SHT30_DATEChange();
    }   
}


sht30C51.rar

46.21 KB, 下載次數: 504, 下載積分: 黑幣 -5

調試ok,可以直接移植

評分

參與人數 2黑幣 +65 收起 理由
perfect123 + 15 不管能不能用,贊一個
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:159122 發表于 2019-3-14 16:25 | 只看該作者
感謝樓主分享
回復

使用道具 舉報

板凳
ID:356941 發表于 2019-4-13 23:16 | 只看該作者
perfect123 發表于 2019-3-14 20:56
擼主,我已經完全調試好了你的代碼,你的代碼有一些小地方需要改動,并不能直接使用,否則各種報錯。
本著 ...

能發給我看看嘛,我修改不出來
回復

使用道具 舉報

地板
ID:511114 發表于 2019-4-15 22:41 | 只看該作者
perfect123 發表于 2019-3-14 20:56
擼主,我已經完全調試好了你的代碼,你的代碼有一些小地方需要改動,并不能直接使用,否則各種報錯。
本著 ...

我也是寫不出來,希望大佬發一下
回復

使用道具 舉報

5#
ID:541317 發表于 2019-5-18 12:59 | 只看該作者
應該會有用吧
回復

使用道具 舉報

6#
ID:541949 發表于 2019-5-19 11:19 | 只看該作者
感謝樓主分享
回復

使用道具 舉報

7#
ID:34693 發表于 2019-8-14 14:13 | 只看該作者
這個程序好像是有點問題
回復

使用道具 舉報

8#
ID:337808 發表于 2019-12-27 23:05 | 只看該作者
程序參考意義非凡,只需按照樓主的提示做,完全可以調試成功。
回復

使用道具 舉報

9#
ID:359588 發表于 2020-1-31 15:06 | 只看該作者
感謝樓主分享
回復

使用道具 舉報

10#
ID:359588 發表于 2020-1-31 15:07 | 只看該作者
我已經完全調試好了你的代碼,你的代碼有一些小地方需要改動,并不能直接使用,否則各種報錯。 本著這是你的代碼的緣由,我不便于發出修改版本,除非獲得
回復

使用道具 舉報

11#
ID:583853 發表于 2020-3-20 21:39 | 只看該作者
感謝樓主分享
回復

使用道具 舉報

12#
ID:728625 發表于 2020-4-14 11:20 | 只看該作者
感謝樓主分享
回復

使用道具 舉報

13#
ID:77840 發表于 2020-5-11 23:03 | 只看該作者
新人入坑,看不懂這里的訣竅:“unsigned int  uiKeyTimeCnt1=0; //按鍵去抖動延時計數器
unsigned char ucKeyLock1=0; //按鍵觸發后自鎖的變量標志
unsigned char displaycnt=0;
void keyscan()
{
    if(key==1)//IO是高電平,說明按鍵沒有被按下,這時要及時清零一些標志位
    {
        ucKeyLock1=0; //按鍵自鎖標志清零
        uiKeyTimeCnt1=0;//按鍵去抖動延時計數器清零,此行非常巧妙,是我實戰中摸索出來的。”在申明變量的時候已經賦值了,為何還要在后面重新賦值?
回復

使用道具 舉報

14#
ID:277976 發表于 2020-5-18 08:59 | 只看該作者
面具下的狼性 發表于 2020-5-11 23:03
新人入坑,看不懂這里的訣竅:“unsigned int  uiKeyTimeCnt1=0; //按鍵去抖動延時計數器
unsigned char u ...

按鍵松開計時清零標記位和按鍵去抖計數器
回復

使用道具 舉報

15#
ID:832082 發表于 2020-10-22 15:23 | 只看該作者
下載了,試試看
回復

使用道具 舉報

16#
ID:846569 發表于 2020-11-22 22:59 | 只看該作者
感謝大佬,借用SHT30.c的代碼正常運行,調試了3 4天終于有結果了,萬分感謝
回復

使用道具 舉報

17#
ID:367948 發表于 2021-2-4 19:04 | 只看該作者
謝謝樓主分享程序,想做一個SHT30的溫濕度測量。
回復

使用道具 舉報

18#
ID:854496 發表于 2022-4-19 13:14 | 只看該作者
正好最近搞溫濕度,希望可以用上
回復

使用道具 舉報

19#
ID:58591 發表于 2022-8-25 23:33 | 只看該作者
非常Nice,感謝分享!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产福利免费视频 | 午夜电影一区二区 | 一区中文字幕 | 亚洲日韩第一页 | 亚洲444eee在线观看 | 久久久99精品免费观看 | av网站在线看 | 欧美二区在线 | 国产精品一区二区福利视频 | 91中文字幕在线观看 | 国产精品久久久久久久久久妇女 | 亚洲精品电影网在线观看 | 色呦呦网站 | 一区二区免费在线观看 | 欧美激情久久久久久 | 少妇精品亚洲一区二区成人 | 美女视频一区二区三区 | 99精彩视频 | 亚洲毛片在线观看 | 五月婷婷丁香婷婷 | 国产亚洲精品久久19p | 国产精品乱码一二三区的特点 | 国产精品欧美一区二区三区不卡 | 97视频在线观看免费 | 在线国产一区 | 欧美日韩一区二区视频在线观看 | 成人自拍视频 | 久久成人免费视频 | 91欧美| 999热视频| 久亚州在线播放 | 99精品一区二区三区 | 国产精品久久久久久久久久久久久 | 激情五月婷婷丁香 | 欧美激情久久久 | 国产成人精品久久二区二区91 | 免费观看日韩精品 | 91精品国产综合久久精品 | 男女羞羞视频大全 | 精品国产乱码久久久久久丨区2区 | 91一区二区三区 |