<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 來(lái)源:網(wǎng)絡(luò) 收藏

          /********************************/
          /*裝一線數(shù)據(jù)子函數(shù)(即一行數(shù)據(jù))*/
          /********************************/
          void yixian()
          {
          uchar s;
          for(s=0;s<3;s++)/*循環(huán)2次,得到第1個(gè)字(代碼存在數(shù)組1與2中)
          與第2個(gè)字(代碼存在數(shù)組2與3中)的某一行數(shù)值*/
          {
          BUF[s*2]=table[word+(32*s)+(line*2)];//左半屏代碼,line表示行數(shù),word表示字?jǐn)?shù)
          BUF[s*2+1]=table[word+(32*s+1)+(line*2)];//右半屏代碼
          }
          }

          本文引用地址:http://www.ex-cimer.com/article/201611/323401.htm

          /*************************************************************************/
          /*******************************間斷子程序*********************************/
          /*************************************************************************/
          void jian()
          {
          uchar j;
          while(word<80)//循環(huán)80次一個(gè)字16次即5*16
          {
          for(j=0;j<50;j++)//1個(gè)字顯示的速度
          {
          ji=word;//將變量給它
          for(line=0;line<16;line++)//循環(huán)16次得到一整屏字
          {
          song(~table1[ji*4+3]);//發(fā)送第2個(gè)字右半屏數(shù)
          song(~table1[ji*4+2]);//發(fā)送第2個(gè)字左半屏的數(shù)
          song(~table1[ji*4+1]);//發(fā)送第1個(gè)右半屏的數(shù)
          song(~table1[ji*4]);//發(fā)送第1個(gè)字左半屏的數(shù)
          ji++;//接著發(fā)下一行
          CLKR=1;//在74HC595處鎖存起來(lái)
          CLKR=0;
          CLKR=1;
          LINE=line;//打開(kāi)行
          delay(10);
          }
          }
          word+=16;//顯示下一個(gè)字
          }
          }
          /*************************************************************************/
          /*******************************上移子程序*********************************/
          /*************************************************************************/
          void shang()
          {
          uchar j;
          while(word<80)//循環(huán)80次一個(gè)字16次即5*16
          {
          for(j=0;j<10;j++)//1個(gè)字顯示的速度
          {
          ji=word;//將變量給它
          for(line=0;line<16;line++)//循環(huán)16次得到一整屏字
          {
          song(~table1[ji*4+3]);//發(fā)送第2個(gè)字右半屏數(shù)
          song(~table1[ji*4+2]);//發(fā)送第2個(gè)字左半屏的數(shù)
          song(~table1[ji*4+1]);//發(fā)送第1個(gè)右半屏的數(shù)
          song(~table1[ji*4]);//發(fā)送第1個(gè)字左半屏的數(shù)
          ji++;//接著發(fā)下一行
          CLKR=1;//在74HC595處鎖存起來(lái)
          CLKR=0;
          CLKR=1;
          LINE=line;//打開(kāi)行
          delay(5);
          }
          }
          word+=1;//移一位形成上移
          }
          }
          /*************************************************************************/
          /*******************************下移子程序*********************************/
          /*************************************************************************/
          void xia()
          {
          uchar j;
          while(word>0)//循環(huán)80次一個(gè)字16次即5*16
          {
          for(j=0;j<10;j++)//1個(gè)字顯示的速度
          {
          ji=word;//將變量給它
          for(line=0;line<16;line++)//循環(huán)16次得到一整屏字
          {
          song(~table2[ji*4+3]);//發(fā)送第2個(gè)字右半屏數(shù)
          song(~table2[ji*4+2]);//發(fā)送第2個(gè)字左半屏的數(shù)
          song(~table2[ji*4+1]);//發(fā)送第1個(gè)右半屏的數(shù)
          song(~table2[ji*4]);//發(fā)送第1個(gè)字左半屏的數(shù)
          ji++;//接著發(fā)下一行
          CLKR=1;//在74HC595處鎖存起來(lái)
          CLKR=0;
          CLKR=1;
          LINE=line;//打開(kāi)行
          delay(5);
          }
          }
          word-=1;//移一位形成上移
          }
          }
          /*************************************************************************/
          /*******************************左移子程序*********************************/
          /*************************************************************************/
          /*將一行數(shù)據(jù)轉(zhuǎn)換出來(lái),然后顯示*/
          /********************************/
          void yipai()
          {
          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
          }
          }
          void zou()
          {
          uchar i;
          while(word<320)
          {
          for(move=0;move<16;move++)//要移多少位?
          {
          for(i=0;i{
          for(line=0;line<16;line++)//掃描16次,即完成一個(gè)字的移動(dòng)
          {
          yixian();//調(diào)用一線子程序
          yipai();//調(diào)用數(shù)據(jù)轉(zhuǎn)換子程序
          LINE=line;//打開(kāi)行線,即174HC154行線端
          CLKR=1;//在74HC595處鎖存起來(lái)
          CLKR=0;
          CLKR=1;
          }
          }
          }
          word=word+32;//一個(gè)字顯示完了,就顯示下一個(gè)字
          }
          }

          /*************************************************************************/
          /*******************************右移子程序*********************************/
          /*************************************************************************/
          /*將一行數(shù)據(jù)轉(zhuǎn)換出來(lái),然后顯示*/
          /********************************/
          void yipai2()
          {
          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 you()
          {
          uchar i;
          while(word<320)
          {
          for(move=0;move<16;move++)//要移多少位?
          {
          for(i=0;i{
          for(line=0;line<16;line++)//掃描16次,即完成一個(gè)字的移動(dòng)
          {
          yixian();//調(diào)用一線子程序
          yipai2();//調(diào)用數(shù)據(jù)轉(zhuǎn)換子程序
          LINE=line;//打開(kāi)行線,即174HC154行線端
          CLKR=1;//在74HC595處鎖存起來(lái)
          CLKR=0;
          CLKR=1;
          }
          }
          }
          word=word+32;//一個(gè)字顯示完了,就顯示下一個(gè)字
          }
          }



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