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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

數碼管亮度自動調節,單片機控制程序上的問題

  [復制鏈接]
跳轉到指定樓層
樓主
各位好,我想用單片機+光敏電阻實現數碼管亮度調節,
目前程序位選放中斷,但要實現亮度自動調節,那么位選開和關都需要加時延,這樣一來位選就不能在定時中斷中進行了。


我已知的位選不放中斷的思路:

開始: A 選通 延時on_time ,關閉A延時6ms-on_time

B 選通 延時on_time ,關閉B延時6ms-on_time

C 選通 延時on_time ,關閉C延時6ms-on_time

D選通 延時on_time ,關閉 D延時6ms-on_time

我想請教:1. 程序思路該是什么樣的?

                 2. 很多人位選沒有用定時中斷,但我的理解位選需放中斷,這樣理解沒錯吧?



微信圖片_20190314135605.jpg (549.14 KB, 下載次數: 57)

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

使用道具 舉報

沙發
ID:490652 發表于 2019-3-14 13:38 | 只看該作者
固定刷新頻率,然后根據光敏電阻來調節開的時間長短,實現亮度變化,一般會放在中斷中去進行切換的,主流程肯定有別的事要做的

評分

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

查看全部評分

回復

使用道具 舉報

板凳
ID:84492 發表于 2019-3-14 14:00 | 只看該作者
就像圖中那樣,每5ms中斷一次用于開位選,但是一個數碼管顯示時間將近6ms,等到第二個中斷來時進入第二個數碼管顯示,以此類推,使用沒有顯示數碼管顯示沒有完畢被中斷,這樣對程序有什么影響嗎?
回復

使用道具 舉報

地板
ID:213173 發表于 2019-3-14 15:37 | 只看該作者
join22life 發表于 2019-3-14 14:00
就像圖中那樣,每5ms中斷一次用于開位選,但是一個數碼管顯示時間將近6ms,等到第二個中斷來時進入第二個數 ...

調節數碼管亮度其實就是調節數碼管導通和截止時間比例,具體方案還要看數碼管的驅動方式。比較傾向于采用PWM方式給位選供電。數碼管靜態顯示控制亮度簡單些,數碼管動態顯示控制亮度比較麻煩。
回復

使用道具 舉報

5#
ID:84492 發表于 2019-3-14 15:43 | 只看該作者
geyobing 發表于 2019-3-14 13:38
固定刷新頻率,然后根據光敏電阻來調節開的時間長短,實現亮度變化,一般會放在中斷中去進行切換的,主流程 ...

我現在寫了一個光敏電阻不同值對應開位選的時長的函數,放主循環中;
另一個開各個位選函數,放主循環中,通過中斷每5ms開位,這個思路是正確的吧?
回復

使用道具 舉報

6#
ID:234075 發表于 2019-3-14 16:09 | 只看該作者
多位數碼管的顯示本身就是利用人眼的視覺錯覺造成的,如果要增加視覺上亮度強度的感覺,理論上是要增加閃爍的頻率,但是如果顯示內容同樣變化頻率較快的話,會造成全部顯示8的視覺錯覺。
回復

使用道具 舉報

7#
ID:84492 發表于 2019-3-14 22:21 | 只看該作者
zhb2004xp 發表于 2019-3-14 16:09
多位數碼管的顯示本身就是利用人眼的視覺錯覺造成的,如果要增加視覺上亮度強度的感覺,理論上是要增加閃爍 ...

這個像你說的,我現在就是出現數字顯示不清有全8現象了
回復

使用道具 舉報

8#
ID:84492 發表于 2019-3-14 22:22 | 只看該作者
wulin 發表于 2019-3-14 15:37
調節數碼管亮度其實就是調節數碼管導通和截止時間比例,具體方案還要看數碼管的驅動方式。比較傾向于采用 ...

看來我把亮度調節想的簡單化了
回復

使用道具 舉報

9#
ID:401564 發表于 2019-3-14 23:41 | 只看該作者
其實沒有那么復雜的,不要用中斷
你寫兩個延時的函數,一個控制數碼管開,另一個控制數碼管關
等于是數碼亮>延時1>數碼管滅>延時2>顯示下一個數碼管
把光敏電阻ADC的值用來作為延時的時間,
延時1的向上加,到0延時結束
延時2的向下減,到0延時結束
這樣一來,總的延時時長就是恒定不變的了,不會因為光敏電阻的變化而變化了
回復

使用道具 舉報

10#
ID:491171 發表于 2019-3-15 06:40 | 只看該作者
join22life 發表于 2019-3-14 15:43
我現在寫了一個光敏電阻不同值對應開位選的時長的函數,放主循環中;
另一個開各個位選函數,放主循環中 ...

思路很好,可以試一試!不行了再換種方式,作品就是在不斷的調試中成長的

評分

參與人數 5黑幣 +42 收起 理由
Sawardeakar + 8 很給力!
areyouok + 10
春風十里吹 + 10
微小苛 + 10 贊一個!
zhengchong60 + 4 贊一個!

查看全部評分

回復

使用道具 舉報

11#
ID:84492 發表于 2019-3-15 12:24 | 只看該作者
Y_G_G 發表于 2019-3-14 23:41
其實沒有那么復雜的,不要用中斷
你寫兩個延時的函數,一個控制數碼管開,另一個控制數碼管關
等于是數碼亮> ...

恩,多謝,下午準備解決這個問題
回復

使用道具 舉報

12#
ID:84492 發表于 2019-3-15 12:28 | 只看該作者
Y_G_G 發表于 2019-3-14 23:41
其實沒有那么復雜的,不要用中斷
你寫兩個延時的函數,一個控制數碼管開,另一個控制數碼管關
等于是數碼亮> ...

抱歉還是有個疑問,位選不是應該通過中斷才是最好的嗎?
回復

使用道具 舉報

13#
ID:491456 發表于 2019-3-15 14:45 | 只看該作者
延時1的向上加,到0延時結束 延時2的向下減,到0延時結束
回復

使用道具 舉報

14#
ID:401564 發表于 2019-3-15 15:11 | 只看該作者
join22life 發表于 2019-3-15 12:28
抱歉還是有個疑問,位選不是應該通過中斷才是最好的嗎?

位選要中斷干嘛呢?
8個數碼管以下的,掃描顯示,一個接一個的顯示,最后ADC一次,用不也多長時間的
如果你覺得程序還要干點的別的什么的話,加入到延時函數里面進行也可以的了
回復

使用道具 舉報

15#
ID:84492 發表于 2019-3-17 22:27 | 只看該作者
多謝各位的幫助,現在程序能實現10級自動亮度調節,但發現adc分階用的值不好取,導致有時光線變化在某個值附近時,數碼管亮度一直來回切換,看著閃動。
我大概知道用冗余,但是比如一級亮度(100 < adc)&&(adc >150),
二級亮度( 159  < adc ) && ( adc > 200 ),此時150-159間的數值狀態我該怎么處理,如果都放else那么肯定不行的。
另外:光敏電阻的特性曲線網上也沒找到相關資料,只知道亮阻值暗阻值,比較融通。
回復

使用道具 舉報

16#
ID:84492 發表于 2019-3-17 22:28 | 只看該作者
Y_G_G 發表于 2019-3-15 15:11
位選要中斷干嘛呢?
8個數碼管以下的,掃描顯示,一個接一個的顯示,最后ADC一次,用不也多長時間的
如果你 ...

感謝解答!
我記得學動態數碼管顯示時,老師強調用中斷來開位,所以之前都是這么做的,但現在像這樣需要延時的,就行不通了,所以很疑惑。
回復

使用道具 舉報

17#
ID:84492 發表于 2019-3-17 22:31 | 只看該作者
本廚 發表于 2019-3-15 14:45
延時1的向上加,到0延時結束 延時2的向下減,到0延時結束

總時長25ms,開顯示時長為on_time,
那么關顯示25-on_time,你的累加累減能麻煩再講下嗎?
回復

使用道具 舉報

18#
ID:84492 發表于 2019-3-18 21:36 | 只看該作者
geyobing 發表于 2019-3-14 13:38
固定刷新頻率,然后根據光敏電阻來調節開的時間長短,實現亮度變化,一般會放在中斷中去進行切換的,主流程 ...

抱歉還是有個點沒想明白,固定刷新率,光敏電阻來調節開的時間長短,這兩點我都做了,但位選放中斷中,比如5ms就要開一個位選,這時該位選打開后又存在開時間的延時,要是大于5ms話豈不是影響第二個位選的顯示效果,一直不明白這點,請賜教多謝了。
回復

使用道具 舉報

19#
ID:491577 發表于 2019-3-18 22:18 | 只看該作者
用中斷是最好的選擇,延時程序要慎用,延時就是浪費資源。4位數碼管100HZ刷新率,就是2.5ms刷新一位數碼管,要分10級亮度就是:使用250us的中斷,10個中斷(總共25ms)刷一位數碼管,要1級亮度就是1個中斷開,9個中斷關;要2級亮度就是2個中斷開,8個中斷關;以此類推。
回復

使用道具 舉報

20#
ID:84492 發表于 2019-3-19 21:29 | 只看該作者
hhh402 發表于 2019-3-18 22:18
用中斷是最好的選擇,延時程序要慎用,延時就是浪費資源。4位數碼管100HZ刷新率,就是2.5ms刷新一位數碼管 ...

解決我之前的那個疑惑。很感謝你的思路,受益匪淺!
回復

使用道具 舉報

21#
ID:490652 發表于 2019-3-20 09:54 | 只看該作者
19樓的講的已經很好了,關于你采集光敏電阻波動的情況,你可以做一些小手段,舉例0-1000,分10段,理論上0-100對應1,101-200對應2,以此類推,但是為了不出現一會弱一會亮的情況,可以加些額外條件,比如現在屬于1段,那就必須值大于120才能跳到2段,如果現在屬于2段值必須小于80才能調到1段,這樣就可以避免臨界值切來切去的問題,這個值要根據你實際的調整一下。
回復

使用道具 舉報

22#
ID:84492 發表于 2019-3-21 16:00 | 只看該作者
geyobing 發表于 2019-3-20 09:54
19樓的講的已經很好了,關于你采集光敏電阻波動的情況,你可以做一些小手段,舉例0-1000,分10段,理論上0- ...

非常感謝你的回復!我會試著把程序調整。
回復

使用道具 舉報

23#
ID:140489 發表于 2019-3-25 12:32 | 只看該作者
去看看我這個帖子,有你想要的關于數碼管根據環境亮度自動調節的程序及電路http://www.zg4o1577.cn/bbs/dpj-146620-1.html
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 自拍偷拍亚洲一区 | 亚洲精品一区二区三区中文字幕 | www.成人在线视频 | 亚洲成人免费av | 日本不卡一区二区三区在线观看 | 久久69精品久久久久久久电影好 | 在线91| 国产精品a一区二区三区网址 | 就操在线| 国产一区二区三区 | 久久99精品久久久 | 欧美精品一区三区 | 免费三级网 | 精品欧美一区二区三区久久久 | 巨大黑人极品videos精品 | 国产精品黄 | 日本特黄a级高清免费大片 国产精品久久性 | 黄色毛片在线观看 | 国产一区久久 | 国产精品久久久久久久久动漫 | 欧美色a v | h在线 | 欧美八区 | 四虎成人精品永久免费av九九 | 久久极品 | 久久在线 | 久久九七| 夜夜久久 | 亚洲乱码国产乱码精品精98午夜 | 香蕉视频91 | 久久久久久久综合 | 精品欧美一区二区三区久久久小说 | 又爽又黄axxx片免费观看 | 日韩av成人 | 国产精品久久久久一区二区三区 | 欧美精品二区 | 在线黄色网| 成人精品一区二区三区 | 午夜欧美一区二区三区在线播放 | 91久久| 女同videos另类 |