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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

  [復制鏈接]
跳轉到指定樓層
樓主
ID:302353 發表于 2018-4-23 20:44 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問大佬我用51單片機+LCD12864顯示溫濕度,而用數碼管顯示實時時鐘,為什么數碼管會出現閃爍的清況,我把LCD12864顯示溫濕度的程序注釋掉,數碼管就正常了;我的數碼管是用2片595通過級聯擴展出16個IO口;8個控制段選,8個控制位選,但一旦LCD12864顯示溫濕度就會閃爍,求大佬給個解決的辦法



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

使用道具 舉報

來自 8#
ID:213173 發表于 2018-4-25 07:07 | 只看該作者
本帖最后由 wulin 于 2018-4-25 11:04 編輯

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

評分

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

查看全部評分

回復

使用道具 舉報

沙發
ID:118624 發表于 2018-4-23 23:32 | 只看該作者
你最好也把電路圖和程序貼一下,我的猜測是讀取的溫度時間比較長打斷數碼管的顯示

評分

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

查看全部評分

回復

使用道具 舉報

板凳
ID:315153 發表于 2018-4-24 10:59 | 只看該作者
數碼管刷新頻率過慢,提高刷新頻率即可

評分

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

查看全部評分

回復

使用道具 舉報

地板
ID:315207 發表于 2018-4-24 12:01 | 只看該作者
刷新頻率肉眼20HZ左右不閃

評分

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

查看全部評分

回復

使用道具 舉報

5#
ID:302353 發表于 2018-4-24 15:32 | 只看該作者
對的,就是溫濕度讀取的時間有點長,導致了數碼管閃爍,我對數碼管的位選與段選分別接了一個鎖存器還是不行
回復

使用道具 舉報

6#
ID:118624 發表于 2018-4-24 22:17 | 只看該作者
如果我的話,我會將那個數碼管顯示放在定時器里面,溫度是在主程序里面,時間一到先刷新數碼管,再執行溫度的那一部分

評分

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

查看全部評分

回復

使用道具 舉報

7#
ID:302353 發表于 2018-4-24 23:31 | 只看該作者
青青之歌 發表于 2018-4-24 22:17
如果我的話,我會將那個數碼管顯示放在定時器里面,溫度是在主程序里面,時間一到先刷新數碼管,再執行溫度 ...

大哥幫忙看下怎么改:
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;       
}

評分

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

查看全部評分

回復

使用道具 舉報

9#
ID:316218 發表于 2018-4-25 15:18 | 只看該作者
兄弟你這也是畢業設計嗎?還是啥,我現在要做的畢業設計和這個差不多
回復

使用道具 舉報

10#
ID:316280 發表于 2018-4-25 15:31 | 只看該作者
一般來說數碼管的頻率在20hz就可以,有可能你的液晶程序復雜、執行時間長,數碼管刷新頻率過慢。

評分

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

查看全部評分

回復

使用道具 舉報

11#
ID:316305 發表于 2018-4-25 15:44 | 只看該作者
可以了解下單片機前后臺的寫法,不要讓讀溫度的操作影響,顯示刷新頻率。
回復

使用道具 舉報

12#
ID:316332 發表于 2018-4-25 16:15 | 只看該作者
位的掃描調換看看
回復

使用道具 舉報

13#
ID:302353 發表于 2018-4-25 23:14 | 只看該作者
wulin 發表于 2018-4-25 07:07
你需要重新調整程序框架,把主循環周期控制在2ms以內,非不得已不要使用Delay()、while()空耗時間等待的語 ...

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

使用道具 舉報

14#
ID:302353 發表于 2018-4-25 23:15 | 只看該作者
aoyucheng 發表于 2018-4-25 15:18
兄弟你這也是畢業設計嗎?還是啥,我現在要做的畢業設計和這個差不多

不,自己做著玩玩
回復

使用道具 舉報

15#
ID:316761 發表于 2018-4-26 00:53 | 只看該作者
最好有電路圖和程序,之前做過也有類似問題,讀取溫度的程序會干擾數碼管的刷新顯示,建議對溫度顯示程序進行改進

評分

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

查看全部評分

回復

使用道具 舉報

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

評分

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

查看全部評分

回復

使用道具 舉報

17#
ID:307103 發表于 2018-4-26 09:10 | 只看該作者
把數碼管刷新頻率調慢一點,開發板上應該有一個可調電容調節的
回復

使用道具 舉報

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

使用道具 舉報

19#
ID:183278 發表于 2018-4-26 11:07 | 只看該作者
我的畢設也是這個,多功能數顯溫度計,我想用的是1602屏幕做這個,用數碼管的話不能同時顯示年與日時間-溫度濕度
回復

使用道具 舉報

20#
ID:183278 發表于 2018-4-26 11:07 | 只看該作者
另外你可以多加一個時間模塊不就可以了嗎
回復

使用道具 舉報

21#
ID:302353 發表于 2018-4-26 17:04 | 只看該作者
感謝各位大佬的回復,我把數碼管顯示的程序放在了定時器里,數碼管閃爍問題已經解決
回復

使用道具 舉報

22#
ID:499163 發表于 2020-3-27 17:06 | 只看該作者
飛科技 發表于 2018-4-26 17:04
感謝各位大佬的回復,我把數碼管顯示的程序放在了定時器里,數碼管閃爍問題已經解決

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 超碰520 | 五月天天色 | 国产精品不卡 | 国产婷婷精品av在线 | 一区二区三区日 | 色综合久久久 | 亚洲激情一区二区 | 久久久人成影片免费观看 | 国产成人高清成人av片在线看 | 欧美视频二区 | 日韩有码一区 | 精品一区二区三区在线观看国产 | 91久久综合亚洲鲁鲁五月天 | 成人免费xxxxx在线视频 | 日韩成人免费视频 | 蜜桃av一区二区三区 | 久久国产精品一区二区三区 | 亚洲一区二区在线播放 | 久久99精品久久久久久青青日本 | 亚洲一区二区三区在线播放 | 中文字幕亚洲精品在线观看 | 九九九视频| 国产成人精品久久二区二区 | 亚洲欧美日本在线 | 国产农村妇女精品一二区 | 成人在线看片 | 国产中文字幕在线观看 | 五月婷婷中文 | 午夜不卡福利视频 | 在线视频一区二区 | 亚洲成人精品一区二区 | 五月婷婷丁香婷婷 | 在线日韩不卡 | 91av视频在线| 欧美一区二区在线视频 | 国产精品亚洲一区 | 91成人免费看片 | 亚洲高清视频在线观看 | 九九久久99 | 亚洲一区欧美 | 日本免费视频在线观看 |