<span id="6rh12"><output id="6rh12"></output></span><track id="6rh12"></track>

    1. <legend id="6rh12"></legend>
            1. <acronym id="6rh12"><blockquote id="6rh12"></blockquote></acronym>
            2. <optgroup id="6rh12"></optgroup>
              1. <ol id="6rh12"><blockquote id="6rh12"></blockquote></ol>
              2. <track id="6rh12"></track>

                    1. <legend id="6rh12"></legend>
                        <acronym id="6rh12"><blockquote id="6rh12"></blockquote></acronym> <optgroup id="6rh12"><em id="6rh12"><pre id="6rh12"></pre></em></optgroup>

                        1. <strong id="6rh12"><blockquote id="6rh12"></blockquote></strong>

                          LED顯示屏
                          【LED大屏網行業門戶網站】 服務熱線:400-6787-360 |投稿郵箱 |會員登錄 |免費注冊 |設為首頁 |加入收藏 |RSS |客戶服務
                          LED顯示屏
                          當前位置:LED大屏網 > 行業新聞 > > LED點陣顯示程序(帶漢字移動)
                          LED點陣顯示程序(帶漢字移動)
                          編輯:新雨 [ 2011-2-22 8:50:43 ] 文章來源:LED大屏網
                          #include
                          unsigned int zimo,xx=0; //zimo是字模計數器,xx為分屏顯示的時候的字數。
                          unsigned char yid,h; //yid為移動計數器,h為行段計數器
                          unsigned char code hanzi[]; //漢字字模
                          unsigned char BUFF[18],BUFF2[18]; //左移顯示的緩存
                          void qing(void); void xianshi(void);
                          void fen(void); void zuo(void);
                          void in_data(void); //調整數據
                          void rxd_data(void); //左移發送數據
                          void out_rxd(unsigned char *d); //分屏、上移發送數據
                          char code sw[]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x00}; /*8行段碼*/
                          /***********主程序******************/
                          void main(void)
                          { unsigned char ee;
                          SCON=01=0;yid=0;zimo=0;
                          while(1)
                          { fen(); //分屏顯示
                          for(ee=30;ee>0;ee--)//清屏幕3秒
                          {qing();}
                          zuo(); //左移顯示
                          for(ee=30;ee>0;ee--)
                          {qing();}
                          }
                          }
                          /**********清屏幕*******************/
                          void qing (void)
                          { unsigned char zz,xx=0x0ff;
                          for (zz=33;zz>0;zz--)
                          {out_rxd(&xx);}
                          P1=0xff; P1=0; //鎖存為高,74HC595鎖存信號
                          P2=0; //清74LS138的使能端
                          }
                          /**********分屏顯示***********/
                          void fen(void)
                          { do{ xianshi(); }while(xx++<=5); //調用單屏顯示
                          xx=0;
                          }
                          /************單屏顯示*************/
                          void xianshi(void)
                          { unsigned char ii,jj;
                          unsigned int kk,aa;
                          for (kk=500;kk>0;kk--) //每屏顯示500次
                          {for(ii=1;ii<16;ii+=2) //每個漢字分8行掃描
                          { for (jj=0;jj<8;jj++) //每次要發送8個漢字的2個字節,發送8次
                          { aa=(xx*8+jj)*32+ii;
                          out_rxd(&hanzi[aa]); //從串口輸出第1個字的第1字節。
                          out_rxd(&hanzi[aa-1]); //從串口輸出第1個字的第1字節。
                          }
                          for (jj=0;jj<8;jj++) //每次要發送8個漢字的2個字節,發送8次
                          { aa=(xx*8+jj)*32+ii;
                          out_rxd(&hanzi[aa+16]); //從串口輸出第1個字的第17字節。
                          out_rxd(&hanzi[aa+15]); //從串口輸出第1個字的第18字節
                          }
                          P2=0x0ff;
                          P1=0xff; P1=0; //鎖存為高,74HC595鎖存信號
                          P2=sw[h]; //輸出行信號
                          h++; //行加一
                          if(h==8)h=0;
                          }
                          }
                          }
                          /***************左移顯示************/
                          void zuo(void)
                          { unsigned char i,d=5; //d為移動的時候一個漢字的掃描顯示次數
                          xianshi(); //調用單屏顯示
                          while(zimo<=1450)
                          {while(yid<16) //數據移位。
                          {for(i=0;i {for(h=0;h<8;h++) //8行掃描
                          { in_data(); //調整數據
                          rxd_data(); //串口發送數據
                          P2=sw[h]; //送段碼
                          P1=0xff; //鎖存為高,595鎖存信號
                          P1=0;
                          }
                          }
                          yid++; //移動一步
                          }
                          yid=0;zimo=zimo+32; //后移一個字,
                          }
                          zimo=0;
                          }
                          /*************分屏顯示的數據發送************/
                          void out_rxd(unsigned char *d) /*從串口發送數據*/
                          { SBUF=*d; while(!TI); //等待發送完畢
                          TI=0;
                          }
                          /*******左移顯示讀取數據 并調整**************/
                          void in_data(void)
                          { char s,w; unsigned int qqq;
                          for(s=8;s>=0;s--)
                          { w=s+s;
                          qqq=zimo+h+h+s*32;
                          BUFF[w+1]=hanzi[qqq];
                          BUFF[w]=hanzi[qqq+1];
                          BUFF2[w+1]=hanzi[qqq+16];
                          BUFF2[w]=hanzi[qqq+17];
                          }
                          }
                          /**********左移顯示的數據調整發送***************/
                          void rxd_data(void) //串行發送數據
                          {unsigned char inc,s,tempyid,temp;
                          if(yid<8) inc=0;
                          else inc=1;
                          for(s=0+inc;s<16+inc;s++) //發送數據
                          { if(yid<8) tempyid=yid;
                          else tempyid=yid-8;
                          temp=(BUFF[s]>>tempyid)|(BUFF[s+1]<<(8-tempyid));
                          SBUF=temp; //把BUFF中的字節從大到小移位相或后發送輸出。
                          while(!TI);TI=0; //等待發送中斷
                          }
                          for(s=0+inc;s<16+inc;s++) //發送8字節數據
                          { if(yid<8) tempyid=yid;
                          else tempyid=yid-8;
                          temp=(BUFF2[s]>>tempyid)|(BUFF2[s+1]<<(8-tempyid));
                          SBUF=temp; //把BUFF中的字節從大到小移位相或后發送輸出。
                          while(!TI);TI=0; //等待發送中斷
                          }
                          }

                          LED顯示屏
                          編輯推薦
                          圖片新聞
                          • 慶祝委內瑞拉關塔戶外廣告led顯示屏PH16項目順利完成
                          • 多彩視界,龍騰鳳舞
                          • LED大屏網隸屬公司中投網絡被評為深圳市“2010年優秀互聯網企業”
                          • CREATOR快捷LED顯示屏精彩演繹亞運會信息發布網點
                          • 亞運閉幕式 聯騰LED船帆屏續寫輝煌
                          新聞搜索
                          LED顯示屏
                          網媒聚焦
                          導航:單基色LED顯示屏 | 雙基色LED顯示屏 | LED條屏 | 全彩LED顯示屏 | 室內LED顯示屏 | LED廣告屏 | 室外LED顯示屏 | LED電子顯示屏 | LED幕墻 | LED顯示屏出租 | LED驅動
                          設為首頁 | 網站建設 | 商務信息 | LED顯示屏資訊 | 本站動態 | 關于LED大屏網 | 網站RSS | 網站地圖 | 友情鏈接
                          本站實名:LED大屏網 | LED大屏幕 | LED顯示屏 | 國際域名:www.ceramicstonewaredinnerware.com
                          版權所有© 2004-2011 深圳中投網絡信息技術有限公司 
                          郵箱:LED-100@3v.cn 客服QQ:點擊這里給我發消息 電話:+86-755-33019199(十二線) 傳真:+86-755-33010910
                          阳茎进去女人阳道图片动态_欧美性暴力变态XXXX_久久精品呦女漂亮人妻偷人精品视频_欧美又粗又大XXXXBBBB疯狂