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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5257|回復: 21
收起左側

單片機做的溫濕度+時鐘 數(shù)碼管出現(xiàn)閃爍的清況,求大佬給指點下!

  [復制鏈接]
ID:302353 發(fā)表于 2018-4-23 20:44 | 顯示全部樓層 |閱讀模式
請問大佬我用51單片機+LCD12864顯示溫濕度,而用數(shù)碼管顯示實時時鐘,為什么數(shù)碼管會出現(xiàn)閃爍的清況,我把LCD12864顯示溫濕度的程序注釋掉,數(shù)碼管就正常了;我的數(shù)碼管是用2片595通過級聯(lián)擴展出16個IO口;8個控制段選,8個控制位選,但一旦LCD12864顯示溫濕度就會閃爍,求大佬給個解決的辦法



回復

使用道具 舉報

ID:213173 發(fā)表于 2018-4-25 07:07 | 顯示全部樓層
本帖最后由 wulin 于 2018-4-25 11:04 編輯

你需要重新調整程序框架,把主循環(huán)周期控制在2ms以內,非不得已不要使用Delay()、while()空耗時間等待的語句,不是必須在中斷中處理的事務就不要放在中斷里。其實就這一點點功能不應該占用多少時間,比如數(shù)碼管動態(tài)顯示程序只要在主循環(huán)周期內顯示一位,分8次完成一輪顯示。比如12864也不必在一個主循環(huán)周期內全部刷新,溫濕度采樣也不必在一個主循環(huán)周期內全部處理。可以按時間片調度的思維方式寫多任務程序就不會有這些問題。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:118624 發(fā)表于 2018-4-23 23:32 | 顯示全部樓層
你最好也把電路圖和程序貼一下,我的猜測是讀取的溫度時間比較長打斷數(shù)碼管的顯示

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:315153 發(fā)表于 2018-4-24 10:59 | 顯示全部樓層
數(shù)碼管刷新頻率過慢,提高刷新頻率即可

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:315207 發(fā)表于 2018-4-24 12:01 | 顯示全部樓層
刷新頻率肉眼20HZ左右不閃

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:302353 發(fā)表于 2018-4-24 15:32 | 顯示全部樓層
對的,就是溫濕度讀取的時間有點長,導致了數(shù)碼管閃爍,我對數(shù)碼管的位選與段選分別接了一個鎖存器還是不行
回復

使用道具 舉報

ID:118624 發(fā)表于 2018-4-24 22:17 | 顯示全部樓層
如果我的話,我會將那個數(shù)碼管顯示放在定時器里面,溫度是在主程序里面,時間一到先刷新數(shù)碼管,再執(zhí)行溫度的那一部分

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:302353 發(fā)表于 2018-4-24 23:31 | 顯示全部樓層
青青之歌 發(fā)表于 2018-4-24 22:17
如果我的話,我會將那個數(shù)碼管顯示放在定時器里面,溫度是在主程序里面,時間一到先刷新數(shù)碼管,再執(zhí)行溫度 ...

大哥幫忙看下怎么改:
void smgxs(uchar n,uchar shu)
{
  uchar i;
        int smgdat;
        smgdat=(smgwei[n-1]<<8)+smgduan[shu];
        ST_CP=0;
  SH_CP=0;
        for(i=0;i<16;i++)
        {
        if(smgdat&(0x8000>>i))
    DS=1;
    else
    DS=0;
    SH_CP=0;         
                 Delay10us();       
          SH_CP=1;
                Delay10us();
         SH_CP=0;
        }
   ST_CP=1;       
        Delay10us();
   ST_CP=0;       
}

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:316218 發(fā)表于 2018-4-25 15:18 | 顯示全部樓層
兄弟你這也是畢業(yè)設計嗎?還是啥,我現(xiàn)在要做的畢業(yè)設計和這個差不多
回復

使用道具 舉報

ID:316280 發(fā)表于 2018-4-25 15:31 | 顯示全部樓層
一般來說數(shù)碼管的頻率在20hz就可以,有可能你的液晶程序復雜、執(zhí)行時間長,數(shù)碼管刷新頻率過慢。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:316305 發(fā)表于 2018-4-25 15:44 | 顯示全部樓層
可以了解下單片機前后臺的寫法,不要讓讀溫度的操作影響,顯示刷新頻率。
回復

使用道具 舉報

ID:316332 發(fā)表于 2018-4-25 16:15 | 顯示全部樓層
位的掃描調換看看
回復

使用道具 舉報

ID:302353 發(fā)表于 2018-4-25 23:14 | 顯示全部樓層
wulin 發(fā)表于 2018-4-25 07:07
你需要重新調整程序框架,把主循環(huán)周期控制在2ms以內,非不得已不要使用Delay()、while()空耗時間等待的語 ...

不是,我自己沒事做著玩
回復

使用道具 舉報

ID:302353 發(fā)表于 2018-4-25 23:15 | 顯示全部樓層
aoyucheng 發(fā)表于 2018-4-25 15:18
兄弟你這也是畢業(yè)設計嗎?還是啥,我現(xiàn)在要做的畢業(yè)設計和這個差不多

不,自己做著玩玩
回復

使用道具 舉報

ID:316761 發(fā)表于 2018-4-26 00:53 | 顯示全部樓層
最好有電路圖和程序,之前做過也有類似問題,讀取溫度的程序會干擾數(shù)碼管的刷新顯示,建議對溫度顯示程序進行改進

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:138119 發(fā)表于 2018-4-26 07:35 | 顯示全部樓層
初學者往往對液晶屏發(fā)送數(shù)據(jù)前不進行查忙操作,每次發(fā)送完或者發(fā)送數(shù)據(jù)前都延時5ms再發(fā),看看是不是這里引起的?一般程序里不要有毫秒級延時,如果延時最好用定時器做標志,根據(jù)標志確定延時時長,或者做一個變量的++操作,進行跑圈累加,以達到延時的目的。我做程序一般最長的delay為幾十us,再長久考慮上述方法!希望對您有幫助!

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:307103 發(fā)表于 2018-4-26 09:10 | 顯示全部樓層
把數(shù)碼管刷新頻率調慢一點,開發(fā)板上應該有一個可調電容調節(jié)的
回復

使用道具 舉報

ID:306178 發(fā)表于 2018-4-26 09:12 | 顯示全部樓層
你要知道數(shù)碼管的顯示原理。
你的數(shù)碼管我手上也有,也是做溫濕度顯示,也是用兩個HC595進行位選和段選。
數(shù)碼管顯示原理:同一時刻(指絕對時間,比如此時此刻,一納秒都不多也不少的那種)只有一個數(shù)碼管在顯示數(shù)據(jù),怎么做才能讓多個數(shù)碼管顯示呢?
其實是用的動態(tài)掃描法。比如說我此時刻顯示第一個數(shù)碼管,下一時刻顯示第二個,以此類推,到了最后一個再從第一個開始顯示。
那如何做到一個時刻只顯示一個數(shù)碼管卻讓人眼看到全部的數(shù)碼管顯示呢?
這個是利用的人眼識別東西的余暉效應,通常情況下,人眼識別連貫的圖像的最低幀率是24幀/秒,也就是說,如果是這樣動態(tài)刷新的顯示方式,最慢的刷新時間為1000ms/24幀約等于40ms/幀,就是一副完整的圖像最低得40ms刷新一次。對于4位數(shù)碼管而言,想要無閃爍顯示,則整體刷新最低時間為40ms,即每單個數(shù)碼管,最低刷新速率是10ms,對于8位數(shù)碼管則是5ms
弄懂了原理想要無閃爍顯示就簡單了,看看書上的定時器中斷介紹,基本就OK了。
回復

使用道具 舉報

ID:183278 發(fā)表于 2018-4-26 11:07 | 顯示全部樓層
我的畢設也是這個,多功能數(shù)顯溫度計,我想用的是1602屏幕做這個,用數(shù)碼管的話不能同時顯示年與日時間-溫度濕度
回復

使用道具 舉報

ID:183278 發(fā)表于 2018-4-26 11:07 | 顯示全部樓層
另外你可以多加一個時間模塊不就可以了嗎
回復

使用道具 舉報

ID:302353 發(fā)表于 2018-4-26 17:04 | 顯示全部樓層
感謝各位大佬的回復,我把數(shù)碼管顯示的程序放在了定時器里,數(shù)碼管閃爍問題已經(jīng)解決
回復

使用道具 舉報

ID:499163 發(fā)表于 2020-3-27 17:06 | 顯示全部樓層
飛科技 發(fā)表于 2018-4-26 17:04
感謝各位大佬的回復,我把數(shù)碼管顯示的程序放在了定時器里,數(shù)碼管閃爍問題已經(jīng)解決

怎么做的,能把代碼貼出來嗎,我也有這個問題
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲综合色视频在线观看 | 超碰成人在线观看 | 欧美精品久久久 | 国产精品69毛片高清亚洲 | 国产ts人妖系列高潮 | 欧美性久久久 | 久久亚洲精品久久国产一区二区 | 大学生a级毛片免费视频 | 久久久国产一区二区三区 | 一级a爱片久久毛片 | 日本不卡高清视频 | 电影在线 | 国产一级片在线观看视频 | 91精品国产91久久综合桃花 | 欧美性jizz18性欧美 | 在线观看国产wwwa级羞羞视频 | 色婷婷综合久久久中文字幕 | 噜久寡妇噜噜久久寡妇 | 精品无码久久久久久国产 | 在线免费观看亚洲 | 成人一区精品 | 欧美久久一级 | 精品麻豆剧传媒av国产九九九 | 久久成人免费 | 国产999精品久久久久久 | 亚洲综合精品 | 欧美三级免费观看 | 看a网站| 中文字幕a√ | 一级毛片免费 | 日日夜夜操天天干 | 国产一区二区 | 亚洲精品乱码久久久久久蜜桃91 | 天天色av | 精品国产伦一区二区三区观看体验 | 日本久久精品 | 欧美特级黄色 | 久久久久国产一区二区三区四区 | 午夜av在线| 九九九国产 | 亚洲第一av网站 |