![]() |
發布時間: 2018-10-14 22:47
正文摘要:從網上購得一枚發光矩陣,到網店查看相關資料,無賴找不到任何相關資料,只能從發光矩陣的標識入手尋找使用方法,器件上有 ELM-1882UYWB/S530-A3,C0506U。接口有八個引腳:5V,A,B,C,SER,SCK,RCK,GND。 |
周栩樂 發表于 2019-6-19 18:23 是有重影,原因是當時程序沒有消影,只要做消影處理就好。模塊是從網上買的,什么型號不太清楚,模塊上有如下標注:ELM-1882UYWB/S530-A3,C0506U。 |
好像有鬼影?什么模塊 |
dumn 發表于 2018-10-16 12:30 你好!我想學你的心形矩陣led怎么做的。特別想做,但是沒有學單片機很吃力哦 這么聯系你嗎? |
wlsbll 發表于 2018-10-16 16:47 我的是51單片機,之前失敗的原因,具體我也不清楚,我覺得是你發送字符函數,跟我的板子,不太一樣吧。 |
謝謝樓主分享!單片機學習中 |
wlsbll 發表于 2018-10-16 16:47 謝謝,我剛玩單片機,還沒有消影這個概念,你的這回復對我很有幫助。 |
樓主,這跟數碼管靜態顯示的消影是一個道理 |
這是效果圖 |
微信圖片_20181016123235.jpg (42.62 KB, 下載次數: 69)
微信圖片_20181016123242.jpg (46.98 KB, 下載次數: 75)
微信圖片_20181016123224.jpg (54.34 KB, 下載次數: 79)
借用樓主思想,改了一下。 #include<reg52.h> #include<intrins.h> typedef unsigned char u8; typedef unsigned int u16; sbit SRCLK=P3^6; sbit rCLK=P3^5; sbit SER=P3^4; #define COMMONPORTS P0 //áDÑ¡ unsigned char code TAB[8] = {0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; //¶ÎÑ¡ unsigned char code CHARCODE[18][8]= { {0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00}, //0 {0x00,0x00,0x00,0x00,0x21,0x7f,0x01,0x00}, //1 {0x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00}, //2 {0x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00}, //3 {0x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00}, //4 {0x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00}, //5 {0x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00}, //6 {0x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00}, //7 {0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00}, //8 {0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00}, //9 {0x00,0x00,0x7F,0x48,0x48,0x30,0x00,0x00}, //P {0x00,0x00,0x7F,0x48,0x4C,0x73,0x00,0x00}, //R {0x00,0x00,0x7F,0x49,0x49,0x49,0x00,0x00}, //E {0x00,0x00,0x3E,0x41,0x41,0x62,0x00,0x00}, //C {0x00,0x00,0x7F,0x08,0x08,0x7F,0x00,0x00}, //H {0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00}, //I {0x00,0x7F,0x10,0x08,0x04,0x7F,0x00,0x00}, //N {0x38,0x44,0x42,0x21,0x21,0x42,0x44,0x38}}; //°®DÄ void delay(unsigned int time ) { unsigned int i,j; for(i=0;i<time;i++) for(j=0;j<121;j++); } void hc595send(u8 dat) { u8 a; SRCLK=0; rCLK=0; for(a=0;a<8;a++) { SER=dat>>7; dat<<=1; SRCLK=1; _nop_(); _nop_(); SRCLK=0; } rCLK=1; _nop_(); _nop_(); rCLK=0; } void main() { unsigned char tab,j; unsigned int i; while(1) { for(i=0;i<50;i++) { for(tab=0;tab<8;tab++) { hc595send(0x00); COMMONPORTS=TAB[tab]; hc595send(CHARCODE[j][tab]); delay(2); } } j++; if(j==18) { j=0; } } } |