1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > P10全彩屏C语言编程 STC90C52RC驱动P10LED屏的程序

P10全彩屏C语言编程 STC90C52RC驱动P10LED屏的程序

时间:2022-12-10 04:19:45

相关推荐

P10全彩屏C语言编程 STC90C52RC驱动P10LED屏的程序

注册家电维修技术论坛,与同行畅聊维修技术,享更多技术论坛功能。

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

STC单片机通过串口,在系统控制P10,16*32的单色LED。

//STC单片?/动P10LED屏的程序

///p10半户外1/4扫描

#include

#include

#define uchar unsigned char

#define uintunsigned int

#define NOP _nop_()

//1=OE 2 =A

//3 4 =B

//5 6

//7 8 =CLK

//9 10=STB

//11 12=DR

//13 14

//15 16

//-------------------------------------------------------------

sbit OE = P2^0;

sbit AA = P2^1;

sbit BB = P2^2;

sbit CLK =P2^3; //11脚CLK 移位时钟

sbit STB =P2^4; //12脚STB 锁存时钟

sbit DR=P2^5; //数据输入

//----------------谢谢-------------0=亮 1=灭----------------------------------------------

uchar code table[10][32]=

{

//第1单元--------------左边16*16=256字阵

{

//第1列,第2列

0xfe,0xfd,//第1行数据-

0xfb,0xf7,//第2行数据--

0xef,0xdf,//第3行数据---

0xbf,0x7f,//第4行数据----

0xe0,0xF0,//第1行数据-

0xc0,0xf8,//第2行数据--

0x80,0xfc,//第3行数据---

0x00,0xfe,//第4行数据----

0x00,0x00,//第1行数据-

0x00,0x00,//第2行数据--

0x00,0x00,//第3行数据---

0x00,0x00,//第4行数据----

0x00,0x00,//第1行数据-

0x00,0x00,//第2行数据--

0x00,0x00,//第3行数据---

0x00,0x00 //第4行数据----

},

//第2单元-------------右边16*16=256字阵

//第3列,第4列

{

0xFE,0xF7,//第1行数据-

0xBD,0xF7,//第2行数据--

0xC8,0x77,//第3行数据---

0xDB,0x77,//第4行数据----

0xF8,0x01,//第1行数据-

0xFB,0x77,//第2行数据--

0x18,0x37,//第3行数据---

0xDB,0x57,//第4行数据----

0xD0,0x57,//第1行数据-

0xDE,0x77,//第2行数据--

0xDD,0x77,//第3行数据---

0xD5,0x77,//第4行数据----

0xCB,0x77,//第1行数据-

0xD7,0x77,//第2行数据--

0xED,0x57,//第3行数据---

0xFE,0xEF //第4行数据----

}

};

/*******************************************************************************************/

void Delay_ms(uint tt)

{unsigned int i,j;for(i=0;i

/*******************************************************************************************/

//数据串行输入

void serial_input(uchar dat)

{

uint m;

OE=1;//输出使能

AA=0;//行选择,只选择第一行,全屏有4个第一行

BB=0;

//一字节数据分成BIT数据 一位位输出。

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

{

if(dat & 0x80)DR=1;else DR=0;

CLK=0;

CLK=1; NOP;NOP;//=1高电平

CLK=0; NOP;NOP;//=0低电平

//--------------------------------------------------

STB=1; NOP; NOP;//上升沿,锁存器转移数据

STB=0;// 低电平时锁存数据

//----------------------------

Delay_ms(50);//延时

dat=dat<<1;//数据左移一位,输出2BIT

}

}

/*******************************************************************************************/

/*******************************************************************************************/

void main()

{

unsigned int i;

serial_input(0x7f);

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

{

serial_input(0xff);

}

while(1)

{

serial_input(0x7f);

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

{

serial_input(0xff);

}

// serial_input(0xef);

}

}

//*********一个LED 逐次在第一行扫描一遍**********************************************

//unsigned int i;

//serial_input(0x7f);

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

//{

//serial_input(0xff);

//}

//while(1)

// {

// serial_input(0xef);

// }

//}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。