<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è) > 嵌入式系統 > 設計應用 > 單片機驅動(dòng)點(diǎn)陣16*16綜合C程序-包含各種效果

單片機驅動(dòng)點(diǎn)陣16*16綜合C程序-包含各種效果

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

/********************************/

/*******將一個(gè)字右移16位***********/

/********************************/

void youla()

{

uchar i;

while(word<256)

{

for(move=0;move<16;move++)//要移多少位?

you3();

for(i=0;i<150;i++)

you3();

word=word+32;//一個(gè)字顯示完了,就顯示下一個(gè)字

}

}

/************************************************************/

/************************************************************/

/**************************左覆蓋***************************/

/************************************************************/

/************************************************************/

/********************************/

/*將一行數據轉換出來(lái),然后顯示*/

/********************************/

void yipai5()

{

uchar temp,yi;

if(move<8)//處理移動(dòng)次數小于8次的部分

{

yi=move;

temp=(BUF[1]);//發(fā)送左半屏的數,在移動(dòng)右半屏時(shí),左半屏不動(dòng)

song(~temp);//發(fā)送給74HC595

temp=(BUF[2]&~gai)|(BUF[0]&gai);

song(~temp);//發(fā)送給74HC595

}

else//處理移動(dòng)次數小于8次以外的部分

{

yi=move-8;

temp=(BUF[3]&~gai)|(BUF[1]&gai);/*將第1個(gè)字的左半屏數第0列清0或上第二

個(gè)字左半屏最后1行*/

song(~temp);//發(fā)送給74HC595

temp=BUF[2];//發(fā)送右半屏的數,在移動(dòng)左半屏時(shí),右半屏不動(dòng)

song(~temp);//發(fā)送給74HC595

}

}

/********************************/

/*****掃描16次,形成一列覆蓋*****/

/********************************/

void fu3()

{

uchar i;

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

{

for(line=0;line<16;line++)//掃描16次,即完成一個(gè)字的移動(dòng)

{

yixian();//調用一線(xiàn)子程序

yipai5();//調用數據轉換子程序

LINE=line;//打開(kāi)行線(xiàn),即174HC154行線(xiàn)端

CLKR=1;//在74HC595處鎖存起來(lái)

CLKR=0;

CLKR=1;

}

}

}

/********************************/

/***每列移動(dòng)16次后,形成覆蓋****/

/********************************/

void zoufu()

{

uchar o;

while(word<256)

{

for(move=0;move<16;move++)//移動(dòng)16次,形成覆蓋

{

gai=table3[move];//移動(dòng)一次改變一次覆蓋變量

fu3();//調用覆蓋子程序

}

for(o=0;o<60;o++)//一字完后,停一段時(shí)間

{

fu3();//調用覆蓋子程序

}

word=word+32;//一個(gè)字顯示完了,就顯示下一個(gè)字

}

}

/************************************************************/

/************************************************************/

/**************************右覆蓋***************************/

/************************************************************/

/************************************************************/

/********************************/

/*將一行數據轉換出來(lái),然后顯示*/

/********************************/

void yipai4()

{

uchar temp,yi;

if(move<8)//處理移動(dòng)次數小于8次的部分

{

yi=move;

temp=(BUF[1]&gai)|(BUF[3]&~gai);/*將第1個(gè)字的右半屏數第0列清0或上第二

個(gè)字右半屏最后1行*/

song(~temp);//發(fā)送給74HC595

temp=(BUF[0]);//發(fā)送左半屏的數,在移動(dòng)右半屏時(shí),左半屏不動(dòng)

song(~temp);//發(fā)送給74HC595

}

else//處理移動(dòng)次數小于8次以外的部分

{

yi=move-8;

temp=BUF[3];//發(fā)送右半屏的數,在移動(dòng)左半屏時(shí),右半屏不動(dòng)

song(~temp);//發(fā)送給74HC595

temp=(BUF[0]&gai)|(BUF[2]&~gai);/*將第1個(gè)字的左半屏數第0列清0或上第二

個(gè)字左半屏最后1行*/

song(~temp);//發(fā)送給74HC595

}

}

/********************************/

/*****掃描16次,形成一列覆蓋*****/

/********************************/

void fu2()

{

uchar i;

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

{

for(line=0;line<16;line++)//掃描16次,即完成一個(gè)字的移動(dòng)

{

yixian();//調用一線(xiàn)子程序

yipai4();//調用數據轉換子程序

LINE=line;//打開(kāi)行線(xiàn),即174HC154行線(xiàn)端

CLKR=1;//在74HC595處鎖存起來(lái)

CLKR=0;

CLKR=1;

}

}

}

/********************************/

/***每列移動(dòng)16次后,形成覆蓋****/

/********************************/

void youfu()

{

uchar o;

while(word<256)

{

for(move=0;move<16;move++)//移動(dòng)16次,形成覆蓋

{

gai=table2[move];//移動(dòng)一次改變一次覆蓋變量

fu2();//調用覆蓋子程序

}

for(o=0;o<60;o++)//一字完后,停一段時(shí)間

{

fu2();//調用覆蓋子程序

}

word=word+32;//一個(gè)字顯示完了,就顯示下一個(gè)字

}

}

/************************************************************/

/************************************************************/

/**************************主函數***************************/

/************************************************************/

/************************************************************/

void main()

{

while(1)

{

word=0;//初始化變量

jian();//間斷顯示子程序

word=0;

shang();//調用上移子程序

word=128;//賦初值以便形成下移

xia();//調用下移子程序

word=0;

zou();//調用左移子程序

word=0;

you();//調用右移子程序

word=0;

shangla();//調用上拉子程序

word=128;

xiala();//調用下拉子程序

word=0;

zoula();//調用左拉子程序

word=0;

youla();//調用右拉子程序

word=0;

zoufu();//調用左覆蓋子程序

word=0;

youfu();//調用右覆蓋子程序

}

}


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

評論


相關(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>