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

標題: 不用PWM的單片機呼吸燈程序(視覺暫留) [打印本頁]

作者: 323    時間: 2019-5-2 08:44
標題: 不用PWM的單片機呼吸燈程序(視覺暫留)
此呼吸燈不用PWM也能呼吸!!
原理是由于人眼的視覺殘留特性:人眼在觀察景物時,光信號傳入大腦神經,需經過一段短暫的時間,光的作用結束后,視覺形象并不立即消失,這種殘留的視覺稱“后像”,視覺的這一現象則被稱為“視覺暫留”。
舉一個簡單的例子,我們家里使用的燈是50Hz,一秒鐘會亮滅50次,但是我們覺得燈是一直亮著的。

單片機源程序如下:
  1. #include<reg52.h>
  2. void delay(int x)
  3. {
  4. int i;
  5. for (i=x;i>0;i--);
  6. }
  7. void main ()
  8. {
  9. int ledlx,cycle=400;
  10. while(1)
  11. {
  12. for(ledlx=0;ledlx<cycle;ledlx++)                /////////呼吸燈
  13. {
  14. P1=0;
  15. delay(ledlx);
  16. P1=0xff;
  17. delay(cycle-ledlx);
  18. }
  19. for(ledlx=cycle;ledlx>0;ledlx--)

  20. {
  21. P1=0;
  22. delay(ledlx);
  23. P1=0xff;
  24. delay(cycle-ledlx);
  25. }
  26. }
  27. }
復制代碼

所有資料51hei提供下載:
呼吸燈.rar (279 Bytes, 下載次數: 13)





作者: 323    時間: 2019-5-2 08:45
大家有問題可以問哈!!

作者: 曾先生    時間: 2019-5-2 22:12
這個for寫的巧妙.可以用定時.細分也可以嗎?
作者: 323    時間: 2019-5-3 09:16
曾先生 發表于 2019-5-2 22:12
這個for寫的巧妙.可以用定時.細分也可以嗎?

emmm啥叫定時細分,我是小白,不太懂,不好意思哈。。如果您用定時器的話,每次進中斷的時間不是一樣的么?好像達不到要求吧……

作者: dzbj    時間: 2019-5-3 11:12
先感謝樓主分享

說說我自己的想法

首先這個程序的意思和PWM一樣啊 不也是逐步改變亮滅時間的占空比調整亮和滅時間 其次 用for語句寫拋物面在51上對系統占用太大了 基本上干不了別的事 除非一個片子只做呼吸燈 但如果只做呼吸燈用個51片子又太浪費 用555做也是一樣的

我給家里的夜燈做了個控制板 沒人活動的時候就是呼吸狀態 開始也是用和你一樣的for寫 但要同時通訊 和多個模塊同步狀態以及檢測電流 判斷是否有故障等等事以后就出問題了 總有某個事件做不好 后來還是用中斷的方式寫
作者: 323    時間: 2019-5-3 14:08
dzbj 發表于 2019-5-3 11:12
先感謝樓主分享

說說我自己的想法

確實,您說的沒錯,原理是和PWM一樣,不同僅在于這個不用中斷。可能也就在定時器用完的情況下用用吧……(就是定時器不夠用的時候)但是在定時器用完的情況下,程序一般都挺大的,加了這個可能會像您說的那樣出問題(您是用什么芯片的,是不是芯片的問題),所以吧……好像確實沒什么用。我是個小白,非常感謝您的回復!!
作者: dzbj    時間: 2019-5-3 21:53
323 發表于 2019-5-3 14:08
確實,您說的沒錯,原理是和PWM一樣,不同僅在于這個不用中斷。可能也就在定時器用完的情況下用用吧…… ...

我用的是STC片子 通常底層控制我覺得8位足夠了 相比之下51內核的簡單 涉及圖像處理或者中央控制才會用到STM32之類的

小白也沒關系 都從小白到大白的 哈哈

我覺得在程序里 除了非常短暫和必須的情況 盡量不用Delay或while(--t)之類的死延時 這種程序工作時cpu就在那空轉 除了中斷什么事都干不了 比如所有任務循環一次不到1ms Delay在應用中最小的等待時間是5ms 就意味著有5次不能執行其它事 還有 for語句對運算時間的消耗比較大 我一般不會用for去寫主程序 多數用在單一的功能模塊里 更多用判斷標記 if執行時間小于for不少呢 另外51的硬件自資源太少了 中斷實在要慎用 能不用的盡量不用 即便STC8系有更多定時器和中斷 其實放開了用也是不夠的 自己寫功能的一點點感受 僅供參考
作者: 323    時間: 2019-5-4 09:42
dzbj 發表于 2019-5-3 21:53
我用的是STC片子 通常底層控制我覺得8位足夠了 相比之下51內核的簡單 涉及圖像處理或者中央控制才會用到S ...

嗯嗯,學到了,謝謝大佬哈!!!




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 一级毛片大全免费播放 | 97免费在线观看视频 | 中文二区 | 亚洲天堂一区二区 | 国产精品毛片一区二区在线看 | 日韩精品在线播放 | 久久久久久国产精品久久 | 欧美日韩专区 | 国产精品福利视频 | 日韩欧美亚洲一区 | 亚洲国产精品一区二区久久 | 91精产国品一二三区 | 日日夜夜影院 | 国产欧美一级二级三级在线视频 | www久久av | 狠狠综合久久av一区二区老牛 | 成人网在线观看 | 国产精品视频免费观看 | 欧美一区二区三 | 欧美日韩一区二区三区在线观看 | 成人免费福利视频 | 人人种亚洲 | 美女黄视频网站 | 日韩一级不卡 | 国产美女在线播放 | 国产免费福利 | 国产视频一区在线观看 | av免费观看在线 | 国产不卡在线 | 懂色tv| 波多野结衣一区二区三区 | 天堂久久天堂综合色 | caoporn免费 | 人人色视频| 亚洲永久免费观看 | 亚洲精品天堂 | 久久69精品久久久久久久电影好 | 国产中的精品av涩差av | 精品国产一区二区三区性色av | 久久精品播放 | 精品国产乱码久久久久久丨区2区 |