日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 消費電子 > 消費電子
[導讀]圖上擺放的是上面一排引腳是行,下面一排引腳是列。行是LED陽極。行列各由四個74HC573控制,每個控制8個腳。同時注意單片機P0口上拉保持供電充足。還有注意每行的掃描時間要合理設置。否則會有顯示殘缺。根據(jù)實際設


圖上擺放的是上面一排引腳是行,下面一排引腳是列。行是LED陽極。

行列各由四個74HC573控制,每個控制8個腳。同時注意單片機P0口上拉保持供電充足。

還有注意每行的掃描時間要合理設置。否則會有顯示殘缺。根據(jù)實際設置吧!!!

橫向顯示4個字:少占魚制作

其實可以把這個程序和我另外的一個單片機串口與電腦通信的程序結合起來,加上我用VC做的上位機界面??梢宰杂奢斎腼@示內(nèi)容,還可以反向控制電腦的一些操作。不過我還是熱衷不用電腦輸入顯示內(nèi)容,而用一只感應筆掃描一個32*32LED模板,實現(xiàn)自己點哪就讓哪個LED亮的效果。簡單有省事。等我做出實物來再發(fā)吧!!!其實就是加個光敏三極管,LED模板上各個LED點亮時間不同。通過測頻達到取某點坐標的目的。

//32*32點陣LED顯示,由8*8點陣組成。列高行低點亮

/*****我在修改的時候,總是字顯示不完整,一開始還以為是哪里有錯,后來改延時程序也不行,最后每行連續(xù)掃描幾次,可以了******/

#include

#define uchar unsigned char

#define uint unsigned int

//少占魚制作 河北正定歡迎您 長沙航空職業(yè)技術學院 2010 年QQ:411656434

//郵箱:ssou_1985@163.com

sbit CS1=P1^0;

sbit CS2=P1^1;

sbit CS3=P1^6;

sbit CS4=P1^7;

sbit L1=P1^2;

sbit L2=P1^3;

sbit L3=P1^4;

sbit L4=P1^5;

uchar hang[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

uchar code tab[]={

0x01,0x00,0x01,0x00,0x01,0x00,0x09,0x20,

0x09,0x10,0x11,0x0C,0x11,0x04,0x21,0x10,

0x41,0x10,0x01,0x20,0x01,0x40,0x00,0x80,

0x01,0x00,0x02,0x00,0x0C,0x00,0x70,0x00,

//少

0x02,0x00,0x02,0x00,0x02,0x08,0x03,0xFC,

0x02,0x00,0x02,0x00,0x02,0x10,0x3F,0xF8,

0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x10,

0x20,0x10,0x20,0x10,0x3F,0xF0,0x20,0x10,

//占

0x04,0x00,0x04,0x00,0x0F,0xE0,0x10,0x40,

0x20,0x88,0x7F,0xFC,0xA1,0x08,0x21,0x08,

0x3F,0xF8,0x21,0x08,0x21,0x08,0x3F,0xF8,

0x20,0x08,0x00,0x04,0xFF,0xFE,0x00,0x00,

//魚

0x04,0x04,0x24,0x04,0x25,0x04,0x3F,0xA4,

0x24,0x24,0x44,0xA4,0xFF,0xE4,0x04,0x24,

0x3F,0xA4,0x24,0xA4,0x24,0xA4,0x24,0x84,

0x26,0x84,0x25,0x04,0x04,0x14,0x04,0x08

//制

};

void delay(uint);

void delayus();

void xianshi();

void dis1();

void dis2();

void dis3();

void dis4();

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

//主函數(shù)入口

main()

{

delayus();

delay(20);

P0=0x00;

P2=0xff;

L1=0;

L2=0;

L3=0;

L4=0;

CS1=0;

CS2=0;

CS3=0;

CS4=0;

while(1)

{

xianshi();

}

}

void xianshi()

{

dis1();

dis1();

dis2();

dis2();

dis3();

dis3();

dis4();

dis4();

}

/************第一個16*16點陣顯示***************/

//

void dis1()

{

//第一個16*16點陣開始顯示

uchar i,j;

/*****我在修改的時候,總是字顯示不完整,一開始還以為是哪里有錯,后來改延時程序也不行,最后每行連續(xù)掃描幾次,可以了******/

//少占魚 河北正定歡迎您 長沙航院 QQ:411656434

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

{

for(j=0;j<8;j++)//特別注意這里每組點陣的每行掃描8遍,人眼看起來才完整,否則會有殘缺不亮

{

/*****我在修改的時候,總是字顯示不完整,一開始還以為是哪里有錯,后來改延時程序也不行,最后每行連續(xù)掃描幾次,可以了******/

P2=hang[i];

CS1=1;

P0=tab[i*2];

L1=1;

delay(1);

P0=0x00;

L1=0;

P0=tab[i*2+1];

L2=1;

delay(1);

P0=0x00;//這句才是真正關閉陽極正電的

L2=0; //關閉列,這句是使以后的操作不再影響本列狀態(tài)

P2=0xff;//這句才是關閉陰極正電的語句

CS1=0; //關閉行低,使以后的操作部影響本行狀態(tài)

i++;

}

}

/*****我在修改的時候,總是字顯示不完整,一開始還以為是哪里有錯,后來改延時程序也不行,最后每行連續(xù)掃描幾次,可以了******/

for(i=8;i<16;i++)

{

for(j=0;j<8;j++)//特別注意這里每組點陣的每行掃描8遍,人眼看起來才完整,否則會有殘缺不亮

{

P2=hang[i%8];

CS2=1;

P0=tab[i*2];

L1=1;

delay(1);

P0=0x00;

L1=0;

P0=tab[i*2+1];

L2=1;

delay(1);

P0=0x00;//這句才是真正關閉陽極正電的

L2=0; //關閉列,這句是使以后的操作不再影響本列狀態(tài)

P2=0xff;//這句才是關閉陰極正電的語句

CS2=0; //關閉行低,使以后的操作部影響本行狀態(tài)

i++;

}

}

}

/*************第2個16*16點陣顯示*********************/

//

void dis2()

{

//第二個16*16點陣開始顯示

uchar i,j;

for(i=16;i<24;i++)

{/*****我在修改的時候,總是字顯示不完整,一開始還以為是哪里有錯,后來改延時程序也不行,最后每行連續(xù)掃描幾次,可以了******/

for(j=0;j<8;j++)//特別注意這里每組點陣的每行掃描8遍,人眼看起來才完整,否則會有殘缺不亮

{

P2=hang[i%16];

CS1=1;

P0=tab[i*2];

L3=1;

delay(1);

P0=0x00;

L3=0;

P0=tab[i*2+1];

L4=1;

delay(1);

P0=0x00;//這句才是真正關閉陽極正電的

L4=0; //關閉列,這句是使以后的操作不再影響本列狀態(tài)

P2=0xff;//這句才是關閉陰極正電的語句

CS1=0; //關閉行低,使以后的操作部影響本行狀態(tài)

i++;

}

}

for(i=24;i<32;i++)

{

/*****我在修改的時候,總是字顯示不完整,一開始還以為是哪里有錯,后來改延時程序也不行,最后每行連續(xù)掃描幾次,可以了******/

for(j=0;j<8;j++)//特別注意這里每組點陣的每行掃描8遍,人眼看起來才完整,否則會有殘缺不亮

{

P2=hang[i%24];

CS2=1;

P0=tab[i*2];

L3=1;

delay(1);

P0=0x00;

L3=0;

P0=tab[i*2+1];

L4=1;

delay(1);

P0=0x00;//這句才是真正關閉陽極正電的

L4=0; //關閉列,這句是使以后的操作不再影響本列狀態(tài)

P2=0xff;//這句才是關閉陰極正電的語句

CS2=0; //關閉行低,使以后的操作部影響本行狀態(tài)

i++;

}

}

//第二個16*16點陣顯示完畢

}

/***********第3個16*16點陣顯示**************************/

//

void dis3()

{

//第三個16*16點陣開始顯示

uchar i,j;

for(i=32;i<40;i++)

{ /*****我在修改的時候,總是字顯示不完整,一開始還以為是哪里有錯,后來改延時程序也不行,最后每行連續(xù)掃描幾次,可以了******/

for(j=0;j<8;j++)//特別注意這里每組點陣的每行掃描8遍,人眼看起來才完整,否則會有殘缺不亮

{

P2=hang[i%32];

CS3=1;

P0=tab[i*2];

L1=1;

delay(1);

P0=0x00;

L1=0;

P0=tab[i*2+1];

L2=1;

delay(1);

P0=0x00;//這句才是真正關閉陽極正電的

L2=0; //關閉列,這句是使以后的操作不再影響本列狀態(tài)

P2=0xff;//這句才是關閉陰極正電的語句

CS3=0; //關閉行低,使以后的操作部影響本行狀態(tài)

i++;

}

}

for(i=40;i<48;i++)

{

for(j=0;j<8;j++)//特別注意這里每組點陣的每行掃描8遍,人眼看起來才完整,否則會有殘缺不亮

{

P2=hang[i%40];

CS4=1;

P0=tab[i*2];

L1=1;

delay(1);

P0=0x00;

L1=0;

P0=tab[i*2+1];

L2=1;

delay(1);

P0=0x00;//這句才是真正關閉陽極正電的

L2=0; //關閉列,這句是使以后的操作不再影響本列狀態(tài)

P2=0xff;//這句才是關閉陰極正電的語句

CS4=0; //關閉行低,使以后的操作部影響本行狀態(tài)

i++;

}

}

//第三個16*16點陣顯示完畢

}

/********第4個16*16點陣顯示*********************/

//

void dis4()

{

/************第4個16*16點陣顯示***********************/

//第四個16*16點陣開始顯示

uchar i,j;

for(i=48;i<56;i++)

{

for(j=0;j<8;j++)//特別注意這里每組點陣的每行掃描8遍,人眼看起來才完整,否則會有殘缺不亮

{

P2=hang[i%48];

CS3=1;

P0=tab[i*2];

L3=1;

delay(1);

P0=0x00;

L3=0;

P0=tab[i*2+1];

L4=1;

delay(1);

P0=0x00;//這句才是真正關閉陽極正電的

L4=0; //關閉列,這句是使以后的操作不再影響本列狀態(tài)

P2=0xff;//這句才是關閉陰極正電的語句

CS3=0; //關閉行低,使以后的操作部影響本行狀態(tài)

i++;

}

}

for(i=56;i<64;i++)

{

for(j=0;j<8;j++)//特別注意這里每組點陣的每行掃描8遍,人眼看起來才完整,否則會有殘缺不亮

{

P2=hang[i%56];

CS4=1;

P0=tab[i*2];

L3=1;

delay(1);

P0=0x00;

L3=0;

P0=tab[i*2+1];

L4=1;

delay(1);

P0=0x00;//這句才是真正關閉陽極正電的

L4=0; //關閉列,這句是使以后的操作不再影響本列狀態(tài)

P2=0xff;//這句才是關閉陰極正電的語句

CS4=0; //關閉行低,使以后的操作部影響本行狀態(tài)

i++;

}

}

//第四個16*16點陣顯示完畢

}

//

void delayus()

{

uchar i=3;

while(i--);

}

void delay(uint k)

{

uint data i,j;

for(i=0;i

{

for(j=0;j<155;j++)

{;}

}

}

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉