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

標題: Proteus模擬Arduino控制LED矩陣顯示屏測試程序 [打印本頁]

作者: backup2k    時間: 2020-4-7 22:35
標題: Proteus模擬Arduino控制LED矩陣顯示屏測試程序
// Arduino 328 用16行*32列 LED矩陣顯示屏基礎測試程序,主頻是32MHz,在主菜單Project->工程設置中修改
// 項目格式 Proteus V8.9 SP2版本,測試如圖所示。


// 源代碼如下。
int A = 8;
int B = 9;
int C = 10;
int D = 11;
int DE = 12;
int LATCH = 2; //鎖存信號 Latch
int SCLK = 3; //時鐘信號 Shift Clock
int R0 = 4; //數據輸入 ,Data Shift in
char datain=0x0F;
int refreshtime=500;
int i=0,LineNum=0; // 臨時循環變量
#define NumOf74HC595  3// 從0開始查數,實際上是4個,0也算一個。


unsigned char zimo[][32]={
{0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00},/*"中",0*/
/* (16 X 16 , 宋體 )*/

{0x00,0x00,0x7F,0xFC,0x40,0x04,0x40,0x04,0x5F,0xF4,0x41,0x04,0x41,0x04,0x4F,0xE4,0x41,0x04,0x41,0x44,0x41,0x24,0x5F,0xF4,0x40,0x04,0x40,0x04,0x7F,0xFC,0x40,0x04},/*"國",1*/
/* (16 X 16 , 宋體 )*/

{0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x7C,0xFE,0x44,0x12,0x44,0x12,0x44,0x12,0x44,0x12,0x44,0x12,0x44,0x12,0x44,0x12,0x44,0x22,0x44,0x22,0x7C,0x4A,0x44,0x84,0x00},/*"加",2*/
/* (16 X 16 , 宋體 )*/

{0x00,0x40,0x20,0x40,0x10,0x40,0x10,0x40,0x87,0xFC,0x44,0x44,0x44,0x44,0x14,0x44,0x14,0x44,0x27,0xFC,0xE4,0x44,0x24,0x44,0x24,0x44,0x24,0x44,0x27,0xFC,0x04,0x04},/*"油",3*/
/* (16 X 16 , 宋體 )*/

};

unsigned char DisplayBuffer[16][4]={};  // 16行*32(4*8bit)列的顯示緩沖區,與LED點陣屏一一對應,要顯示什么內容,先把內容復制到這個緩沖區中即可。

void setup() {
  pinMode(LATCH, OUTPUT);
  pinMode(SCLK, OUTPUT);
  pinMode(R0, OUTPUT);
  pinMode(A, OUTPUT);
  pinMode(B, OUTPUT);
  pinMode(C, OUTPUT);
  pinMode(D, OUTPUT);
  pinMode(DE, OUTPUT);

  DDRB=0xFF;  // 8 pin output

  digitalWrite(DE, HIGH); // 關閉138的輸出,顯示屏不會亮
    // 填充顯示緩沖區
  for(LineNum=0;LineNum<16;LineNum++)
  {
     DisplayBuffer[LineNum][NumOf74HC595]=zimo[2][LineNum*2];
     DisplayBuffer[LineNum][NumOf74HC595-1]=zimo[2][LineNum*2+1];

     DisplayBuffer[LineNum][NumOf74HC595-2]=zimo[3][LineNum*2];
     DisplayBuffer[LineNum][NumOf74HC595-3]=zimo[3][LineNum*2+1];
  }


}

void loop() {



for(LineNum=0;LineNum<16;LineNum++)
{
    digitalWrite(DE, HIGH); // 關閉138的輸出,防止顯示串行
    PORTB=0xF0 | LineNum;    // 選擇第LineNum行   
    for (i = 0; i <= NumOf74HC595; i++)
    {  // 本電路圖中有4個595芯片,所以這里是4
       // 串行輸出數據
       digitalWrite(LATCH, LOW);
       shiftOut(R0, SCLK, MSBFIRST, DisplayBuffer[LineNum][NumOf74HC595-i]);
       digitalWrite(LATCH, HIGH);     
     }
     digitalWrite(DE, LOW); // 打開138的輸出,點亮相應的行
     delayMicroseconds(refreshtime); // 每行數據的顯示停留時間
  }
}

LEDMatrix1632_8_9.rar

73.47 KB, 下載次數: 22, 下載積分: 黑幣 -5


作者: gch1    時間: 2020-4-26 23:49
Arduino 328  主頻是32MHz?
作者: backup2k    時間: 2022-1-26 07:43
gch1 發表于 2020-4-26 23:49
Arduino 328  主頻是32MHz?

可以改,主頻低的話,顯示效果不好!




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲国产一区二区三区在线观看 | 日韩欧美国产一区二区三区 | 日本偷偷操 | 最新中文字幕第一页视频 | 亚洲成人精品 | 午夜精品一区二区三区在线视频 | 黑人一级黄色大片 | 97久久久久久久久 | 色精品视频 | 国产一区二区激情视频 | 国产人免费人成免费视频 | 在线黄av| 一级片免费视频 | 2022国产精品| 国产精品一区二区av | 亚洲欧美v | 免费黄色的网站 | 国产香蕉视频在线播放 | 一本一道久久a久久精品综合 | 综合激情网 | 999久久久| 精品熟人一区二区三区四区 | 午夜网| 国产精品网页 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 国产一区二区久久 | 欧美精品一区二区三区四区 | 国产一级在线视频 | 日韩有码一区 | 国产精品久久久久久久免费观看 | 久久久久久99| 精品久久久久久亚洲精品 | 一二三区av | 国产中文一区二区三区 | 国产伊人精品 | 精品一区二区三区免费视频 | 亚洲欧美综合精品另类天天更新 | 久久精品免费观看 | 成人欧美一区二区三区黑人孕妇 | 午夜影院在线观看版 | 91不卡|