16*64点阵屏的c语言程序,16*64点阵程序 - 单片机/MCU论坛 - 电子技术论坛 - 广受欢迎的专业电子论坛!...
最近在家無聊,做了一個16*64的點陣,行掃描用的是154,列用的是595,效果還不錯,把程序貼出來共享。
#include
#define uchar unsigned char
#define uint unsigned int
#define light 5? ???//定義亮度
/*****************************接口定義********************************/
sbit SHCP=P3^5;//595的移位信號
sbit STCP=P3^3;//是595的鎖存信號
sbit SDA_R=P3^2;//數據
sbit OE=P3^4;//輸出使能
sbit ID=P2^3;//行控制線D
sbit IC=P2^2;//行控制線C
sbit IB=P2^1;//行控制線B
sbit IA=P2^0;//行控制線A
/********************************************************************/
#define??scan0? ? {IA=0;IB=0;IC=0;ID=0;}
#define??scan1? ? {IA=1;IB=0;IC=0;ID=0;}
#define??scan2? ? {IA=0;IB=1;IC=0;ID=0;}
#define??scan3? ? {IA=1;IB=1;IC=0;ID=0;}
#define??scan4? ? {IA=0;IB=0;IC=1;ID=0;}
#define??scan5? ? {IA=1;IB=0;IC=1;ID=0;}
#define??scan6? ? {IA=0;IB=1;IC=1;ID=0;}
#define??scan7? ? {IA=1;IB=1;IC=1;ID=0;}
#define??scan8? ? {IA=0;IB=0;IC=0;ID=1;}
#define??scan9? ? {IA=1;IB=0;IC=0;ID=1;}
#define scan10? ? {IA=0;IB=1;IC=0;ID=1;}
#define scan11? ? {IA=1;IB=1;IC=0;ID=1;}
#define scan12? ? {IA=0;IB=0;IC=1;ID=1;}
#define scan13? ? {IA=1;IB=0;IC=1;ID=1;}
#define scan14? ? {IA=0;IB=1;IC=1;ID=1;}
#define scan15? ? {IA=1;IB=1;IC=1;ID=1;}
uchar Move,Speed,line;??//(移位 速度 行 ) 定義
uint zimuo;? ?? ?? ?? ?? ?? ?? ?//字模計數器
uint uiAllData;
uchar BUFF[10];? ?? ?? ?? ???//緩存
void? ?DelayMs(void);? ?? ?? ?? ???// 延時
void? ?in_data();? ?? ? // 調整移動數據
void? ?rxd_data();? ?? ? // 發送移動數據
const uchar code hanzi[];
/******************************************************/
/*****不影響其他端口的掃描*************************/
void scan(unsigned char Value)
{switch(Value)
{case??0: scan0;break;
case??1: scan1;break;
case??2: scan2;break;
case??3: scan3;break;
case??4: scan4;break;
case??5: scan5;break;
case??6: scan6;break;
case??7: scan7;break;
case??8: scan8;break;
case??9: scan9;break;
case 10:scan10;break;
case 11:scan11;break;
case 12:scan12;break;
case 13:scan13;break;
case 14:scan14;break;
case 15:scan15;break;
default:break;
}
}
/**************************延時***********************/
void DelayMs(void)
{
uchar TempCyc;
for(TempCyc=100;TempCyc>1;TempCyc--)
{;}
}
/********************************************/
/*主函數*/
void main()
{
Move=0;
zimuo=0;
while(1)
{
while(zimuo
{
while(Move<16) //數據移位。
{
for(Speed=0;Speed<4;Speed++) //移動速度控制
{
for(line=0;line<16;line++)
{
in_data(); //調整移動數據
rxd_data(); //裝載移動數據
scan(line); //輸出行掃描
STCP=1;//鎖存
STCP=0;
OE=0;//打開屏使能端
DelayMs();??//延時,等待一段時間,讓這列顯示的內容在人眼內產生“視覺暫留”現象。
OE=1;
}
}
Move++;? ?? ?? ?? ?? ?? ?? ?//移動一步
}
Move=0;
zimuo=zimuo+32; //換下一個字
}
zimuo=0;
}
}
/**********************************************************/
void in_data(void)? ?? ?? ?? ?? ?? ?? ?? ? //調整數據一個屏4個字的數據
{
char s;
for(s=4;s>=0;s--)? ?? ?? ?? ?? ?? ?? ???//一個屏能顯示4個字 取最前面的字發送給595的最前面
{
//zimuo 是個計算顯示到哪個字的計數器 s是取4個字的循環 line是顯示到哪一行 根據這幾個參數計算出一個屏中現在需要顯示的數據 放入BUFF 內存中 等待發送給595
BUFF[2*s]=hanzi[zimuo+32*s+2*line]; //要知道為什么這么算就需要知道取模的方向和原理??一行有8個字節 (一個中文16*16的字 一行有2個字節)
BUFF[2*s+1]=hanzi[zimuo+1+32*s+2*line];//把一個字的首字節放入BUFF[0]中 后面一個字節放入BUFF[1] 以此類推剩下的3個字
}
}
/***********************發送移動的數據****************************/
void rxd_data(void)? ?? ?? ?? ???//串行發送數據
{
uchar s;
uchar inc,tempyid,temp,k;
if(Move<8)
inc=0;
else
inc=1;
for(s=0+inc;s<8+inc;s++)? ???//發送8字節數據
{
if(Move<8)
tempyid=Move;
else
tempyid=Move-8;
temp=(BUFF[s]>>tempyid)|(BUFF[s+1]<
temp=255-temp;
for(k=0;k<8;k++)//一個字節8位 發送給595
{
SHCP=0; //上升沿移位595
SDA_R=(bit)(temp&0x80);//通過IO口送一個位給 595
temp=temp<<1;??//字節移位 準備送下一位
SHCP=1;
}
}
}
const uchar code hanzi[]={/*移動顯示漢字字模,*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x08,0x00,0x10,0x20,0xFE,0x1E,0x00,0x02,0x44,0x02,0x28,0x02,0xFF,0x7E,0x10,0x12,
0x10,0x12,0xFE,0x12,0x10,0x12,0x54,0x12,0x92,0x12,0x11,0x11,0x14,0x11,0x88,0x10,/*"新",0*/
0x08,0x00,0x08,0x00,0xF8,0x3F,0x04,0x01,0x04,0x01,0x02,0x01,0xF8,0x1F,0x08,0x01,
0x08,0x01,0x08,0x01,0xFF,0x7F,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,/*"年",1*/
0x08,0x02,0x08,0x02,0x08,0x02,0xC8,0x1F,0x18,0x12,0x2A,0x12,0x0A,0x12,0x0A,0x12,
0xE9,0x7F,0x08,0x02,0x08,0x05,0x08,0x05,0x88,0x08,0x88,0x08,0x48,0x10,0x28,0x60,/*"快",2*/
0x00,0x04,0x00,0x0F,0xF8,0x00,0x08,0x00,0x88,0x00,0x84,0x00,0x84,0x00,0xFC,0x3F,
0x80,0x00,0x90,0x04,0x90,0x08,0x88,0x10,0x84,0x20,0x82,0x20,0xA0,0x00,0x40,0x00,/*"樂",3*/
0x00,0x00,0x00,0x00,0xFF,0x7F,0x20,0x00,0x20,0x00,0x20,0x00,0xE0,0x0F,0x20,0x08,
0x20,0x08,0x10,0x08,0x10,0x08,0x08,0x08,0x08,0x08,0x04,0x08,0x02,0x05,0x01,0x02,/*"萬",4*/
0x80,0x00,0x80,0x00,0xFF,0x7F,0x80,0x00,0xFC,0x1F,0x84,0x10,0xFC,0x1F,0x80,0x00,
0xFC,0x1F,0x80,0x10,0xFF,0x7F,0x80,0x10,0xFC,0x1F,0x80,0x00,0xA0,0x00,0x40,0x00,/*"事",5*/
0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x3E,0x7F,0x22,0x44,0x22,0x44,0x22,0x44,0x22,
0x42,0x22,0x24,0x22,0x28,0x22,0x10,0x22,0x28,0x22,0x44,0x3E,0x42,0x22,0x01,0x00,/*"如",6*/
0x80,0x00,0xFC,0x1F,0x10,0x04,0x20,0x02,0xFF,0x7F,0x00,0x00,0xF8,0x0F,0x08,0x08,
0xF8,0x0F,0x08,0x08,0xF8,0x0F,0x40,0x00,0x8A,0x20,0x8A,0x48,0x09,0x48,0xF0,0x0F,/*"意",7*/
0x00,0x00,0x40,0x00,0x80,0x00,0x00,0x01,0x00,0x01,0x20,0x00,0x20,0x10,0x24,0x20,
0x24,0x20,0x24,0x40,0x22,0x40,0x22,0x48,0x21,0x08,0x20,0x08,0xC0,0x0F,0x00,0x00,/*"心",8*/
0x10,0x00,0x10,0x1F,0x10,0x11,0x7E,0x11,0x10,0x1F,0x18,0x11,0x38,0x1F,0x54,0x11,
0x12,0x11,0x10,0x1F,0x80,0x00,0x10,0x21,0x12,0x49,0x12,0x48,0xE1,0x0F,0x00,0x00,/*"想",9*/
0x80,0x00,0x80,0x00,0xFF,0x7F,0x80,0x00,0xFC,0x1F,0x84,0x10,0xFC,0x1F,0x80,0x00,
0xFC,0x1F,0x80,0x10,0xFF,0x7F,0x80,0x10,0xFC,0x1F,0x80,0x00,0xA0,0x00,0x40,0x00,/*"事",10*/
0x00,0x0A,0x00,0x12,0x00,0x02,0xFC,0x7F,0x04,0x02,0x04,0x02,0x04,0x22,0x7C,0x22,
0x44,0x22,0x44,0x14,0x44,0x14,0x44,0x48,0x54,0x4C,0x22,0x52,0x02,0x61,0x81,0x40,/*"成",11*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x10,0x00,0x48,0x00,0x24,0x00,0x12,0x00,0x09,0x80,0x04,0x40,0x02,0x20,0x01,
0x40,0x02,0x80,0x04,0x00,0x09,0x00,0x12,0x00,0x24,0x00,0x48,0x00,0x10,0x00,0x20,/*"《",0*/
0x08,0x02,0x7F,0x02,0x08,0x1E,0x3E,0x09,0x08,0x04,0x7F,0x3F,0x00,0x24,0xBE,0x7F,
0x22,0x24,0x3E,0x3F,0x22,0x04,0x3E,0x04,0x22,0x04,0x22,0x04,0x2A,0x05,0x12,0x02,/*"靜",1*/
0x40,0x00,0x80,0x00,0xFF,0x7F,0x10,0x01,0x30,0x01,0x90,0x3F,0x88,0x10,0x4C,0x11,
0x4A,0x0A,0xA9,0x08,0x08,0x05,0x08,0x02,0x08,0x05,0x88,0x08,0x48,0x70,0x28,0x20,/*"夜",2*/
0x00,0x00,0xF8,0x1F,0x88,0x10,0x88,0x10,0xF8,0x1F,0x88,0x10,0x88,0x10,0xF8,0x1F,
0x00,0x00,0x80,0x00,0x10,0x11,0x12,0x21,0x12,0x68,0x13,0x48,0xE0,0x0F,0x00,0x00,/*"思",3*/
0x04,0x00,0x09,0x00,0x12,0x00,0x24,0x00,0x48,0x00,0x90,0x00,0x20,0x01,0x40,0x02,
0x20,0x01,0x90,0x00,0x48,0x00,0x24,0x00,0x12,0x00,0x09,0x00,0x04,0x00,0x02,0x00,/*"》",4*/
0x80,0x00,0x00,0x01,0xFC,0x3F,0x04,0x01,0xF4,0x0F,0x04,0x09,0xFC,0x3F,0x04,0x09,
0xF4,0x0F,0x04,0x01,0xF4,0x0F,0x14,0x08,0x12,0x08,0xF2,0x0F,0x11,0x08,0x00,0x00,/*"唐",5*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x08,0x00,0x04,0x00,0x00,0x00,/*",",6*/
0x80,0x00,0x80,0x00,0xFE,0x3F,0xC0,0x01,0xA0,0x02,0x90,0x0C,0x8C,0x70,0xFB,0x27,
0x00,0x01,0x80,0x00,0xFE,0x7F,0x80,0x00,0x80,0x00,0x80,0x00,0xA0,0x00,0x40,0x00,/*"李",7*/
0x40,0x00,0x40,0x00,0x20,0x00,0xFC,0x1F,0x04,0x10,0x04,0x10,0x04,0x10,0x04,0x10,
0xFC,0x1F,0x04,0x10,0x04,0x10,0x04,0x10,0x04,0x10,0xFC,0x1F,0x04,0x10,0x00,0x00,/*"白",8*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x08,0x00,0x04,0x00,0x00,0x00,/*",",9*/
0x80,0x00,0x00,0x01,0xFC,0x7F,0x04,0x01,0x04,0x01,0x04,0x01,0xFC,0x3F,0x84,0x01,
0x84,0x03,0x44,0x05,0x44,0x09,0x24,0x11,0x24,0x61,0x12,0x21,0x0A,0x01,0x01,0x01,/*"床",10*/
0x10,0x08,0x60,0x18,0x20,0x04,0xFF,0x7F,0x00,0x00,0x7C,0x10,0x44,0x12,0x7C,0x12,
0x44,0x12,0x44,0x12,0x7C,0x12,0x44,0x12,0x44,0x12,0x54,0x10,0x24,0x14,0x00,0x08,/*"前",11*/
0x00,0x3F,0x3E,0x21,0x22,0x21,0x22,0x21,0x22,0x3F,0x3E,0x21,0x22,0x21,0x22,0x21,
0x22,0x3F,0x3E,0x21,0x00,0x21,0x80,0x20,0x80,0x20,0x40,0x20,0x20,0x28,0x00,0x10,/*"明",12*/
0xE0,0x0F,0x20,0x08,0x20,0x08,0x20,0x08,0xE0,0x0F,0x20,0x08,0x20,0x08,0x20,0x08,
0xE0,0x0F,0x20,0x08,0x10,0x08,0x10,0x08,0x08,0x08,0x04,0x0A,0x02,0x04,0x00,0x00,/*"月",13*/
0x80,0x00,0x84,0x08,0x98,0x18,0xB0,0x08,0x90,0x04,0x80,0x20,0xFE,0x7F,0x20,0x02,
0x20,0x02,0x20,0x02,0x20,0x02,0x10,0x42,0x10,0x42,0x08,0x42,0x04,0x7C,0x02,0x00,/*"光",14*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x08,0x00,0x04,0x00,0x00,0x00,/*",",15*/
0x04,0x00,0xB4,0x3F,0x0C,0x10,0x44,0x0A,0x44,0x04,0xB8,0x7F,0x02,0x44,0x7E,0x24,
0x12,0x05,0x11,0x3D,0x7F,0x05,0x18,0x05,0xA8,0x06,0x84,0x0C,0x42,0x70,0x21,0x20,/*"疑",16*/
0x00,0x00,0xF0,0x0F,0x10,0x08,0xF0,0x0F,0x10,0x08,0xF0,0x0F,0x00,0x00,0xFF,0x7F,
0x80,0x00,0x90,0x00,0x90,0x1F,0x90,0x00,0xA8,0x00,0xC4,0x00,0x02,0x7F,0x00,0x00,/*"是",17*/
0x00,0x04,0x88,0x04,0x88,0x04,0x88,0x24,0xBF,0x7C,0x88,0x27,0xE8,0x24,0x88,0x24,
0x88,0x24,0x88,0x2C,0x88,0x14,0xB8,0x04,0x8C,0x40,0x83,0x40,0x00,0x7F,0x00,0x00,/*"地",18*/
0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x1F,0x80,0x00,
0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x20,0xFE,0x7F,0x00,0x00,/*"上",19*/
0xF8,0x1F,0x80,0x00,0xFE,0x7F,0x82,0x20,0xB8,0x0E,0x80,0x00,0xB8,0x0E,0x10,0x00,
0x10,0x1F,0x7E,0x11,0x38,0x1F,0x54,0x11,0x14,0x1F,0x12,0x11,0x10,0x1F,0x10,0x11,/*"霜",20*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0C,0x00,0x12,0x00,0x12,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,/*"。",21*/
0x24,0x08,0x48,0x18,0x90,0x08,0x90,0x04,0xFF,0x7F,0x20,0x02,0x90,0x04,0x88,0x08,
0xF4,0x17,0x82,0x60,0x81,0x00,0xFC,0x1F,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,/*"舉",22*/
0x00,0x01,0x08,0x01,0x30,0x01,0x20,0x01,0x08,0x01,0x30,0x01,0x10,0x01,0x00,0x01,
0xFF,0x7F,0x00,0x01,0x80,0x02,0x40,0x04,0x20,0x0C,0x10,0x18,0x08,0x30,0x04,0x10,/*"頭",23*/
0x08,0x00,0x10,0x3F,0x7F,0x21,0x04,0x3F,0x04,0x21,0x24,0x3F,0x14,0x21,0x8C,0x38,
0x00,0x00,0xFC,0x3F,0x80,0x00,0xF8,0x1F,0x80,0x00,0x80,0x00,0xFE,0x7F,0x00,0x00,/*"望",24*/
0x00,0x3F,0x3E,0x21,0x22,0x21,0x22,0x21,0x22,0x3F,0x3E,0x21,0x22,0x21,0x22,0x21,
0x22,0x3F,0x3E,0x21,0x00,0x21,0x80,0x20,0x80,0x20,0x40,0x20,0x20,0x28,0x00,0x10,/*"明",25*/
0xE0,0x0F,0x20,0x08,0x20,0x08,0x20,0x08,0xE0,0x0F,0x20,0x08,0x20,0x08,0x20,0x08,
0xE0,0x0F,0x20,0x08,0x10,0x08,0x10,0x08,0x08,0x08,0x04,0x0A,0x02,0x04,0x00,0x00,/*"月",26*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x08,0x00,0x04,0x00,0x00,0x00,/*",",27*/
0x10,0x18,0x30,0x3E,0xD8,0x05,0x48,0x04,0x44,0x04,0x46,0x04,0xC5,0x7F,0x44,0x04,
0x44,0x04,0x44,0x04,0x44,0x08,0x44,0x4A,0x44,0x51,0xC4,0x62,0x44,0x44,0x00,0x00,/*"低",28*/
0x00,0x01,0x08,0x01,0x30,0x01,0x20,0x01,0x08,0x01,0x30,0x01,0x10,0x01,0x00,0x01,
0xFF,0x7F,0x00,0x01,0x80,0x02,0x40,0x04,0x20,0x0C,0x10,0x18,0x08,0x30,0x04,0x10,/*"頭",29*/
0x00,0x00,0xF8,0x1F,0x88,0x10,0x88,0x10,0xF8,0x1F,0x88,0x10,0x88,0x10,0xF8,0x1F,
0x00,0x00,0x80,0x00,0x10,0x11,0x12,0x21,0x12,0x68,0x13,0x48,0xE0,0x0F,0x00,0x00,/*"思",30*/
0x08,0x02,0x08,0x06,0x08,0x02,0x08,0x02,0x7F,0x7F,0x08,0x11,0x08,0x11,0xBE,0x11,
0x62,0x0A,0x22,0x0A,0x22,0x04,0x22,0x04,0x3E,0x0A,0x82,0x71,0x60,0x20,0x00,0x00,/*"故",31*/
0x80,0x00,0x80,0x01,0xC0,0x08,0x60,0x18,0x10,0x0C,0xF8,0x07,0x00,0x11,0xC0,0x30,
0x30,0x1E,0xF8,0x09,0x10,0x08,0x00,0x04,0x00,0x03,0xE0,0x00,0x1E,0x00,0x00,0x00,/*"鄉",32*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0C,0x00,0x12,0x00,0x12,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,/*"。",33*/
};
uint uiAllData = sizeof( hanzi )-128;
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的16*64点阵屏的c语言程序,16*64点阵程序 - 单片机/MCU论坛 - 电子技术论坛 - 广受欢迎的专业电子论坛!...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自定义xy组 android,Andro
- 下一篇: 女子戴金手镯做核磁共振:手腕被烫出一圈水