1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

標題: 單片機怎么實現閃動,呼吸和常亮三種模式的LED燈 [打印本頁]

作者: a920366858    時間: 2018-7-13 17:45
標題: 單片機怎么實現閃動,呼吸和常亮三種模式的LED燈
我做的LED燈想實現三種模式:閃動,呼吸和常亮。。通過斷電上電來循環切換模式,順序是閃動,呼吸,常亮。電源是220V轉5V給電路。
有一個機械開關,當快速斷開閉合開關,燈就轉換模式。比如當前是閃動,快速斷開然后閉合,燈就變為呼吸模式。
當開關斷開大約1S以上,無論斷開前是什么模式,都會回到閃動模式。
我的想法是,一個全局變量char data_temp=0;,當把IC的電源(5V)快速關閉,再快速打開,這個data_temp就會自加。斷電久一點,data_temp就會變回0;我想到用欠壓中斷來實現這個功能,我感覺自己的邏輯沒有錯,但是效果并不好。。。
有沒有大神有想法的討論一下。。。

作者: 18790839669    時間: 2018-7-13 19:44
用里面的EEPROM斷電和開機產生一個標志位,來區分工作狀態,你的明白
作者: dzbj    時間: 2018-7-13 20:50
關鍵在于檢測到斷電后要繼續計數 實際上就是單片機沒斷電才能做到 我能想到的有2個方法

用個巨大的電容斷電后繼續提供電壓 但這需要你的模塊耗電量很小 不光單片機還包括外圍電路

另外的方法是用輔助電路在電源斷開后繼續延時一段時間無觸發再斷開自己 并輔助2樓說的存儲一個標記

我自己在做一些車用模塊時為了盡量減小滅車后電力消耗用的就是第二個方法 滅車后等一段時間完全斷開自己的電源 著車時被ACC電壓觸發開始工作 和你這情況類似

何必這么搞 對于220v供電來說一個模塊消耗的電力很小基本可以忽略不計 你就直接給它永遠供電 只檢測觸發狀態改變led模式不好么
作者: yzwzfyz    時間: 2018-7-14 04:27
初學者總是以送出01至端口來決定燈的明暗,這是非常低級的做法。
高級的做法是,以一個段位為例:驅動的位段至少用到以下幾點:
1、做一個中斷,每間隔0.3秒反轉一次形成一個標記:B_FLASH。
2、做一個控制位決定用不用閃動:B_CTAL。
3、決定的燈明暗的驅動位:B_LED。
這時你才可以輸出:Pxx=B_LED*(B_CTAL*B_FLASH + /B_CTAL)
當你需要閃動時:置B_CTAL=1
當你需常亮常暗時:清B_CTAL=0
當然顯示什么,還是由B_LED來決定,這是你原先用來驅動的段碼。
掌握了這個方法,讓某個位閃,某個段閃,都很方便,給相對應B_CTAL送個0、1即可隨時讓它閃動。我這個方法妙不妙?
作者: yzwzfyz    時間: 2018-7-14 04:30
掌握了以上方法后,做呼吸也簡單:自己動動腦子。
提示:再加呼吸控制位。與一下。
作者: a920366858    時間: 2018-7-14 08:15
dzbj 發表于 2018-7-13 20:50
關鍵在于檢測到斷電后要繼續計數 實際上就是單片機沒斷電才能做到 我能想到的有2個方法

用個巨大的電容 ...

那是物理開關唉,一斷開,220V就沒有了,只能靠電源里的電容能夠提供大概0.5秒的時間。。
你說的第二個方法怎么實現呢?
作者: a920366858    時間: 2018-7-14 08:17
yzwzfyz 發表于 2018-7-14 04:27
初學者總是以送出01至端口來決定燈的明暗,這是非常低級的做法。
高級的做法是,以一個段位為例:驅動的位 ...

我是用PWM的,16個IO,16組LED燈。常亮閃動呼吸這些都沒問題,是模式切換的問題,想不明白斷電了IC還能持續工作那么久,都快2秒了。。
作者: a920366858    時間: 2018-7-14 08:18
18790839669 發表于 2018-7-13 19:44
用里面的EEPROM斷電和開機產生一個標志位,來區分工作狀態,你的明白

如果用EEPROM的話,怎么判斷長時間掉電,讓模式回到最初?
作者: 嗒嘀嗒嗒嘀嘀    時間: 2018-7-14 11:07
用555定時器,接成施密特觸發器。單片機通電時施密特觸發器輸出低電平。斷電后觸發器中電容開始放電。再次上電時不向觸發器供電并判斷觸發器輸出,若為高電平則說明放電時間過長,EEPROM中變量清零回最初模式;若為低電平則說明放電時間不夠,EEPROM中變量加一到相應模式模式;判斷觸發器輸出后向觸發器供電使其輸出為低電平為下一次檢測做準備。利用555定時器可將待測電壓限制只能為高或低電平。
作者: a920366858    時間: 2018-7-14 11:49
嗒嘀嗒嗒嘀嘀 發表于 2018-7-14 11:07
用555定時器,接成施密特觸發器。單片機通電時施密特觸發器輸出低電平。斷電后觸發器中電容開始放電。再次 ...

本人硬件菜鳥,不是很懂大神說的
作者: dzbj    時間: 2018-7-14 12:52
a920366858 發表于 2018-7-14 08:15
那是物理開關唉,一斷開,220V就沒有了,只能靠電源里的電容能夠提供大概0.5秒的時間。。
你說的第二個 ...

完美解決肯定要加線 唯一問題是線是否原來穿好的 就是預埋在墻里到線盒的 這種情況稍微麻煩一點 要考慮原來的線管是否能再穿進去和是否能穿得過去

另一種思路是 220v的燈開關對燈供電標準要求是控火 這樣關燈后燈頭無電 更換燈泡安全 那么你的開關里肯定有一根是火線 有些220v轉5v的模塊可以支持無零線工作 我自己家里的舊開關就是這么干的 給舊開關面板加指示燈 和你這意思一樣只是沒你這么多花樣 也是220v模塊直接干上去的 然后采集輸出線是否高電位就行了

第二種方法是用一個帶使能端的穩壓芯片 使能端被外部觸發和單片機同時控制 外部斷電后 單片機采集到斷電但不關閉自己給使能端的觸發電壓 直到滿足要求才關閉 這事兩路觸發都沒了 自己就斷電了 再開燈外部觸發高就有給自己供電 相當于一個或邏輯 兩個輸入有一個是1輸出就是1
作者: 段智超    時間: 2018-7-14 16:39
設置等的頻率來視線啊
作者: sldx    時間: 2018-7-14 19:32
呼吸燈,可分為三個階段,漸亮,亮,漸滅,漸亮漸滅過程可用pwm脈寬依次增大或者減小來控制
作者: yousunny    時間: 2018-7-14 20:47
看了評論區。我覺得您是不是想錯了?為什么一定要斷電檢測呢?你加一個紐扣電池,備用就好了。
作者: yousunny    時間: 2018-7-14 20:50
“ 用里面的EEPROM斷電和開機產生一個標志位,來區分工作狀態,你的明白”樓上這個說的也是可以的。但是所謂的常時間斷電。和短時間斷電。就應該不可以的。你單片機都停止了。怎么可能還會檢測?是吧,想想都覺得不可能。我覺得,你如果是想是現這個功能,就加一個備用電源吧。如果是想鍛煉邏輯,那就隨你了~~當然,你如果想到好的,也希望你跟我分享一下,共同進步~·
作者: a920366858    時間: 2018-7-16 08:12
yousunny 發表于 2018-7-14 20:50
“ 用里面的EEPROM斷電和開機產生一個標志位,來區分工作狀態,你的明白”樓上這個說的也是可以的。但是所 ...

沒有備用電池。。關鍵是有人實現了,想不明白他是怎么實現的。。。

作者: a920366858    時間: 2018-7-16 08:13
sldx 發表于 2018-7-14 19:32
呼吸燈,可分為三個階段,漸亮,亮,漸滅,漸亮漸滅過程可用pwm脈寬依次增大或者減小來控制

我不是問呼吸的實現哦。。。
作者: a920366858    時間: 2018-7-18 09:05
段智超 發表于 2018-7-14 16:39
設置等的頻率來視線啊

這個不太理解是啥意思




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1