求一份基于单片机的16×16点阵LED电子显示屏设计的Protues仿真图和源程序,要可以直接进行仿真的,

有论文最好!谢谢啦!急求!!!

代码  

#include<reg51.h>

#include <intrins.h>


unsigned char code FONT16x16[3][32]={

{ 0x12, 0x48, 0x12, 0x48, 0x13, 0xC8, 0x12, 0x48, 0x10, 0x08, 0x10, 0x08, 0x10, 0x28, 0x10, 0x10,0x08, 0x00, 0x08, 0x04, 0x0F, 0xFE, 0x10, 0x08, 0x10, 0x48, 0x33, 0xE8, 0x52, 0x48, 0x92, 0x48},//何

{ 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x05, 0x00, 0x02, 0x00,0x02, 0x00, 0x01, 0x00, 0x7F, 0xFE, 0x40, 0x02, 0x80, 0x04, 0x00, 0x00, 0xFF, 0xFE, 0x01, 0x00},//宁

{ 0x14, 0x08, 0x25, 0x10, 0xE4, 0xA0, 0x24, 0x40, 0x28, 0xA0, 0x29, 0x10, 0x32, 0x0E, 0x24, 0x04,0x00, 0x40, 0x40, 0x40, 0x30, 0x40, 0x17, 0xFC, 0x04, 0x44, 0x84, 0x48, 0x44, 0x40, 0x0F, 0xF8,

}};//波


sbit SDI=P2^1;

sbit SRCLK=P2^0;

sbit RCLK=P2^2;


#define LineCtrl P1


void delay(unsigned int us)

{

while(us--);

}



void SendByte(unsigned char dat)

{

unsigned char i;

for(i=0;i<8;i++)

{

SRCLK=0;

if(dat&0x80)

SDI=1;

else

SDI=0;

SRCLK=1;

dat=dat<<1;

}

}


void Display(unsigned char *dat1,unsigned char *dat2,unsigned char *dat3)

{

unsigned char i;

for(i=0;i<16;i++)

{

SendByte(dat3[2*i+1]);  SendByte(dat3[2*i]);

SendByte(dat2[2*i+1]);  SendByte(dat2[2*i]);

SendByte(dat1[2*i+1]); SendByte(dat1[2*i]);

RCLK=0;

_nop_();

_nop_();

_nop_();

_nop_();

LineCtrl=i;

RCLK=1;

delay(100);

}

}

void main(void)

{ while(1)

Display(FONT16x16[0],FONT16x16[1],FONT16x16[2]);

}


温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-27
怎么给你呢

网上的论文一般也不敢用啊

可以交流

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网