久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

32*32點陣LED顯示漢字-STC單片機

作者:佚名   來源:本站原創   點擊數:  更新時間:2011年11月20日   【字體:







 

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

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

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

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

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

//32*32點陣LED顯示,由8*8點陣組成。列高行低點亮
/*****我在修改的時候,總是字顯示不完整,一開始還以為是哪里有錯,后來改延時程序也不行,最后每行連續掃描幾次,可以了******/
//少占魚 河北正定歡迎您   長沙航院  QQ:411656434
 

#include <stc89c52.h>
#define uchar unsigned char
#define uint unsigned int
//少占魚制作  河北正定歡迎您   長沙航空職業技術學院  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();
/****************************************************************/

//主函數入口 
 
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;
/*****我在修改的時候,總是字顯示不完整,一開始還以為是哪里有錯,后來改延時程序也不行,最后每行連續掃描幾次,可以了******/
//少占魚 河北正定歡迎您   長沙航院  QQ:411656434 
 for(i=0;i<8;i++)
 {
  for(j=0;j<8;j++)//特別注意這里每組點陣的每行掃描8遍,人眼看起來才完整,否則會有殘缺不亮 
  {
 /*****我在修改的時候,總是字顯示不完整,一開始還以為是哪里有錯,后來改延時程序也不行,最后每行連續掃描幾次,可以了******/
  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; //關閉列,這句是使以后的操作不再影響本列狀態 
  P2=0xff;//這句才是關閉陰極正電的語句 
  CS1=0; //關閉行低,使以后的操作部影響本行狀態 
  i++;
 }
 }
/*****我在修改的時候,總是字顯示不完整,一開始還以為是哪里有錯,后來改延時程序也不行,最后每行連續掃描幾次,可以了******/
 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; //關閉列,這句是使以后的操作不再影響本列狀態 
  P2=0xff;//這句才是關閉陰極正電的語句 
  CS2=0; //關閉行低,使以后的操作部影響本行狀態 
  i++;
 }
 }
}

/*************第2個16*16點陣顯示*********************/
//
 void dis2()
 {
   //第二個16*16點陣開始顯示 
 uchar i,j;
 for(i=16;i<24;i++)
 {/*****我在修改的時候,總是字顯示不完整,一開始還以為是哪里有錯,后來改延時程序也不行,最后每行連續掃描幾次,可以了******/
  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; //關閉列,這句是使以后的操作不再影響本列狀態 
  P2=0xff;//這句才是關閉陰極正電的語句 
  CS1=0; //關閉行低,使以后的操作部影響本行狀態 
  i++;
 }
 }
 for(i=24;i<32;i++)
 {
 /*****我在修改的時候,總是字顯示不完整,一開始還以為是哪里有錯,后來改延時程序也不行,最后每行連續掃描幾次,可以了******/
  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; //關閉列,這句是使以后的操作不再影響本列狀態 
  P2=0xff;//這句才是關閉陰極正電的語句 
  CS2=0; //關閉行低,使以后的操作部影響本行狀態 
  i++;
 }
 }

//第二個16*16點陣顯示完畢 
 }
/***********第3個16*16點陣顯示**************************/
//
 void dis3()
 {
  //第三個16*16點陣開始顯示 
  uchar i,j;
 for(i=32;i<40;i++)
 { /*****我在修改的時候,總是字顯示不完整,一開始還以為是哪里有錯,后來改延時程序也不行,最后每行連續掃描幾次,可以了******/
  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; //關閉列,這句是使以后的操作不再影響本列狀態 
  P2=0xff;//這句才是關閉陰極正電的語句 
  CS3=0; //關閉行低,使以后的操作部影響本行狀態 
  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; //關閉列,這句是使以后的操作不再影響本列狀態 
  P2=0xff;//這句才是關閉陰極正電的語句 
  CS4=0; //關閉行低,使以后的操作部影響本行狀態 
  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; //關閉列,這句是使以后的操作不再影響本列狀態 
  P2=0xff;//這句才是關閉陰極正電的語句 
  CS3=0; //關閉行低,使以后的操作部影響本行狀態 
  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; //關閉列,這句是使以后的操作不再影響本列狀態 
  P2=0xff;//這句才是關閉陰極正電的語句 
  CS4=0; //關閉行低,使以后的操作部影響本行狀態 
  i++;
 }
 }
//第四個16*16點陣顯示完畢 
  }
//

 void delayus()
 {
   uchar i=3;
   while(i--);
 
 }


void delay(uint k)
{
uint data i,j;
for(i=0;i<k;i++)
  {
    for(j=0;j<155;j++)
     {;}
   }
}

關閉窗口

相關文章

主站蜘蛛池模板: 一区二区三区四区不卡视频 | 91精品国产综合久久久动漫日韩 | 老子午夜影院 | 日韩免费av一区二区 | 国产精品综合视频 | 国产特级毛片aaaaaa | 黄网站在线观看 | 久久精品屋 | 一级欧美视频 | 一区二区三区四区不卡视频 | 在线看黄免费 | 欧美区日韩区 | 国产欧美在线观看 | 密乳av | 欧美一级免费片 | 日韩av一区二区在线观看 | 久久久免费少妇高潮毛片 | 97伦理最新伦理 | 亚洲精品一区二区三区在线 | 亚洲成av人片在线观看 | 欧美天堂一区 | 丝袜天堂| 精品一区二区三区在线视频 | 亚洲三区在线 | 国产精品视频免费观看 | 99亚洲精品 | 日韩电影免费观看中文字幕 | 国产午夜影院 | 欧美一区二区三区在线视频 | 天堂中文字幕av | 成人在线免费视频 | wwww.8888久久爱站网 | 国产精品嫩草影院精东 | 亚洲精品久久久一区二区三区 | 五月综合激情在线 | aaaaa毛片| 亚洲在线一区二区三区 | 日韩精品一区中文字幕 | 久久久久久电影 | 国产精品一区二区三 | 免费观看成人性生生活片 |