<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 玩轉(zhuǎn)單片機(jī),你我都是菜鳥(niǎo)(續(xù)3)

          玩轉(zhuǎn)單片機(jī),你我都是菜鳥(niǎo)(續(xù)3)

          作者: 時(shí)間:2016-11-25 來(lái)源:網(wǎng)絡(luò) 收藏
          好久沒(méi)有更新博文了,由于晚上回家沒(méi)有網(wǎng)所以很久沒(méi)更新了,好不容易寫(xiě)的一篇突然斷電沒(méi)有保存,真夠杯具的。電來(lái)了又重新寫(xiě)了。不知道最近還有沒(méi)有人關(guān)注我。其實(shí)這我都不惦記了,希望群里的朋友迷茫的盡快找到方向,盡快都成為高手。如果你還關(guān)注我不知道是因?yàn)槲业慕?jīng)歷還是因?yàn)槲仪耙黄哪切╊}目?前幾篇寫(xiě)的一些我的經(jīng)歷可能有些人看了,可能還會(huì)有同感,如果愿意可以跟著我的思路走,先完成我上篇博文提到的幾個(gè)題目。至于我的經(jīng)歷,如果你還感興趣可以留言,我在后邊再說(shuō)說(shuō)。。。。。。
          下面開(kāi)始第一個(gè)題目:流水燈
          硬件前提:用51的P1口控制8個(gè)LED,1點(diǎn)亮,0熄滅。
          (1)第1,3,5,7個(gè)燈半亮,其余的全亮。
          (2)第1個(gè)亮1/8,第2個(gè)亮2/8,第3個(gè)亮3/8,第4個(gè)亮4/8,第5個(gè)亮5/8,第6個(gè)亮6/8, 第7個(gè)亮7/8,第8個(gè)全亮。
          (3)所有的燈逐漸從暗到全亮,再由全亮到暗。
          (4)8個(gè)燈從第一個(gè)開(kāi)始依次漸亮,直到最后一個(gè)。再?gòu)淖詈笠粋€(gè)起漸暗,直 到 第一個(gè)。如此循環(huán)往復(fù)。這才是真正的流水燈。


          單片機(jī)初學(xué)者幾乎都做的一個(gè)實(shí)驗(yàn)就是流水燈實(shí)驗(yàn),因?yàn)榇蠹叶甲?,所以就覺(jué)得很簡(jiǎn)單,很多人對(duì)這個(gè)實(shí)驗(yàn)幾乎不屑。其實(shí)要徹底的玩轉(zhuǎn)這個(gè)實(shí)驗(yàn)也是很不簡(jiǎn)單的事情,不信看看你能不能完成下面的實(shí)驗(yàn)題,如果你能拿下它,那么你已經(jīng)一只腳穩(wěn)穩(wěn)地踏入了單片機(jī)門(mén)檻,并且你一定不想再回頭了,此時(shí)已經(jīng)有一部分人對(duì)你刮目相看了(包括我),因?yàn)榫瓦@幾個(gè)題目算起來(lái)我想了有整整一天了,總算有個(gè)結(jié)果,而且還有一些問(wèn)題,尤其是第(2)個(gè)題目效果很不明顯。我把這幾個(gè)題目的程序貼出來(lái),希望大家給點(diǎn)意見(jiàn),我們互相交流,互相學(xué)習(xí),互相指導(dǎo)。
          題目要求:第1,3,5,7個(gè)燈半亮,其余的全亮。
          (1)程序:
          #include
          #defineucharunsignedchar
          #defineledP1//led接在P1口
          #defineTon40//基準(zhǔn)脈寬0.04ms
          ucharLEDflag=0;//全局變量,最大255,保存T0中斷次數(shù)

          voidinit();
          voidled_on();
          voidmain()
          {
          init();
          while(1)
          {

          led_on();

          }
          }
          voidinit()//定時(shí)器初始化
          {
          TMOD=0x02;//T0方式2,8位自動(dòng)載入
          TH0=256-Ton;//T0初始值
          TL0=256-Ton;//重載值
          TR0=1;//啟動(dòng)T0
          ET0=1;//開(kāi)T0,T1中斷
          EA=1;//全局中斷允許
          }

          voidtime0_int()interrupt1using3//T0中斷函數(shù),中斷1,使用工作組3
          {
          LEDflag++;//修改LEDflag
          }

          voidled_on()
          {

          if(LEDflag==0)//點(diǎn)亮8個(gè)燈
          {
          led=0x00;
          }
          if(LEDflag==12)//熄滅1,3,5,7燈
          {
          led=0x55;
          }
          }
          題目要求:第1個(gè)亮1/8,第2個(gè)亮2/8,第3個(gè)亮3/8,第4個(gè)亮4/8,第5個(gè)亮5/8,第6個(gè)亮 6/8, 第7個(gè)亮7/8,第8個(gè)全亮。
          (2)程序:
          #include
          #defineucharunsignedchar
          #defineledP1//led接在P1口
          #defineTon40//基準(zhǔn)脈寬0.04ms
          uchari,LEDflag=0;//全局變量,最大255,保存T0中斷次數(shù)
          //ucharcodeled_off[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};
          voidinit();
          voidled_on();
          voidmain()
          {
          init();
          while(1)
          {

          led_on();

          }
          }
          voidinit()//定時(shí)器初始化
          {
          TMOD=0x02;//T0方式2,8位自動(dòng)載入
          TH0=256-Ton;//T0初始值
          TL0=256-Ton;//重載值
          TR0=1;//啟動(dòng)T0
          ET0=1;//開(kāi)T0,T1中斷
          EA=1;//全局中斷允許
          }

          voidtime0_int()interrupt1using3//T0中斷函數(shù),中斷1,使用工作組3
          {
          LEDflag++;//修改LEDflag
          }

          voidled_on()
          {
          switch(LEDflag)
          {
          case32:led=0x00;
          //為真時(shí)語(yǔ)句
          break;
          case64:led=0x01;
          //為真時(shí)語(yǔ)句
          break;
          case96:led=0x03;
          //為真時(shí)語(yǔ)句
          break;
          case128:led=0x07;
          //為真時(shí)語(yǔ)句
          break;
          case160:led=0x0f;
          //為真時(shí)語(yǔ)句
          break;
          case192:led=0x1f;
          //為真時(shí)語(yǔ)句
          break;
          case224:led=0x3f;
          //為真時(shí)語(yǔ)句
          break;
          case255:led=0x7f;
          //為真時(shí)語(yǔ)句
          break;
          default:
          //冗余語(yǔ)句
          break;
          }

          }
          題目要求:所有的燈逐漸從暗到全亮,再由全亮到暗。
          (3)程序:
          #include
          #defineucharunsignedchar
          #defineledP1//led接在P1口
          #defineTon40//基準(zhǔn)脈寬0.04ms
          ucharLEDflag=0;//全局變量,最大255,保存T0中斷次數(shù)
          voidinit();
          voidled_on_off();
          voidmain()
          {
          init();
          while(1)
          {

          led_on_off();

          }
          }

          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: 單片機(jī)流水

          評(píng)論


          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();