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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機電子燈箱控制器源碼-小項目分享

  [復制鏈接]
跳轉到指定樓層
樓主
ID:74187 發表于 2018-10-12 09:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
大家都見過電子燈箱吧,就是路邊那種閃爍的,這種東西的邏輯控制很簡單,就是周邊流水燈循環跑馬燈,正轉10圈,反轉10圈,然后同時閃爍3秒,中間的字體是亮5秒,閃爍3秒,依次循環,邏輯不難,我們用開發板上的小燈來實現這樣的效果,代碼如下: 005 電子燈箱控制器.rar (33.82 KB, 下載次數: 78)

  1. /********************************************************
  2. *描述:8組小燈正轉10圈,反轉10圈,常亮5秒,閃爍3秒,依次循環
  3. ********************************************************/
  4. #include "stc15w.h"
  5. #include "intrins.h" //包含左移和右移指令
  6. #include "string.h"         //字符串
  7. #include "stdio.h"         //標準輸入輸出



  8. /*******************************************************************************
  9. * 文件名:位定義
  10. * 描  述:
  11. * 功  能:
  12. * 作  者:大核桃
  13. * 版本號:1.0.1(2017.05.23)
  14. *******************************************************************************/

  15. bit flag500ms = 0;//500ms翻轉一次

  16. sbit LED0 = P1^0;//
  17. sbit LED1 = P1^1;
  18. sbit LED2 = P1^2;
  19. sbit LED3 = P1^3;
  20. sbit LED4 = P1^4;
  21. sbit LED5 = P3^2;
  22. sbit LED6 = P0^0;
  23. sbit LED7 = P0^1;

  24. sbit DATA0 = P2^0;//
  25. sbit DATA1 = P2^1;//
  26. sbit DATA2 = P2^2;//
  27. sbit DATA3 = P2^3;//
  28. sbit DATA4 = P2^4;//
  29. sbit DATA5 = P2^5;//
  30. sbit DATA6 = P2^6;//
  31. sbit DATA7 = P2^7;//

  32. typedef unsigned char uint8;//0-255
  33. typedef unsigned int  uint16;//0-65535
  34. typedef unsigned long uint32;//0-65535*65535

  35. /*******************************************************************************
  36. * 文件名:函數前置聲明
  37. * 描  述:
  38. * 功  能:
  39. * 作  者:大核桃
  40. * 版本號:1.0.1(2017.05.23)
  41. *******************************************************************************/

  42. void Bsp_Power_Init(void);
  43. void Delay500ms();                //@11.0592MHz
  44. void Timer0Init(void);                //1毫秒@11.0592MHz



  45. /*******************************************************************************
  46. * 文件名:主循環入口
  47. * 描  述:
  48. * 功  能:
  49. * 作  者:大核桃
  50. * 版本號:1.0.1(2017.05.23)
  51. *******************************************************************************/
  52. void main(void)
  53. {
  54.         uint8 i = 0;

  55.         Bsp_Power_Init();//LED端口初始化
  56.         Timer0Init();    //定時器0初始化函數

  57.         LED0 = 1;


  58.         while(1)
  59.         {
  60.            for(i = 0; i < 3; i++)
  61.            {
  62.                         DATA0 = 0;
  63.                         Delay500ms();
  64.                         DATA0 = 1;
  65.                         Delay500ms();

  66.                         DATA1 = 0;
  67.                         Delay500ms();
  68.                         DATA1 = 1;
  69.                         Delay500ms();

  70.                         DATA2 = 0;
  71.                         Delay500ms();
  72.                         DATA2 = 1;
  73.                         Delay500ms();

  74.            }

  75.                    for(i = 0; i < 3; i++)
  76.            {
  77.                         DATA2 = 0;
  78.                         Delay500ms();
  79.                         DATA2 = 1;
  80.                         Delay500ms();

  81.                         DATA1 = 0;
  82.                         Delay500ms();
  83.                         DATA1 = 1;
  84.                         Delay500ms();

  85.                         DATA0 = 0;
  86.                         Delay500ms();
  87.                         DATA0 = 1;
  88.                         Delay500ms();

  89.            }

  90.                    for(i = 0; i < 3; i++)
  91.            {
  92.                         DATA2 = 0;
  93.                         DATA1 = 0;
  94.                         DATA0 = 0;
  95.                         Delay500ms();

  96.                         DATA2 = 1;
  97.                         DATA1 = 1;
  98.                         DATA0 = 1;
  99.                         Delay500ms();

  100.            }
  101.         }

  102. }

  103. /*******************************************************************************
  104. * 文件名:void Bsp_Power_Init()
  105. * 描  述: 數碼管上電顯示
  106. * 功  能:編程模塊化
  107. * 作  者:大核桃
  108. * 版本號:1.0.1(2017.05.23)
  109. *******************************************************************************/
  110. void Bsp_Power_Init(void)
  111. {
  112.         P0M1 = 0xFC;
  113.         P0M0 = 0X03;
  114.         P0 = 0X00;

  115.         P1M1 = 0xE0;
  116.         P1M0 = 0X1F;
  117.         P1 = 0X00;


  118.         //P2口開漏輸出
  119.         P2M1 = 0XFF;
  120.         P2M0 = 0XFF;
  121.         P2 = 0Xff;
  122. //        //P54,P55口為推挽輸出
  123.         P5M1 = 0X00;
  124.         P5M0 = 0X00;
  125.         P5 = 0xFF;

  126.         //P37,P36,3.2,P3.3 P3.4口為推挽輸出
  127.         P3M1 = 0X00;
  128.         P3M0 = 0XFC;
  129.         P3 = 0X23;

  130. }

  131. /*******************************************************************************
  132. * 文件名:void Delay500ms()                //@11.0592MHz
  133. * 描  述: 普通延時函數
  134. * 功  能:編程模塊化
  135. * 作  者:大核桃
  136. * 版本號:1.0.1(2017.05.23)
  137. *******************************************************************************/
  138. void Delay500ms()                //@11.0592MHz
  139. {
  140.         unsigned char i, j, k;

  141.         _nop_();
  142.         _nop_();
  143.         i = 22;
  144.         j = 3;
  145.         k = 227;
  146.         do
  147.         {
  148.                 do
  149.                 {
  150.                         while (--k);
  151.                 } while (--j);
  152.         } while (--i);
  153. }

  154. /*******************************************************************************
  155. * 文件名:void Timer0Init(void)
  156. * 描  述: 定時器0配置
  157. * 功  能:編程模塊化
  158. * 作  者:大核桃
  159. * 版本號:1.0.1(2017.05.23)
  160. *******************************************************************************/
  161. void Timer0Init(void)                //1毫秒@11.0592MHz
  162. {
  163.         AUXR |= 0x80;                //定時器時鐘1T模式
  164.         TMOD &= 0xF0;                //設置定時器模式 1111_
  165.         TMOD |= 0X01;       //16位模式,不可重裝

  166. //        TL0 = 0xCD;                    //設置定時初值
  167. //        TH0 = 0xD4;                     //設置定時初值

  168.         TL0 = (65535 - 11059) % 256;                    //設置定時初值
  169.         TH0 = (65535 - 11059) / 256;                     //設置定時初值


  170.         ET0 = 1;            //打開定時器0中斷使能
  171.         TR0 = 1;                    //定時器0開始計時
  172.         EA = 1;             //打開總中斷使能
  173. }

  174. void TIME0_IRQ_Handler() interrupt 1
  175. {
  176.         static uint16 tmr10ms = 0;
  177.         static uint8  tmr3s = 0;
  178.         static uint8  tmr5s = 0;
  179.         static uint8 a = 0;

  180.         TL0 = (65535 - 11059) % 256;                    //設置定時初值
  181.         TH0 = (65535 - 11059) / 256;                     //設置定時初值

  182.         //1ms溢出一次
  183.         tmr10ms++;

  184.         if(a)
  185.         {
  186.                 if(tmr10ms >= 500)
  187.                 {
  188.                         tmr10ms = 0;
  189.                         DATA4 = ~DATA4;//500ms閃爍依次
  190.                         tmr3s++;
  191.                 }

  192.                 if(tmr3s >= 6)
  193.                 {
  194.                     tmr3s = 0; //閃爍3次
  195.                         a = 0;
  196.                 }
  197.                         
  198.         }
  199.         else
  200.         {
  201.                 if(tmr10ms >= 500)
  202.                 {
  203.                         tmr10ms = 0;
  204.                         DATA4 = 0; //亮5秒
  205.                         tmr5s++;
  206.                 }

  207.                 if(tmr5s >= 10)
  208.                 {
  209.                     tmr5s = 0;
  210.                         a = 1;
  211.                 }         
  212.         }                                
  213. }

復制代碼




評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:393796 發表于 2018-10-23 23:40 | 只看該作者
好東西呀!頂起來
回復

使用道具 舉報

板凳
ID:405817 發表于 2018-10-30 13:19 | 只看該作者
謝謝樓主的分享精神。
回復

使用道具 舉報

地板
ID:140706 發表于 2018-11-11 11:06 | 只看該作者
謝謝樓主的分享,好東西
回復

使用道具 舉報

5#
ID:426965 發表于 2018-11-20 17:25 | 只看該作者
謝謝樓主分享
回復

使用道具 舉報

6#
ID:452412 發表于 2018-12-25 14:07 | 只看該作者
謝謝樓主的分享,好東西
回復

使用道具 舉報

7#
ID:461544 發表于 2019-4-26 22:54 | 只看該作者
感謝分享
回復

使用道具 舉報

8#
ID:579509 發表于 2019-7-8 18:16 | 只看該作者
努力學習中
回復

使用道具 舉報

9#
ID:584509 發表于 2019-7-16 15:33 | 只看該作者
謝謝樓主的分享,好東西
回復

使用道具 舉報

10#
ID:476623 發表于 2022-10-25 20:55 | 只看該作者
樓主辛苦了!下載了學習學習。
回復

使用道具 舉報

11#
ID:1049825 發表于 2022-10-31 20:45 | 只看該作者
學以致用,相輔相成,贊
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久久国产 | 在线第一页 | 国产一区二区三区www | 久久中文免费视频 | 99热在这里只有精品 | 午夜影院官网 | 欧美日韩精品一区 | 免费在线成人网 | 欧美日韩在线免费观看 | 色吧色综合 | 人人操日日干 | 久久精品中文字幕 | 人人看人人射 | 淫片一级国产 | 蜜桃视频在线观看免费视频网站www | 亚洲一卡二卡 | 色av一区 | 一本一道久久a久久精品蜜桃 | 婷婷丁香综合网 | 午夜视频一区二区 | 天堂资源 | 在线观看中文字幕 | 美女久久久久久久久 | 国产在线观看一区二区三区 | 九九福利 | 在线久草| 国产福利久久 | 天天久久 | 精品国产一区二区三区久久影院 | 国产99久久精品一区二区永久免费 | 欧美日韩中文在线观看 | 美女一级毛片 | 欧美第一区 | 成人日韩 | 99这里只有精品视频 | 久久亚洲一区二区三区四区 | 欧美国产日韩在线 | 日韩中文字幕 | 亚洲精品永久免费 | 亚洲电影专区 | 亚洲欧洲在线观看视频 |