wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

點(diǎn)陣16*32綜合(間斷、上移、下移、左移、右移、左拉、右拉)C程序

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2012年06月28日   【字體:

點(diǎn)陣16*32綜合(間斷、上移、下移、左移、右移、左拉、右拉)C程序,硬件電路:行驅(qū)動(dòng)74HC154+S8550三極管,列驅(qū)動(dòng)74HC595,具體原理圖祥見:http://www.izizhuan.cn/mcu/1522.html  

具體視頻效果祥見:http://www.tudou.com/programs/view/8qoTrWwtGzg/

程序代碼下載:http://www.izizhuan.cn/f/dz88.rar
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define LINE P0//定義行線IO口,即74HC154控制端
#define shudu 4//字移動(dòng)的速度
sbit DATA=P1^4;//74HC595數(shù)據(jù)端
sbit CLK=P1^5;//74HC595移位脈沖端
sbit CLKR=P1^6;//74HC595數(shù)據(jù)鎖存端
uchar move;//移動(dòng)幾位變量
uchar line,ji;//行變量
uint word;//字節(jié)變量
uchar BUF[6];//4組緩存數(shù)組以便動(dòng)態(tài)更改數(shù)據(jù)
uchar code table[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x10,0x3F,0xF8,0x04,0x10,0x04,0x14,0xFF,0xFE,0x04,0x10,0x04,0x10,
0x3F,0xF0,0x04,0x10,0x04,0x00,0x08,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x40,0x00,
0x01,0x00,0x01,0x08,0x7F,0xFC,0x01,0x00,0x3F,0xF8,0x01,0x00,0xFF,0xFE,0x00,0x10,
0x1F,0xF8,0x10,0x10,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10,0x10,0x50,0x10,0x20,

0x01,0x00,0x01,0x00,0x01,0xF8,0x01,0x00,0x01,0x10,0x1F,0xF8,0x10,0x10,0x10,0x10,
0x10,0x10,0x1F,0xF0,0x10,0x10,0x01,0x10,0x28,0x88,0x24,0x44,0x44,0x44,0x00,0x00,
0x00,0x80,0xF8,0x80,0x88,0x80,0x97,0xFC,0xA1,0x00,0x91,0x40,0x8A,0x40,0x8F,0xFC,
0x88,0x40,0xA8,0x40,0x97,0xFE,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x40,

0x24,0x04,0x34,0x04,0x24,0x24,0x3F,0xA4,0x44,0x24,0x04,0x24,0x7F,0xA4,0x04,0x24,
0x3F,0xA4,0x24,0xA4,0x24,0xA4,0x24,0xA4,0x24,0x84,0x27,0x84,0x05,0x14,0x04,0x08,
0x08,0x80,0x0C,0x80,0x09,0x00,0x13,0xFE,0x12,0x80,0x34,0x88,0x50,0xFC,0x90,0x80,
0x10,0x80,0x10,0x84,0x10,0xFE,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,

0x00,0xA0,0x00,0x90,0x00,0x80,0x3F,0xFE,0x20,0x80,0x20,0x80,0x3E,0x88,0x22,0x8C,
0x22,0x48,0x22,0x50,0x22,0x20,0x2A,0x60,0x44,0x92,0x41,0x0A,0x86,0x06,0x00,0x02,
0x00,0x20,0x00,0x20,0x7F,0x20,0x08,0x20,0x0B,0xFC,0x08,0x24,0x08,0x24,0x08,0x44,
0x09,0x44,0x0E,0x44,0xF0,0x84,0x40,0x84,0x01,0x04,0x02,0x78,0x04,0x10,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};//字模數(shù)組
uchar code table1[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/* 當(dāng)前所選字體下一個(gè)漢字對應(yīng)的點(diǎn)陣為:  寬度x高度=32x16,  調(diào)整后為: 32x16*/
0x00,0x00,0x01,0x00,0x3F,0xF8,0x01,0x00,0x02,0x08,0x3F,0xF8,0x02,0x08,0x01,0x00,
0x7F,0xFE,0x1F,0xF0,0x02,0x08,0x01,0x00,0x02,0x08,0xFF,0xFE,0x3F,0xF8,0x00,0x00,
0x02,0x08,0x1F,0xF0,0x02,0x00,0x10,0x10,0x04,0x00,0x1F,0xF0,0x04,0x00,0x10,0x10,
0x08,0x00,0x1F,0xF0,0x10,0x00,0x10,0x10,0x20,0x00,0x10,0x50,0x40,0x00,0x10,0x20,

/*; 當(dāng)前所選字體下一個(gè)漢字對應(yīng)的點(diǎn)陣為:  寬度x高度=32x16,  調(diào)整后為: 32x16*/
0x01,0x00,0x00,0x80,0x01,0x00,0xF8,0x80,0x01,0xF8,0x88,0x80,0x01,0x00,0x97,0xFC,
0x01,0x10,0xA1,0x00,0x1F,0xF8,0x91,0x40,0x10,0x10,0x8A,0x40,0x10,0x10,0x8F,0xFC,
0x10,0x10,0x88,0x40,0x1F,0xF0,0xA8,0x40,0x10,0x10,0x97,0xFE,0x01,0x10,0x80,0x40,
0x28,0x88,0x80,0x40,0x24,0x44,0x80,0x40,0x44,0x44,0x80,0x40,0x00,0x00,0x80,0x40,

/*; 當(dāng)前所選字體下一個(gè)漢字對應(yīng)的點(diǎn)陣為:  寬度x高度=32x16,  調(diào)整后為: 32x16*/
0x24,0x04,0x08,0x80,0x34,0x04,0x0C,0x80,0x24,0x24,0x09,0x00,0x3F,0xA4,0x13,0xFE,
0x44,0x24,0x12,0x80,0x04,0x24,0x34,0x88,0x7F,0xA4,0x50,0xFC,0x04,0x24,0x90,0x80,
0x3F,0xA4,0x10,0x80,0x24,0xA4,0x10,0x84,0x24,0xA4,0x10,0xFE,0x24,0xA4,0x10,0x80,
0x24,0x84,0x10,0x80,0x27,0x84,0x10,0x80,0x05,0x14,0x10,0x80,0x04,0x08,0x10,0x80,
/*; 當(dāng)前所選字體下一個(gè)漢字對應(yīng)的點(diǎn)陣為:  寬度x高度=32x16,  調(diào)整后為: 32x16*/
0x00,0xA0,0x00,0x20,0x00,0x90,0x00,0x20,0x00,0x80,0x7F,0x20,0x3F,0xFE,0x08,0x20,
0x20,0x80,0x0B,0xFC,0x20,0x80,0x08,0x24,0x3E,0x88,0x08,0x24,0x22,0x8C,0x08,0x44,
0x22,0x48,0x09,0x44,0x22,0x50,0x0E,0x44,0x22,0x20,0xF0,0x84,0x2A,0x60,0x40,0x84,
0x44,0x92,0x01,0x04,0x41,0x0A,0x02,0x78,0x86,0x06,0x04,0x10,0x00,0x02,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
uchar code table2[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

 


/*; 當(dāng)前所選字體下一個(gè)漢字對應(yīng)的點(diǎn)陣為:  寬度x高度=32x16,  調(diào)整后為: 32x16*/
0x00,0xA0,0x00,0x20,0x00,0x90,0x00,0x20,0x00,0x80,0x7F,0x20,0x3F,0xFE,0x08,0x20,
0x20,0x80,0x0B,0xFC,0x20,0x80,0x08,0x24,0x3E,0x88,0x08,0x24,0x22,0x8C,0x08,0x44,
0x22,0x48,0x09,0x44,0x22,0x50,0x0E,0x44,0x22,0x20,0xF0,0x84,0x2A,0x60,0x40,0x84,
0x44,0x92,0x01,0x04,0x41,0x0A,0x02,0x78,0x86,0x06,0x04,0x10,0x00,0x02,0x00,0x00,

 

/*; 當(dāng)前所選字體下一個(gè)漢字對應(yīng)的點(diǎn)陣為:  寬度x高度=32x16,  調(diào)整后為: 32x16*/
0x24,0x04,0x08,0x80,0x34,0x04,0x0C,0x80,0x24,0x24,0x09,0x00,0x3F,0xA4,0x13,0xFE,
0x44,0x24,0x12,0x80,0x04,0x24,0x34,0x88,0x7F,0xA4,0x50,0xFC,0x04,0x24,0x90,0x80,
0x3F,0xA4,0x10,0x80,0x24,0xA4,0x10,0x84,0x24,0xA4,0x10,0xFE,0x24,0xA4,0x10,0x80,
0x24,0x84,0x10,0x80,0x27,0x84,0x10,0x80,0x05,0x14,0x10,0x80,0x04,0x08,0x10,0x80,

/*; 當(dāng)前所選字體下一個(gè)漢字對應(yīng)的點(diǎn)陣為:  寬度x高度=32x16,  調(diào)整后為: 32x16*/
0x01,0x00,0x00,0x80,0x01,0x00,0xF8,0x80,0x01,0xF8,0x88,0x80,0x01,0x00,0x97,0xFC,
0x01,0x10,0xA1,0x00,0x1F,0xF8,0x91,0x40,0x10,0x10,0x8A,0x40,0x10,0x10,0x8F,0xFC,
0x10,0x10,0x88,0x40,0x1F,0xF0,0xA8,0x40,0x10,0x10,0x97,0xFE,0x01,0x10,0x80,0x40,
0x28,0x88,0x80,0x40,0x24,0x44,0x80,0x40,0x44,0x44,0x80,0x40,0x00,0x00,0x80,0x40,

/* 當(dāng)前所選字體下一個(gè)漢字對應(yīng)的點(diǎn)陣為:  寬度x高度=32x16,  調(diào)整后為: 32x16*/
0x00,0x00,0x01,0x00,0x3F,0xF8,0x01,0x00,0x02,0x08,0x3F,0xF8,0x02,0x08,0x01,0x00,
0x7F,0xFE,0x1F,0xF0,0x02,0x08,0x01,0x00,0x02,0x08,0xFF,0xFE,0x3F,0xF8,0x00,0x00,
0x02,0x08,0x1F,0xF0,0x02,0x00,0x10,0x10,0x04,0x00,0x1F,0xF0,0x04,0x00,0x10,0x10,
0x08,0x00,0x1F,0xF0,0x10,0x00,0x10,0x10,0x20,0x00,0x10,0x50,0x40,0x00,0x10,0x20,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
/******************************************/
/***************延時(shí)子程序*****************/
/******************************************/
void delay(uchar z)
{
 uchar x,y;
 for(x=8;x>0;x--)
 for(y=z;y>0;y--);
}
/********************************/
/**74HC595移位寄存器送數(shù)子函數(shù)***/
/********************************/
void song(uchar z)//帶參數(shù)函數(shù)
{
 uchar num,hang;//定義變量
 hang=z;//將形參給變量
 for(num=0;num<8;num++)//移動(dòng)8次將數(shù)據(jù)發(fā)送完畢
 {
  if(hang&0x01==1)//將高7位屏蔽掉,保留最低位判斷
  DATA=1;//為1就將74HC595數(shù)據(jù)端置1
  else
  DATA=0;//否則給0
  CLK=0;//上升沿送走數(shù)據(jù)
  CLK=1;//高電平形成上升沿
  hang>>=1;//將數(shù)移走一位
 }
}
/********************************/
/*裝一線數(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)];//右半屏代碼
 }
}

/*************************************************************************/
/*******************************間斷子程序*********************************/
/*************************************************************************/
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處鎖存起來
    CLKR=0;
    CLKR=1;
    LINE=line;//打開行
    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處鎖存起來
    CLKR=0;
    CLKR=1;
    LINE=line;//打開行
    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處鎖存起來
    CLKR=0;
    CLKR=1;
    LINE=line;//打開行
    delay(5);
   }
  }
  word-=1;//移一位形成上移
 }
}
/*************************************************************************/
/*******************************左移子程序*********************************/
/*************************************************************************/
/*將一行數(shù)據(jù)轉(zhuǎn)換出來,然后顯示*/
/********************************/
void yipai()
{
 uchar temp,yi;
 if(move<8)//處理移動(dòng)次數(shù)小于8次的部分
 {
  yi=move;
  temp=(BUF[3]<<yi)|(BUF[4]>>(8-yi));/*將第2個(gè)字的右半屏數(shù)左移yi次,
  然后或上第3個(gè)字左半屏的8-yi次數(shù),注此句是處理第2個(gè)字右半屏的數(shù)*/
  song(~temp);//發(fā)送給74HC595
  temp=(BUF[2]<<yi)|(BUF[3]>>(8-yi));/*將第2個(gè)字的左半屏數(shù)左移yi次,
  然后或上第2個(gè)字右半屏的8-yi次數(shù),注此句是處理第2個(gè)字左半屏的數(shù)*/
  song(~temp);//發(fā)送給74HC595
  temp=(BUF[1]<<yi)|(BUF[2]>>(8-yi));/*將第1個(gè)字的右半屏數(shù)左移yi次,
  然后或上第2個(gè)字左半屏的8-yi次數(shù),注此句是處理第1個(gè)字右半屏的數(shù)*/
  song(~temp);//發(fā)送給74HC595
  temp=(BUF[0]<<yi)|(BUF[1]>>(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]<<yi)|(BUF[5]>>(8-yi));/*將第3個(gè)字的左半屏數(shù)左移yi次,
  然后或上第3個(gè)字右半屏的8-yi次數(shù),注此句是處理第2個(gè)字右半屏的數(shù)*/
  song(~temp);//發(fā)送給74HC595
  temp=(BUF[3]<<yi)|(BUF[4]>>(8-yi));/*將第2個(gè)字的右半屏數(shù)左移yi次,
  然后或上第3個(gè)字左半屏的8-yi次數(shù),注此句是處理第2個(gè)字左半屏的數(shù)*/
  song(~temp);//發(fā)送給74HC595
  temp=(BUF[2]<<yi)|(BUF[3]>>(8-yi));/*將第2個(gè)字的左半屏數(shù)左移yi次,
  然后或上第2個(gè)字右半屏的8-yi次數(shù),注此句是處理第1個(gè)字右半屏的數(shù)*/
  song(~temp);//發(fā)送給74HC595
  temp=(BUF[1]<<yi)|(BUF[2]>>(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<shudu;i++)//一字移動(dòng)的速度
   {
    for(line=0;line<16;line++)//掃描16次,即完成一個(gè)字的移動(dòng)
    {
     yixian();//調(diào)用一線子程序
     yipai();//調(diào)用數(shù)據(jù)轉(zhuǎn)換子程序
     LINE=line;//打開行線,即174HC154行線端
     CLKR=1;//在74HC595處鎖存起來
     CLKR=0;
     CLKR=1;
    }
   }
  }
  word=word+32;//一個(gè)字顯示完了,就顯示下一個(gè)字
 }
}  

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

/*************************************************************************/
/*******************************左拉子程序*********************************/
/*************************************************************************/
/*將一行數(shù)據(jù)轉(zhuǎn)換出來,然后顯示*/
/********************************/
void yipai3()
{
 uchar temp,yi;
 if(move<8)//處理移動(dòng)次數(shù)小于8次的部分
 {
  yi=move;
  temp=(BUF[3]<<yi)|(BUF[4]>>(8-yi));/*將第2個(gè)字的右半屏數(shù)左移yi次,
  然后或上第3個(gè)字左半屏的8-yi次數(shù),注此句是處理第2個(gè)字右半屏的數(shù)*/
  song(~temp);//發(fā)送給74HC595
  temp=(BUF[2]<<yi)|(BUF[3]>>(8-yi));/*將第2個(gè)字的左半屏數(shù)左移yi次,
  然后或上第2個(gè)字右半屏的8-yi次數(shù),注此句是處理第2個(gè)字左半屏的數(shù)*/
  song(~temp);//發(fā)送給74HC595
  temp=(BUF[1]<<yi)|(BUF[2]>>(8-yi));/*將第1個(gè)字的右半屏數(shù)左移yi次,
  然后或上第2個(gè)字左半屏的8-yi次數(shù),注此句是處理第1個(gè)字右半屏的數(shù)*/
  song(~temp);//發(fā)送給74HC595
  temp=(BUF[0]<<yi)|(BUF[1]>>(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]<<yi)|(BUF[5]>>(8-yi));/*將第3個(gè)字的左半屏數(shù)左移yi次,
  然后或上第3個(gè)字右半屏的8-yi次數(shù),注此句是處理第2個(gè)字右半屏的數(shù)*/
  song(~temp);//發(fā)送給74HC595
  temp=(BUF[3]<<yi)|(BUF[4]>>(8-yi));/*將第2個(gè)字的右半屏數(shù)左移yi次,
  然后或上第3個(gè)字左半屏的8-yi次數(shù),注此句是處理第2個(gè)字左半屏的數(shù)*/
  song(~temp);//發(fā)送給74HC595
  temp=(BUF[2]<<yi)|(BUF[3]>>(8-yi));/*將第2個(gè)字的左半屏數(shù)左移yi次,
  然后或上第2個(gè)字右半屏的8-yi次數(shù),注此句是處理第1個(gè)字右半屏的數(shù)*/
  song(~temp);//發(fā)送給74HC595
  temp=(BUF[1]<<yi)|(BUF[2]>>(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();//右拉
 }
}   

關(guān)閉窗口

相關(guān)文章

一区二区三区欧美亚洲| 中文字幕42页丝袜| 久久久综合av| 日韩av卡一卡二| 欧美肥婆xxxx欧美另类| 国产美女喷水视频| 四虎精品欧美一区二区免费| 欧美综合激情网| 91精品欧美福利在线观看| 久久久久久亚洲综合影院红桃| 久久久久久久性潮| 玖玖在线免费视频| 四虎国产精品成人永久免费影视| 日本少妇在线观看| www.91av视频.com| 国产日韩欧美自拍| 亚洲精选中文字幕| 精品国产一区二区三区久久久狼| 欧洲黄色一区| eeuss影院18www免费| 加勒比综合在线| 日韩女优电影在线观看| 97超碰欧美中文字幕| 欧美a级片网站| 欧美亚洲黄色| 欧洲亚洲精品久久久久| 国产不卡在线| 日本桃色视频| 91丨九色丨蝌蚪丨老板| 中国xxxx自拍视频| аⅴ成人天堂中文在线| 中文字幕一区二区三区中文字幕| 国产一级片免费| 麻豆网站免费观看| 97超碰在线人人| 国产伦精品一区二区三| 欧美激情手机在线视频| 日韩电影中文字幕一区| 欧美一区二区三区电影| 91九色02白丝porn| 日韩理论片网站| 不卡的av网站| 国产一区二区h| 亚洲中午字幕| 亚洲一线在线观看| 成年人在线免费看片| 国产三级精品三级在线| 国产 国语对白 露脸| 日韩欧美一区二区视频在线播放 | 欧美福利视频一区二区| 熟女少妇内射日韩亚洲| 久久久久久视频| japanese中文字幕| 一级特黄a大片免费| 国产大片一区二区三区| 国产熟女高潮视频| 日本一区免费视频| 国产精品麻豆成人av电影艾秋| 欧美videos极品另类| 宅男深夜免费观看视频| 国产视频一二三| 成人影院在线观看视频| 黄色免费电影网站| 91野花视频| 国产福利电影网| 欧美激情午夜| 亚洲一区二区三区久久久| 国产一区二区三区四区五区3d| 国产一级一片免费播放放a| 中文字幕avav| 国产18无套直看片| 亚洲自拍偷拍图| 欧美在线观看不卡| 欧美男人亚洲天堂| 国产成人精品网| 午夜一区在线观看| 黄色av免费观看| 99久久久国产精品无码免费| 国产一区二区小视频| 91亚洲欧美激情| 韩日中文字幕第一页| 欧美日韩中文字幕| 蜜臀久久99精品久久久久久9 | 91综合久久爱com| 美女午夜精品| 九九热爱视频精品视频| 啪啪亚洲精品| 日本不卡不码高清免费观看| 国产福利一区二区三区在线视频| 国产成人自拍高清视频在线免费播放| 亚洲人成精品久久久久| 精品欧美国产一区二区三区| 欧美色视频日本高清在线观看| 亚洲四区在线观看| 亚洲成av人综合在线观看| 欧美香蕉大胸在线视频观看| 精品一区电影国产| 国产精品一区二区久久国产| yy111111少妇影院日韩夜片| 成人情视频高清免费观看电影| 日韩一区免费观看| 亚洲一区二区中文字幕在线观看| 久久视频免费在线观看| 男人的天堂va免费视频| 在线看小视频| 超碰在线观看免费| 偷拍亚洲色图| 电影久久久久久| 中文字幕一区二区人妻痴汉电车| 三上悠亚一区| 澳门永久av免费网站| 九色porny蝌蚪视频在线观看| 中文字幕免费在线| 大片免费在线观看| 日韩电影在线观看完整免费观看| 蜜桃免费网站一区二区三区| 欧美日韩亚洲高清| 久久99亚洲热视| 成人激情电影一区二区| 任我爽在线视频精品一| 三上悠亚久久精品| 一级做a免费视频| 亚洲激情网站免费观看| 欧美精品久久一区| 亚洲性猛交xxxxwww| 久久91精品国产| 艳色歌舞团一区二区三区| 成人午夜激情av| av黄色一级片| 国产又爽又黄的视频| 亚洲在线偷拍自拍| 麻豆传媒mv| 日本高清中文字幕在线| 欧美激情福利| 日韩av中文在线观看| 久久精品日产第一区二区三区高清版| 亚洲韩国青草视频| 国产精品xxx视频| 艳妇乳肉亭妇荡乳av| 7777精品伊人久久久大香线蕉完整版 | 久久久天堂国产精品| 天堂网中文在线观看| 中文字幕视频网| 天天操天天操天天操天天| 97人妻精品一区二区三区| wwwxxxx在线观看| 日韩欧美视频免费观看| 日韩在线一区二区视频| a篇片在线观看网站| 最新国产乱人伦偷精品免费网站| av电影在线观看完整版一区二区| 欧美三级xxx| 国产精品777| 午夜久久久久久久久久久| 一级网站在线观看| 黄色aaa毛片| 久久大胆人体| 日韩福利电影在线观看| 欧美一区二区三区在线电影| 精品午夜一区二区三区| 欧美午夜aaaaaa免费视频| 一区二区三区影视| 美女喷水白浆| 国产污视频在线播放| 天天躁日日躁狠狠躁超碰2020| 综合毛片免费视频| 中国成人一区| 91首页免费视频| 91精品国产综合久久香蕉麻豆| 99在线观看视频| 中文字幕第二区| 成人三级av| 九九精品久久| 欧美色视频日本版| 久久国产欧美精品| 亚洲色图欧美日韩| 99久久精品日本一区二区免费 | 性xxxxx| 9999在线视频| 午夜精品偷拍| 在线观看国产日韩| 日韩av手机在线| 韩国日本在线视频| 亚洲av成人精品一区二区三区在线播放 | 午夜福利123| 欧美x0x0| 亚洲综合影院| 亚洲午夜激情av| 久久久久久香蕉网| 一区中文字幕在线观看| xxxxx99| 国产最新网站| 免费h视频在线观看| 亚洲高清毛片| 色噜噜狠狠色综合中国| 免费看国产精品一二区视频| 日本一道本视频| 特级全黄一级毛片| 中文字幕一区二区av | 久久国产精品网站| 欧美亚洲一二三区| 中国女人一级一次看片| 狠狠干婷婷色| 精久久久久久| 亚洲人成人99网站| 超碰超碰超碰超碰超碰| 国产伦精品一区二区三区妓女| 亚洲精品国偷拍自产在线观看蜜桃| 深夜福利免费在线观看| 亚洲人成网站在线播| 成人高清在线视频| 欧美国产日韩一区二区三区| 图片区偷拍区小说区| 91tv国产成人福利| 色偷偷偷在线视频播放| 26uuuu精品一区二区| 国产精品久久久久久搜索| 亚洲精品在线网址| 18以下岁禁止1000部免费| 四虎8848精品成人免费网站 | 美女一区二区视频| 国产成人免费视频一区| 欧美另类99xxxxx| 亚洲欧美日韩色| 草久在线视频| 麻豆高清免费国产一区| 日韩午夜激情视频| 亚洲一区不卡在线| 天天操天天插天天射| 国产在线天堂www网在线观看| 国产人久久人人人人爽| 欧美综合在线第二页| 久久久久亚洲av片无码| yellow91字幕网在线| 国产免费成人在线视频| 欧美精品欧美精品| 成人h动漫精品一区二区下载| 欧美另类自拍| 精品动漫3d一区二区三区免费| 亚洲欧美中文日韩在线v日本| 欧美一区二区三区影院| 中文字幕毛片| 国产高清在线精品| 亚洲精品欧美一区二区三区| 精品国产乱码久久久久久鸭王1| 亚洲成人自拍偷拍| 国产911在线观看| 国产成人精品久久一区二区小说| 亚洲精品国产九九九| 欧美高清dvd| 亚洲制服中文字幕| 欧洲天堂在线观看| 狠狠网亚洲精品| 欧美极品少妇xxxxⅹ喷水| 人与动物性xxxx| 懂色av一区| 91在线观看高清| 久久精品magnetxturnbtih| 先锋影音男人站你懂得| 亚洲精品久久| 精品香蕉一区二区三区| 黑丝av在线播放| 超碰在线网址| 精品国产999| 黄色一级大片在线观看| 中国女人内谢25xxxx免费视频| 亚洲最黄网站| 久久久精品日本| 久久久久麻豆v国产精华液好用吗 在线观看国产免费视频 | 中日韩在线观看视频| 欧美a级网站| 在线看国产一区二区| 九色91popny| 在线免费91| 成人激情四射网| 狠狠操一区二区三区| 欧美日韩国产一区二区三区| 免费在线观看毛片网站| 高清免费观看在线| 国产无遮挡一区二区三区毛片日本| 五月天亚洲综合| 污污的视频网站在线观看| 色婷婷亚洲mv天堂mv在影片| 亚洲精品国产美女| 2021国产视频| 天天骑天天干| www.日韩大片| 亚洲欧美一二三| 天天爱天天做色综合| 不卡高清视频专区| 综合一区中文字幕| 欧美色图亚洲图片| 男女精品视频| 久久riav| 免费女人毛片视频| 国产亚洲精品bv在线观看| 久久亚洲精品成人| 免费91在线观看| 国产91在线精品| 亚洲免费视频在线观看| 国产精品无码电影| 黄色aa久久| 日韩一区二区免费电影| 91动漫免费网站| 婷婷久久免费视频| 中文字幕亚洲欧美日韩在线不卡| 国产熟女高潮一区二区三区| 91福利在线免费| 日韩三级高清在线| 麻豆亚洲av成人无码久久精品| 亚洲优女在线| 欧美色视频日本版| av黄色一级片| 欧美sm视频| 三级欧美在线一区| 成人春色激情网| 自拍偷拍国产| 国产综合亚洲精品一区二| 久久免费福利视频| 国模人体一区二区| 免费在线成人网| 亚洲v欧美v另类v综合v日韩v| 另类图片激情| 五月婷婷综合在线| 鲁一鲁一鲁一鲁一av| 在线观看三级视频| 欧美日韩激情小视频| 亚洲天堂资源在线| 国产成人免费视频网站视频社区| 精品久久久久久久久久久院品网| 丰满人妻一区二区三区免费视频棣| www.精品| 国产一区二区动漫| 国产精品乱码一区二区| 葵司免费一区二区三区四区五区| 亚洲精品中文综合第一页| 菠萝蜜视频网站入口| 国产精品99久久久久久有的能看| 国产视频一区二区三区四区| 理论片影音先锋| 国产成人激情av| 精品国产一区二区三区四区精华| h视频在线观看免费网站| 亚洲天堂a在线| 成人午夜剧场视频网站| 林ゆな中文字幕一区二区| 国产精品色视频| c++连点器| 午夜影院在线观看欧美| 99热6这里只有精品| 日韩欧美高清在线播放| 久久久一本精品99久久精品66| 国产精品成人a在线观看| 欧美理论电影| 欧美成人国产一区二区| 波多野结衣高清视频| 久久99国内| 亚洲tv在线观看| 在线观看免费播放网址成人| 福利二区91精品bt7086| 四虎永久免费在线| 国产精品自在| 欧美—级高清免费播放| 欧美日本黄色| 中文字幕制服丝袜一区二区三区 | 亚洲欧美综合图区| 一级黄色大片免费| 男女激情视频一区| 亚洲第一精品区| 每日更新在线观看av| 欧美一级二级在线观看| 亚洲一卡二卡在线| 精油按摩中文字幕久久| 亚洲春色综合另类校园电影| 成人av毛片| 91黄视频在线观看| 久久久精品国产sm调教| 欧美oldwomenvideos| 麻豆久久久av免费| 玖玖综合伊人| 国产视频精品xxxx| 性xxxxbbbb| 成人午夜大片免费观看| 国产 国语对白 露脸 | 天堂av在线7| 欧美精品一区二区三区蜜臀| 日韩av无码中文字幕| 国产日韩欧美一区在线| 中文字幕日韩一区二区三区| 三级资源在线| 精品日韩一区二区三区免费视频| 自拍偷拍第八页| 国产成人精品影视| 三级性生活视频| 日韩精品视频中文字幕| 日本欧美在线视频| 国产精品18p| 激情丁香综合五月| 国产亚洲精品成人a| 日韩在线观看电影完整版高清免费悬疑悬疑|