![]() |
發布時間: 2017-4-9 19:53
正文摘要:8*8LED仿真proteus遇到問題了,求大神指導。 如下代碼能正常顯示一個張字,可是不想用ord數組,直接利用oxfe悠移動與0x01或運算得出控制行標,(用程序中//后的代替該行,最后補p=(p<<1)|0x01;)反 ... |
上午調了一下,字是左右鏡像的,你把它反過來就行。主要是送的數據有點問題。 #include <reg51.h> #include <intrins.h> #define uchar unsigned char sbit sh=P2^0; sbit ds=P2^1; sbit st=P2^2; code TAB[]={0xE9,0x2A,0xEC,0x9F,0xEC,0x2A,0xED,0x00}; code ord[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; void delay(char s) { char i; for(i=0;i<s;i++) { _nop_(); _nop_(); _nop_(); } } void main() { uchar p=0xfe,q; char i,j; while(1) { for(i=0;i<8;i++) { q=ord[i];//q=p; st=0; for(j=0;j<8;j++) { q=q<<1; ds=CY; sh=0; delay(1); sh=1; } st=1; P0=TAB[i]; delay(10); delay(200); } } } |