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

          新聞中心

          點(diǎn)陣16*32綜合C程序

          作者: 時(shí)間:2016-11-29 來源:網(wǎng)絡(luò) 收藏

          /*************************************************************************/
          /*******************************左拉子程序*********************************/
          /*************************************************************************/
          /*將一行數(shù)據(jù)轉(zhuǎn)換出來,然后顯示*/
          /********************************/
          void yipai3()
          {
          uchar temp,yi;
          if(move<8)//處理移動(dòng)次數(shù)小于8次的部分
          {
          yi=move;
          temp=(BUF[3]<>(8-yi));/*將第2個(gè)字的右半屏數(shù)左移yi次,
          然后或上第3個(gè)字左半屏的8-yi次數(shù),注此句是處理第2個(gè)字右半屏的數(shù)*/
          song(~temp);//發(fā)送給74HC595
          temp=(BUF[2]<>(8-yi));/*將第2個(gè)字的左半屏數(shù)左移yi次,
          然后或上第2個(gè)字右半屏的8-yi次數(shù),注此句是處理第2個(gè)字左半屏的數(shù)*/
          song(~temp);//發(fā)送給74HC595
          temp=(BUF[1]<>(8-yi));/*將第1個(gè)字的右半屏數(shù)左移yi次,
          然后或上第2個(gè)字左半屏的8-yi次數(shù),注此句是處理第1個(gè)字右半屏的數(shù)*/
          song(~temp);//發(fā)送給74HC595
          temp=(BUF[0]<>(8-yi));/*將第1個(gè)字的左半屏數(shù)左移yi次,
          然后或上第1個(gè)字右半屏的8-yi次數(shù),注此句是處理第1個(gè)字左半屏的數(shù)*/
          song(~temp);//發(fā)送給74HC595
          }
          else//處理移動(dòng)次數(shù)小于8次以外的部分
          {
          yi=move-8;
          temp=(BUF[4]<>(8-yi));/*將第3個(gè)字的左半屏數(shù)左移yi次,
          然后或上第3個(gè)字右半屏的8-yi次數(shù),注此句是處理第2個(gè)字右半屏的數(shù)*/
          song(~temp);//發(fā)送給74HC595
          temp=(BUF[3]<>(8-yi));/*將第2個(gè)字的右半屏數(shù)左移yi次,
          然后或上第3個(gè)字左半屏的8-yi次數(shù),注此句是處理第2個(gè)字左半屏的數(shù)*/
          song(~temp);//發(fā)送給74HC595
          temp=(BUF[2]<>(8-yi));/*將第2個(gè)字的左半屏數(shù)左移yi次,
          然后或上第2個(gè)字右半屏的8-yi次數(shù),注此句是處理第1個(gè)字右半屏的數(shù)*/
          song(~temp);//發(fā)送給74HC595
          temp=(BUF[1]<>(8-yi));/*將第1個(gè)字的右半屏數(shù)左移yi次,
          然后或上第2個(gè)字左半屏的8-yi次數(shù),注此句是處理第1個(gè)字左半屏的數(shù)*/
          song(~temp);//發(fā)送給74HC595
          }
          }
          /********************************/
          /*******將一行數(shù)據(jù)顯示出來*******/
          /********************************/
          void zou3()
          {
          for(line=0;line<16;line++)//掃描16次,即完成一個(gè)字的移動(dòng)
          {
          yixian();//調(diào)用一線子程序
          yipai3();//調(diào)用數(shù)據(jù)轉(zhuǎn)換子程序
          LINE=line;//打開行線,即174HC154行線端
          CLKR=1;//在74HC595處鎖存起來
          CLKR=0;
          CLKR=1;
          }
          }
          /********************************/
          /*************左拉顯示***********/
          /********************************/
          void zoula()
          {
          uchar i,ii,k;
          while(word<320)//5個(gè)字*64=320
          {

          for(move=0;move<16;move++)//要移多少位?
          {
          for(i=0;i<2;i++)//一字移動(dòng)的速度
          {
          zou3();//調(diào)用顯示子程序
          }
          }
          ii++;//將變量加1
          if((ii%2)==0)//移完兩個(gè)字才停下來
          {
          for(k=0;k<150;k++)//停下來時(shí)間
          zou3();//一行顯示子程序
          }
          word=word+32;//一個(gè)字顯示完了,就顯示下一個(gè)字
          }
          i=0;//標(biāo)志位清0
          }
          /*************************************************************************/
          /*******************************右拉子程序*********************************/
          /*************************************************************************/
          /*將一行數(shù)據(jù)轉(zhuǎn)換出來,然后顯示*/
          /********************************/
          void yipai5()
          {
          uchar temp,yi;
          if(move<8)//處理移動(dòng)次數(shù)小于8次的部分
          {
          yi=move;
          temp=(BUF[0]<<(8-yi))|(BUF[1]>>yi);
          song(~temp);//發(fā)送給74HC595
          temp=(BUF[3]<<(8-yi))|(BUF[0]>>yi);
          song(~temp);//發(fā)送給74HC595
          temp=(BUF[2]<<(8-yi))|(BUF[3]>>yi);
          song(~temp);//發(fā)送給74HC595
          temp=(BUF[5]<<(8-yi))|(BUF[2]>>yi);
          song(~temp);//發(fā)送給74HC595
          }
          else//處理移動(dòng)次數(shù)小于8次以外的部分
          {
          yi=move-8;
          temp=(BUF[3]<<(8-yi))|(BUF[0]>>yi);
          song(~temp);//發(fā)送給74HC595
          temp=(BUF[2]<<(8-yi))|(BUF[3]>>yi);
          song(~temp);//發(fā)送給74HC595
          temp=(BUF[5]<<(8-yi))|(BUF[2]>>yi);
          song(~temp);//發(fā)送給74HC595
          temp=(BUF[4]<<(8-yi))|(BUF[5]>>yi);
          song(~temp);//發(fā)送給74HC595
          }
          }
          void yihang()
          {
          for(line=0;line<16;line++)//掃描16次,即完成一個(gè)字的移動(dòng)
          {
          yixian();//調(diào)用一線子程序
          yipai5();//調(diào)用數(shù)據(jù)轉(zhuǎn)換子程序
          LINE=line;//打開行線,即174HC154行線端
          CLKR=1;//在74HC595處鎖存起來
          CLKR=0;
          CLKR=1;
          }
          }
          void youla()
          {
          uchar i,j,ii;
          while(word<320)
          {
          for(move=0;move<16;move++)//要移多少位?
          {

          for(ii=0;ii<2;ii++)//一字移動(dòng)的速度
          {
          yihang();
          }

          }
          i++;
          if(i%2==0)
          {
          for(j=0;j<150;j++)
          yihang();
          }
          word=word+32;//一個(gè)字顯示完了,就顯示下一個(gè)字
          }
          }
          /********************************/
          /************主程序*************/
          /********************************/
          void main()
          {

          while(1)
          {
          word=0;
          jian();//間斷
          word=0;
          shang();//上移
          word=80;
          xia();//下移
          word=0;
          zou();//左移
          word=0;
          you();//右移
          word=0;
          zoula();//左拉
          word=0;
          youla();//右拉
          }
          }


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

          關(guān)鍵詞: 點(diǎn)陣16*3

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(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); })();