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

          新聞中心

          按鍵控制流水燈程序

          作者: 時(shí)間:2016-11-29 來(lái)源:網(wǎng)絡(luò) 收藏
          最近有很多學(xué)弟來(lái)問(wèn)我流水燈該怎么做,程序怎么寫(xiě),現(xiàn)在在這里統(tǒng)一說(shuō)下,很多時(shí)候沒(méi)有時(shí)間讓你們白跑一趟了,O(∩_∩)O~。
          首先就說(shuō)到單片機(jī)了,單片機(jī)對(duì)于你們來(lái)說(shuō)是個(gè)新概念,可能以前都沒(méi)聽(tīng)說(shuō)過(guò)。我想說(shuō)的是它不是傳統(tǒng)意義上的集成電路,只能按照特定的焊接來(lái)能工作,而是一塊類(lèi)似電腦CPU的芯片,對(duì)于一塊正常的單片機(jī),只要你提供合適的工作電源(4V都5.5V左右)、復(fù)位電路 、起振電路它就可以工作了。所有的輸入輸出口(以P開(kāi)頭的)都是可以靈活配置的,可以根據(jù)你焊接的硬件電路寫(xiě)程序,也可以根據(jù)你寫(xiě)的程序焊接硬件電路。所以沒(méi)有必要死板硬套。前天沒(méi)事寫(xiě)了一下,仿真了一下還可以用。源碼貼于下方供入門(mén)者參考,高手勿嘲笑,大家都是從流水燈程序?qū)懫鸬?(*^__^*) 嘻嘻……
          再就是我的51開(kāi)發(fā)板不知道是誰(shuí)借走了,很久沒(méi)有用過(guò)51單片機(jī)了,所以下載程序的事就不要來(lái)找我了。我把編譯過(guò)后的代碼也貼在下面,如果硬件和我做的一樣的同學(xué)又不會(huì)寫(xiě)程序的就直接復(fù)制下面編譯過(guò)后的代碼,在電腦上新建一個(gè)文本文檔(.txt)命名任意,將復(fù)制后的代碼粘貼于記事本上,然后重命名,將".txt"改為“.hex”,保存,然后通過(guò)下載器下載到單片機(jī)里面去就可以用了。
          不會(huì)的多去http://www.51hei.com看一下教程。以下僅供參考,不得一味模仿
          /***************************************************************************************************************
          源碼:
          51單片機(jī)
          晶振頻率12Mhz
          八位數(shù)碼管采用共陽(yáng)極接法(所有陽(yáng)極接一起接Vcc,陰極接P0口)
          按鍵分別接P2.0 P2.1 P2.2(低電平有效)
          編譯軟件采用keil 4
          *******************************************************************************************************************************************************/
          #include
          #define uint unsigned int
          #define uchar unsigned char
          sbit key1 =P2^0; //按鍵1
          sbit key2 =P2^1; //按鍵2
          sbit key3 =P2^2; //按鍵3
          uchar flag1=0,flag2=0,flag3=0;
          void delay_ms(uint z)
          {
          uint i,j;
          for(i=0;i for(j=0;j<110;j++);
          }
          void O_to_E() //1,3,5,7與2,4,6,8交替閃爍
          {
          P0=0Xaa;
          delay_ms(200);
          P0=~0Xaa;
          delay_ms(200);
          }
          void key_scan() //鍵盤(pán)掃描
          {
          if(!key1)
          {
          delay_ms(10); //延時(shí)消抖
          if(!key1)
          flag1=1;
          }
          if(!key2)
          {
          delay_ms(10); //延時(shí)消抖
          if(!key2)
          flag2=1;
          }
          if(!key3)
          {
          delay_ms(10); //延時(shí)消抖
          if(!key3)
          flag3=1;
          }
          }
          void main()
          {
          uchar i;
          while(1)
          {
          key_scan();
          if(flag1) //按鍵一按下?
          {
          for(i=0;i<8;i++) //從左至右亮,每次一盞
          {
          P0=~(0x80>>i);
          delay_ms(100);
          key_scan(); //按鍵掃描
          if(flag2||flag3){flag1=0;break;} //如果有其它按鍵按下響應(yīng)其它按鍵
          }
          }
          if(flag2) //按鍵一按下?
          {
          for(i=0;i<8;i++) //從右至左亮,每次一盞
          {
          P0=~(0x01< delay_ms(100);
          key_scan();
          if(flag1||flag3){flag2=0;break;}
          }
          }
          if(flag3)
          {
          O_to_E(); //奇偶交替閃爍
          key_scan();
          if(flag1||flag2)flag3=0;
          }
          }
          }
          /***********************************************************************************************************************
          編譯過(guò)后的文件
          注意:復(fù)制下面的代碼(注意不要包含本句,注意不要改變格式)
          :09015700010800010900010A0081
          :040123007F0A7E00D1
          :10012700E4FDFCC3ED9FEC9E5015E4FBFA0BBB000E
          :0F013700010AEB646E4A70F50DBD00010C80E407
          :010146002296
          :100147007580AA7FC87E0012012775805502012796
          :0A00F400F4F5807F647E00120127FE
          :1000FE0020A00912012320A00375080120A10912D6
          :10010E00012320A10375090120A20912012320A2B7
          :05011E0003750A012237
          :10008F001200FE1200FEE5086021E4F97480A80159
          :10009F00088002C313D8FC1200F4E5097004E50AC6
          :1000AF006005E4F508800409B908E1E509601FE47B
          :1000BF00F97401A801088002C333D8FC1200F4E5DB
          :1000CF00087004E50A6003E4F50909B908E3E50AD5
          :1000DF0060B11201471200FEE5087004E50960A344
          :0500EF00E4F50A809E0B
          :03000000020003F8
          :0C000300787FE4F6D8FD75810A02004AFF
          :10000F0002008FE493A3F8E493A34003F68001F278
          :10001F0008DFF48029E493A3F85407240CC8C333F2
          :10002F00C4540F4420C8834004F456800146F6DFC1
          :10003F00E4800B0102040810204080900157E47EF9
          :10004F00019360BCA3FF543F30E509541FFEE493B6
          :10005F00A360010ECF54C025E060A840B8E493A37D
          :10006F00FAE493A3F8E493A3C8C582C8CAC583CAA8
          :10007F00F0A3C8C582C8CAC583CADFE9DEE780BE60
          :01016000009E
          :00000001FF
          結(jié)束(注意不要包含本句及上面的※號(hào),注意不要改變格式?。?


          關(guān)鍵詞: 按鍵控制流水

          評(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); })();