欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

利用單片機中斷-花樣霓虹燈設計

[復制鏈接]
跳轉到指定樓層
樓主
這是我自己設計的一個花樣霓虹燈設計,及8個led先一次亮滅,然后奇數和偶數燈閃爍,閃爍三次厚,8個燈又開始一次亮,依次循環。
用用單片機實物和proteus都試過,效果很好。

電路原理圖如下:


單片機源程序:
  1. //霓虹燈實驗: P0口接了8個燈,晶振為11.0592MHZ;
  2. //從D1到D8開始8個燈循環點亮一次,即D1點亮1s熄滅,依次是D8;
  3. //然后是間隔閃爍3次,即D1,3,5,7點亮1S熄滅,緊接著2,4,6,8點亮1s熄滅,
  4. //這為一次,然后循環3次。

  5. /*********主程序*******/
  6. #include <reg52.h>
  7. #define uchar unsigned char
  8. uchar i20,i8,i6;  //定義三個正char:-128~127,unsigned char:0~127)
  9. uchar mod1,mod2        ; //定義兩種模式,沒中模式是8位,所以前面用char
  10. bit F;                                          //循環標志位,用bit定義是為了節省空間
  11. void main ()
  12. {
  13. i20=20; //20x50ms=1s
  14. i8=8;        //模式1有8次
  15. i6=6;        //模式2有6次
  16. mod1=0x01;        //0000 0001,模式1初始狀態D1滅,其他亮
  17. mod2=0xAA;        //1010 1010,模式2初始狀態D1,3,5,7亮,其他滅
  18. F=0;//設置循環點亮階段標志;=0為循環點亮階段
  19. TMOD=0x10;//定時,T1,方式1

  20. TH1=0x4C;                    //11.0592*1000000/12*50*0.001=46080 ,   
  21.               //(65536-46080)/256=76...0 商是76(ox4C),余數是0(ox00)
  22. TL1=0x00;
  23. IE=0x88; //打開總中斷與T1中斷
  24. TR1=1;//打開T1控制位開關,在TCON寄存器中
  25. P1=0xF0;  //針對這個實驗板子,led燈一端連著鎖存器和數碼管,
  26.            //為了防止鎖存器數碼管干擾,首先就要先關閉位選 ,
  27.                    //因為使能在硬件始終是開著的,所以關閉位選
  28. while(1);
  29. }

  30. /*****T1中斷程序*********/
  31. void time0() interrupt 3 using 1
  32. {
  33.   
  34.   TH1=0x4C;                   //50ms到,中斷跳出,此時繼續裝初值,直到20次,累計到1s
  35.   TL1=0x00;
  36.   i20--;
  37.   if(i20==0)
  38.    {
  39.           i20=20;
  40.           if(F==0)
  41.              {
  42.               P0=~mod1;
  43.            mod1=mod1<<1;
  44.               i8--        ;
  45.              if(i8==0)
  46.               {
  47.                       i8=8;
  48.                    F=1;
  49.                    mod1=0x01;
  50.               }
  51.             }
  52.   
  53.             else
  54.           {
  55.                   P0=mod2;
  56.                 mod2=~mod2;
  57.                 i6--;
  58.                 if(i6==0)
  59.                  {
  60.                   i6=6;
  61.                   F=0;
  62.                  }
  63.           }  
  64.    }
  65. }
復制代碼


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:358665 發表于 2018-8-29 10:00 | 只看該作者
謝謝,麻煩群主了。初學單片機,我會上傳一些自己的心得,但是覺得太簡單了,不知道對大家有沒有用,剛接觸論壇,有什么不對的地方多多包涵,謝謝。
回復

使用道具 舉報

板凳
ID:386381 發表于 2018-8-29 18:01 來自觸屏版 | 只看該作者
謝謝樓主分享這個資料非常珍貴
回復

使用道具 舉報

地板
ID:641671 發表于 2019-11-15 19:24 來自觸屏版 | 只看該作者
可以問下原理圖就這樣嗎
回復

使用道具 舉報

5#
ID:509877 發表于 2019-12-6 17:38 | 只看該作者
這個是延時,按鍵只有當前的模式跑完了才能進入下一個模式
回復

使用道具 舉報

6#
ID:752128 發表于 2020-5-15 12:32 | 只看該作者
老哥有沒有原理圖和ad圖
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表