帮朋友弄个点阵的程序(半成品,附上gif图).呵,-甲壳 - 新浪BLOG
来源:百度文库 编辑:神马文学网 时间:2024/04/30 15:44:26
标签:it/科技
第一次用点阵,发觉用汇编太麻烦,于是认真看了C语言.竟可以不用参考的就可以写出程序,C实在太强了.呵呵..
#include
#include
sfr p0=0x80;
sfr p1=0x90 ;
sfr p2=0xa0 ;
sfr p3=0xb0 ; //以下为字库
char code XXX[]= {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff};
char code sheng[]={0x00, 0x80, 0x10, 0xc0, 0x10, 0x80, 0x10, 0x88,0x1f, 0xfc, 0x20, 0x80, 0x20, 0x80, 0x40, 0x88, 0x9f, 0xfc, 0x00,0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x84, 0x7f, 0xfe,0x00, 0x00};
char code ri[]={0x00, 0x00, 0x1f, 0xf0, 0x10, 0x10, 0x10, 0x10,0x10, 0x10, 0x10, 0x10, 0x1f, 0xf0, 0x10, 0x10, 0x10, 0x10, 0x10,0x10, 0x10, 0x10, 0x10, 0x10, 0x1f, 0xf0, 0x10, 0x10, 0x00, 0x00,0x00, 0x00};
char code kuai[]={0x20, 0x80, 0x20, 0x80, 0x20, 0x80, 0x37, 0xf8,0xa8, 0x88, 0xa8, 0x88, 0xa0, 0x88, 0x2f, 0xfe, 0x20, 0x80, 0x21,0x40, 0x21, 0x40, 0x21, 0x20, 0x22, 0x10, 0x22, 0x18, 0x24, 0x0e,0x28, 0x04};
char code le[]={0x00, 0x30, 0x01, 0xf8, 0x1f, 0x00, 0x10, 0x80,0x10, 0x80, 0x10, 0x80, 0x3f, 0xfc, 0x10, 0x80, 0x08, 0x80, 0x0c,0x90, 0x18, 0x88, 0x30, 0x8c, 0x24, 0x86, 0x42, 0x84, 0x01, 0x00,0x00, 0x00};
char code tanhao[]={0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10,0x10, 0x10, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00,0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00};
char code hao[]={ 0x10, 0x00, 0x11, 0xfc, 0x10, 0x08, 0x10, 0x10,0xfc, 0x20, 0x24, 0x20, 0x24, 0x20, 0x27, 0xfe, 0x44, 0x20, 0x64,0x20, 0x18, 0x20, 0x08, 0x20, 0x14, 0x20, 0x26, 0x20, 0x44, 0xa0,0x80, 0x40};
char code wo[]={ 0x06, 0x40, 0x38, 0x50, 0x08, 0x48, 0x08, 0x48,0x08, 0x40, 0xff, 0xfe, 0x08, 0x40, 0x08, 0x48, 0x0e, 0x28, 0x38,0x30, 0xc8, 0x20, 0x08, 0x50, 0x09, 0x92, 0x08, 0x0a, 0x28, 0x06,0x10, 0x02};
char code ni[]={0x09, 0x00, 0x09, 0x80, 0x11, 0x04, 0x13, 0xfe,0x22, 0x04, 0x34, 0x48, 0x68, 0x40, 0xa2, 0x50, 0x23, 0x48, 0x22,0x48, 0x24, 0x44, 0x24, 0x46, 0x28, 0x44, 0x21, 0x40, 0x20, 0x80,0x00, 0x00};
char code ai[]={0x00, 0xf8, 0x3f, 0x90, 0x12, 0x10, 0x09, 0x20,0x3f, 0xfe, 0x22, 0x02, 0x42, 0x00, 0x3f, 0xfc, 0x04, 0x00, 0x07,0xf0, 0x0c, 0x20, 0x0b, 0x40, 0x10, 0xc0, 0x63, 0x30, 0x8c, 0x0e,0x30, 0x04} ;
char code liang0[]={0x01, 0x00, 0x00, 0x80, 0x3f, 0xfe, 0x22, 0x04,0x43, 0x08, 0x02, 0x00, 0x7f, 0xfe, 0x02, 0x00, 0x04, 0x80, 0x04,0x80, 0x09, 0x00, 0x11, 0x10, 0x22, 0x08, 0x44, 0xfc, 0x0f, 0x88,0x00, 0x00};
char codeturn1[]={0x42,0x43,0x46,0x44,0x48,0x50,0x60,0xFF,0xE0,0x50,0x68,0x58,0x4C,0x46,0x46,0x01,};
char codeturn2[]={128,0,64,0,32,0,16,0,8,0,4,0,2,0,1,0,0,128,0,64,0,32,0,16,0,8,0,4,0,2,0,1,};
char*pp0; //指针太有用啦~~
int a,g;
play()
{
int i;
for(i=0;i<16;i++)
{
p1=~pp0[i*2+1];
p0=~pp0[i*2];
p2=(turn2[i*2+1]);
p3=(turn2[i*2]);
} ;i=0;}
int hk=0;
void tm1_irq ()interrupt 3 //定时器.
{
TH1=0xd8;
TL1=0xef;
++hk ;
if(hk==100) //利用定时器每1S后换字符.
{ hk=0;
++a;}
else
;}
void main() //主函数
{ TH1=0xd8;
TL1=0xef;
TMOD=0x10;
ET1=1;
EA=1;
TR1=1;
a=1;
for(;;)
{ ;
switch (a)
{ case 1 :pp0=XXX;play();break;
case 2 :pp0=XXX;play();break;
case 3:pp0=sheng;play(); break;
case 4:pp0=ri ;play(); break;
case 5:pp0=kuai ;play(); break;
case 6:pp0=le ;play(); break;
case 7:pp0=tanhao ;play(); break;
case 8:pp0=XXX;play() ;break;
case 9:pp0=XXX;play() ;break;
case 10 :pp0=XXX;play();break;
case 11:pp0 = wo ; play();break;
case 12:pp0 = ai ;play();break;
case 13:pp0 = ni ;play();break;
default: a=1;break;}
}}
第一次用点阵,发觉用汇编太麻烦,于是认真看了C语言.竟可以不用参考的就可以写出程序,C实在太强了.呵呵..
#include
#include
sfr p0=0x80;
sfr p1=0x90 ;
sfr p2=0xa0 ;
sfr p3=0xb0 ; //以下为字库
char code XXX[]= {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff};
char code sheng[]={0x00, 0x80, 0x10, 0xc0, 0x10, 0x80, 0x10, 0x88,0x1f, 0xfc, 0x20, 0x80, 0x20, 0x80, 0x40, 0x88, 0x9f, 0xfc, 0x00,0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x84, 0x7f, 0xfe,0x00, 0x00};
char code ri[]={0x00, 0x00, 0x1f, 0xf0, 0x10, 0x10, 0x10, 0x10,0x10, 0x10, 0x10, 0x10, 0x1f, 0xf0, 0x10, 0x10, 0x10, 0x10, 0x10,0x10, 0x10, 0x10, 0x10, 0x10, 0x1f, 0xf0, 0x10, 0x10, 0x00, 0x00,0x00, 0x00};
char code kuai[]={0x20, 0x80, 0x20, 0x80, 0x20, 0x80, 0x37, 0xf8,0xa8, 0x88, 0xa8, 0x88, 0xa0, 0x88, 0x2f, 0xfe, 0x20, 0x80, 0x21,0x40, 0x21, 0x40, 0x21, 0x20, 0x22, 0x10, 0x22, 0x18, 0x24, 0x0e,0x28, 0x04};
char code le[]={0x00, 0x30, 0x01, 0xf8, 0x1f, 0x00, 0x10, 0x80,0x10, 0x80, 0x10, 0x80, 0x3f, 0xfc, 0x10, 0x80, 0x08, 0x80, 0x0c,0x90, 0x18, 0x88, 0x30, 0x8c, 0x24, 0x86, 0x42, 0x84, 0x01, 0x00,0x00, 0x00};
char code tanhao[]={0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10,0x10, 0x10, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00,0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00};
char code hao[]={ 0x10, 0x00, 0x11, 0xfc, 0x10, 0x08, 0x10, 0x10,0xfc, 0x20, 0x24, 0x20, 0x24, 0x20, 0x27, 0xfe, 0x44, 0x20, 0x64,0x20, 0x18, 0x20, 0x08, 0x20, 0x14, 0x20, 0x26, 0x20, 0x44, 0xa0,0x80, 0x40};
char code wo[]={ 0x06, 0x40, 0x38, 0x50, 0x08, 0x48, 0x08, 0x48,0x08, 0x40, 0xff, 0xfe, 0x08, 0x40, 0x08, 0x48, 0x0e, 0x28, 0x38,0x30, 0xc8, 0x20, 0x08, 0x50, 0x09, 0x92, 0x08, 0x0a, 0x28, 0x06,0x10, 0x02};
char code ni[]={0x09, 0x00, 0x09, 0x80, 0x11, 0x04, 0x13, 0xfe,0x22, 0x04, 0x34, 0x48, 0x68, 0x40, 0xa2, 0x50, 0x23, 0x48, 0x22,0x48, 0x24, 0x44, 0x24, 0x46, 0x28, 0x44, 0x21, 0x40, 0x20, 0x80,0x00, 0x00};
char code ai[]={0x00, 0xf8, 0x3f, 0x90, 0x12, 0x10, 0x09, 0x20,0x3f, 0xfe, 0x22, 0x02, 0x42, 0x00, 0x3f, 0xfc, 0x04, 0x00, 0x07,0xf0, 0x0c, 0x20, 0x0b, 0x40, 0x10, 0xc0, 0x63, 0x30, 0x8c, 0x0e,0x30, 0x04} ;
char code liang0[]={0x01, 0x00, 0x00, 0x80, 0x3f, 0xfe, 0x22, 0x04,0x43, 0x08, 0x02, 0x00, 0x7f, 0xfe, 0x02, 0x00, 0x04, 0x80, 0x04,0x80, 0x09, 0x00, 0x11, 0x10, 0x22, 0x08, 0x44, 0xfc, 0x0f, 0x88,0x00, 0x00};
char codeturn1[]={0x42,0x43,0x46,0x44,0x48,0x50,0x60,0xFF,0xE0,0x50,0x68,0x58,0x4C,0x46,0x46,0x01,};
char codeturn2[]={128,0,64,0,32,0,16,0,8,0,4,0,2,0,1,0,0,128,0,64,0,32,0,16,0,8,0,4,0,2,0,1,};
char*pp0; //指针太有用啦~~
int a,g;
play()
{
int i;
for(i=0;i<16;i++)
{
p1=~pp0[i*2+1];
p0=~pp0[i*2];
p2=(turn2[i*2+1]);
p3=(turn2[i*2]);
} ;i=0;}
int hk=0;
void tm1_irq ()interrupt 3 //定时器.
{
TH1=0xd8;
TL1=0xef;
++hk ;
if(hk==100) //利用定时器每1S后换字符.
{ hk=0;
++a;}
else
;}
void main() //主函数
{ TH1=0xd8;
TL1=0xef;
TMOD=0x10;
ET1=1;
EA=1;
TR1=1;
a=1;
for(;;)
{ ;
switch (a)
{ case 1 :pp0=XXX;play();break;
case 2 :pp0=XXX;play();break;
case 3:pp0=sheng;play(); break;
case 4:pp0=ri ;play(); break;
case 5:pp0=kuai ;play(); break;
case 6:pp0=le ;play(); break;
case 7:pp0=tanhao ;play(); break;
case 8:pp0=XXX;play() ;break;
case 9:pp0=XXX;play() ;break;
case 10 :pp0=XXX;play();break;
case 11:pp0 = wo ; play();break;
case 12:pp0 = ai ;play();break;
case 13:pp0 = ni ;play();break;
default: a=1;break;}
}}
帮朋友弄个点阵的程序(半成品,附上gif图).呵,-甲壳 - 新浪BLOG
国外朋友的玩具收藏 - JackPOON_阿邦 - 新浪BLOG
国外朋友的玩具收藏 - JackPOON_阿邦 - 新浪BLOG
晃动屏(程序分析)-strongbaby - 新浪BLOG
史上最牛的40个民间高手(图)-三峡在线 - 新浪BLOG
2007以"胸器"现身娱乐江湖的50个女星(图)-三峡在线 - 新浪BLOG
张柏芝的40个清纯玉女经典写真记忆(图)-三峡在线 - 新浪BLOG
30个当红女星博客曝光的性感美唇照(图)-三峡在线 - 新浪BLOG
化解5个健身误会 - 紫色的泪珠儿 - 新浪BLOG
来个关于共产主义的倒计时---校长 - 新浪BLOG
红颜不老的3个健康绝招 - 王璐琰 - 新浪BLOG
互联网创业的12个问题 - 醒客 - 新浪BLOG
今日感慨:常用的18个人情世故- 袁岳 - 新浪BLOG
红颜不老的3个健康绝招 -新浪BLOG
互联网创业的12个问题 - 醒客 - 新浪BLOG
弱水hz:朋友之间绝不可以形成的五种关系 - 新浪BLOG
:朋友之间绝不可以形成的五种关系 - 弱水hz 新浪BLOG
值得一看的对话(半成品)
请教一下16*64点阵屏的程序问题 - 『 单片机论坛 』 - Tony嵌入式论坛 Ton...
rovegirl的BLOG - rovegirl - 新浪BLOG
郑渝川的BLOG - 郑渝川 - 新浪BLOG#serial_4a6c350005000i...
葛剑雄的BLOG - 葛剑雄 - 新浪BLOG
snowsowl的BLOG - snowsowl - 新浪BLOG
王立群的BLOG - 王立群 - 新浪BLOG