周栩乐 发表于 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; } } } |