<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 51單片機+點(diǎn)陣8*8上、下、左、右移顯示C程序

51單片機+點(diǎn)陣8*8上、下、左、右移顯示C程序

作者: 時(shí)間:2012-07-10 來(lái)源:網(wǎng)絡(luò ) 收藏

二、下移

#includereg52.h>
#define uchar unsigned char
#define uint unsigned int
#define LINE P1//定義行線(xiàn)IO口,即74HC154控制端
#define shudu 50//字移動(dòng)的速度
sbit DATA=P3^5;//74HC595數據端
sbit CLK=P3^7;//74HC595移位脈沖端
sbit CLKR=P3^6;//74HC595數據鎖存端
uchar f=24;//給一個(gè)初值以便下移
uchar code table[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x08,0x08,0x7F,0x49,0x7F,0x08,0x08,0x08,//將字碼調換
0x00,0x3C,0x00,0x18,0x00,0x7E,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};//字模數組
void delay(uchar z)
{
uchar x,y;
for(x=8;x>0;x--)
for(y=z;y>0;y--);
}
/********************************/
/**74HC595移位寄存器送數子函數***/
/********************************/
void song(uchar z)//帶參數函數
{
uchar num,hang;//定義變量
hang=z;//將形參給變量
for(num=0;num8;num++)//移動(dòng)8次將數據發(fā)送完畢
{
if(hang0x01==1)//將高7位屏蔽掉,保留最低位判斷
DATA=1;//為1就將74HC595數據端置1
else
DATA=0;//否則給0
CLK=0;//上升沿送走數據
CLK=1;//高電平形成上升沿
hang>>=1;//將數移走一位
}
}
/********************************/
/*將一行數據轉換出來(lái),然后顯示*/
/********************************/
void xian()
{
uint word;//字節變量
uchar line,i;//字節變量
for(i=0;ishudu;i++)//一字移動(dòng)的速度
{
word=f;//將字暫存器給計數器
for(line=0;line8;line++)//掃描8次,即完成一個(gè)字的移動(dòng)
{
song(~table[word]);
CLKR=1;//在74HC595處鎖存起來(lái)
CLKR=0;
CLKR=1;
word++;//將計數器加1
LINE=line;//打開(kāi)行線(xiàn),即行線(xiàn)端
//P3=0xff;
delay(10);
}
}
f--;//顯示完一個(gè)字后減1形成下移
if(f==0)
{
f=24;//移完后給值
}
}
/********************************/
/************主程序*************/
/********************************/
void main()
{
while(1)
{
xian();
}
}

三、左移

#includereg52.h>
#define uchar unsigned char
#define uint unsigned int
#define LINE P1//定義行線(xiàn)IO口,即74HC154控制端
#define shudu 120//字移動(dòng)的速度
sbit DATA=P3^5;//74HC595數據端
sbit CLK=P3^7;//74HC595移位脈沖端
sbit CLKR=P3^6;//74HC595數據鎖存端
uchar move;//移動(dòng)幾位變量
uchar line;//行變量
uint word;//字節變量
uchar BUF[2];//2組緩存數組以便動(dòng)態(tài)更改數據
uchar code table[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x3C,0x00,0x18,0x00,0x7E,0x00,0x00,
0x08,0x08,0x7F,0x49,0x7F,0x08,0x08,0x08,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};//字模數組
/********************************/
/**74HC595移位寄存器送數子函數***/
/********************************/
void song(uchar z)//帶參數函數
{
uchar num,hang;//定義變量
hang=z;//將形參給變量
for(num=0;num8;num++)//移動(dòng)8次將數據發(fā)送完畢
{
if(hang0x01==1)//將高7位屏蔽掉,保留最低位判斷
DATA=1;//為1就將74HC595數據端置1
else
DATA=0;//否則給0
CLK=0;//上升沿送走數據
CLK=1;//高電平形成上升沿
hang>>=1;//將數移走一位
}
}
/********************************/
/*裝一線(xiàn)數據子函數(即一行數據)*/
/********************************/
void yixian()
{
BUF[0]=table[word+line];//第1個(gè)字代碼裝入緩存數組0,line表示行數,word表示字數
BUF[1]=table[word+8+line];//第2個(gè)字代碼裝入緩存數組1
}
/********************************/
/*將一行數據轉換出來(lái),然后顯示*/
/********************************/
void yipai()
{
uchar temp,yi;//定義兩個(gè)變量
yi=move;//將要移多少位給變量yi
temp=(BUF[0]yi)|(BUF[1]>>(8-yi));/*將第1個(gè)字即數組0左移yi(yi只是代號,比如1位)位
,然后將第下一個(gè)字即數組1右移8-yi位,然后或一下,這樣就會(huì )得到要發(fā)送的數*/
song(~temp);//發(fā)送給74HC595



關(guān)鍵詞: 51單片機 點(diǎn)陣 74HC138

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>