×
单片机 > 单片机程序设计 > 详情

单片机控制16x16点阵显示姓名

发布时间:2024-04-26 发布时间:
|

单片机源程序如下:

#include "reg51.h"


#define uchar unsigned char

#define uint unsigned int


#define Lie P1


sbit SHCP = P2^0;

sbit DS = P2^1;

sbit STCP = P2^2;


uchar code led[ ] ={

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,


0x00,0x00,0xFE,0xFF,0x22,0x04,0x5A,0x08,0x86,0x07,0x08,0x20,0x88,0x11,0x68,0x0D,

0x18,0x41,0x0F,0x81,0xE8,0x7F,0x08,0x01,0x08,0x05,0x08,0x09,0x08,0x30,0x00,0x00, // 陈


0x00,0x40,0x00,0x38,0xFC,0x00,0x44,0x00,0x44,0x3C,0x44,0x40,0x44,0x40,0xFF,0x43,

0x44,0x4C,0x44,0x40,0x44,0x40,0x44,0x70,0xFC,0x04,0x00,0x08,0x00,0x30,0x00,0x00, //忠



0x20,0x04,0x10,0x04,0x08,0x04,0xFC,0x05,0x03,0x04,0x20,0x04,0x20,0x04,0x10,0xFF,

0x7F,0x04,0x88,0x04,0x88,0x04,0x84,0x04,0x82,0x04,0xE0,0x04,0x00,0x04,0x00,0x00, //华


0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00


};



//uchar led[]={}


void shift16bit(uchar dat1,uchar dat2) //595输出16位数据

{

uchar i;

STCP=0;

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

{

SHCP=0;

if(dat1 &0x80) DS=1;

else DS=0;

dat1<<=1;

SHCP=1;

}

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

{

SHCP=0;

if(dat2 &0x80) DS=1;

else DS=0;

dat2<<=1;

SHCP=1;

}

STCP=1;

}


void delay(uint x)

{

uint i;

for(i=0;i

}


void main()

{

uchar i,x=0;

uint n;


while(1)

{

for(n=0;n<10;n++)

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

{

Lie=i;

shift16bit(led[2*i+1+2*x],led[2*i+2*x]);

delay(10);

}

x++;

if(x==48) x=0;


/*

for(n=0;n<100;n++)

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

{

Lie= i;

shift16bit(led[x][2*i+1],led[x][2*i]);

delay(100);

}

x++;

if(x==4) x=0;

*/

}

}



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多