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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

從左到右在從右到左的流水燈

[復制鏈接]
跳轉到指定樓層
樓主
ID:415088 發表于 2019-11-8 15:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include <reg52.h>
  2. #include <led.h>


  3. u8 T0RH = 0; //T0 重載值的高字節
  4. u8 T0RL = 0; //T0 重載值的低字節
  5. u8 flag = 0;//

  6. void led_show()
  7. {
  8.         u8 l_cnt = 0;
  9.         u8 r_cnt = 0;
  10.         bit led_flag = 0;//控制左右移位標志位
  11.        
  12.         while(1)
  13.         {
  14.                 if(flag == 100)//改變flag的大小,可控制等的移動速度
  15.                 {
  16.                         if(led_flag == 0)
  17.                         {
  18.                                 flag = 0;
  19.                                 P0 = ~(0x01 << l_cnt);
  20.                                 l_cnt++;
  21.                                 if(l_cnt >= 8)
  22.                                 {       
  23.                                         l_cnt = 0;
  24.                                         led_flag = 1;
  25.                                 }
  26.                         }
  27.                         else if(led_flag == 1)
  28.                         {
  29.                                 flag = 0;
  30.                                 P0 = ~(0x80 >> r_cnt);
  31.                                 r_cnt++;
  32.                                 if(r_cnt >= 8)
  33.                                 {
  34.                                         r_cnt = 0;
  35.                                         led_flag = 0;
  36.                                 }
  37.                         }
  38.                 }
  39.         }
  40. }


  41. void main()
  42. {       
  43.         ConfigTimer0(1);//定時1ms
  44.        
  45.         while(1)
  46.         {
  47.                 led_show();
  48.         }
  49. }



  50. /* 配置并啟動 T0, ms-T0 定時時間 */
  51. void ConfigTimer0(u16 ms)
  52. {
  53.         u32 tmp; //臨時變量
  54.        
  55.         EA = 1;
  56.         tmp = 11059200 / 12; //定時器計數頻率
  57.         tmp = (tmp * ms) / 1000; //計算所需的計數值
  58.         tmp = 65536 - tmp; //計算定時器重載值
  59.         tmp = tmp + 12; //補償中斷響應延時造成的誤差
  60.         T0RH = (unsigned char)(tmp>>8); //定時器重載值拆分為高低字節
  61.         T0RL = (unsigned char)tmp;
  62.         TMOD &= 0xF0; //清零 T0 的控制位
  63.         TMOD |= 0x01; //配置 T0 為模式 1
  64.         TH0 = T0RH; //加載 T0 重載值
  65.         TL0 = T0RL;
  66.         ET0 = 1; //使能 T0 中斷
  67.         TR0 = 1; //啟動 T0
  68. }

  69. /* T0 中斷服務函數,執行 100ms 定時 */
  70. void InterruptTimer0() interrupt 1
  71. {
  72.         TH0 = T0RH; //重新加載重載值
  73.         TL0 = T0RL;
  74.        
  75.         flag++;
  76. }
復制代碼

使用定時器來實現左右循環移動的流水燈,請各位幫忙指點

LED流水燈.rar

55.06 KB, 下載次數: 5, 下載積分: 黑幣 -5

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲综合色网 | 99精品在线观看 | av官网在线 | 国产亚洲www | 久久av一区二区三区 | 亚洲网站在线观看 | 一区二区三区在线电影 | 黑人中文字幕一区二区三区 | 日日操日日干 | 网页av| 亚洲视频一区在线 | 91精品国产麻豆 | 在线不卡视频 | 国产a区| 99亚洲| 免费成人高清在线视频 | 久草视频在线看 | 日本黄色片免费在线观看 | 欧美日韩中文在线 | 美女久久久 | 911网站大全在线观看 | 日日操日日舔 | 免费a网站| 国产特级毛片 | 欧美一区免费 | 亚洲一区二区三区视频免费观看 | 久久精品日产第一区二区三区 | 日本激情视频在线播放 | 成人性生交大片免费看中文带字幕 | 99成人免费视频 | 精品久久久久久 | 久久久人成影片一区二区三区 | 男人天堂网址 | 国产精品自拍啪啪 | 亚洲日日夜夜 | 激情五月婷婷 | 久久久精品 | 久久出精品 | 日韩欧美国产精品 | 欧美一区二区三区在线观看 | 亚洲乱码国产乱码精品精的特点 |