51hei圖片_20220108014948.jpg (644.5 KB, 下載次數(shù): 48)
下載附件
2022-1-8 01:50 上傳
如圖,總有F的鬼影
單片機(jī)源程序如下:
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit din=P2^2;
sbit cs =P2^1;
sbit clk=P2^0;
#define liangdu 0xff;
uchar code table[38][8]={
{0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x3C},//0
{0x08,0x18,0x28,0x08,0x08,0x08,0x08,0x08},//1
{0x7E,0x02,0x02,0x7E,0x40,0x40,0x40,0x7E},//2
{0x3E,0x02,0x02,0x3E,0x02,0x02,0x3E,0x00},//3
{0x08,0x18,0x28,0x48,0xFE,0x08,0x08,0x08},//4
{0x3C,0x20,0x20,0x3C,0x04,0x04,0x3C,0x00},//5
{0x3C,0x20,0x20,0x3C,0x24,0x24,0x3C,0x00},//6
{0x3E,0x22,0x04,0x08,0x08,0x08,0x08,0x08},//7
{0x00,0x3E,0x22,0x22,0x3E,0x22,0x22,0x3E},//8
{0x3E,0x22,0x22,0x3E,0x02,0x02,0x02,0x3E},//9
{0x08,0x14,0x22,0x3E,0x22,0x22,0x22,0x22},//A 10
{0x3C,0x22,0x22,0x3E,0x22,0x22,0x3C,0x00},//B 11
{0x3C,0x40,0x40,0x40,0x40,0x40,0x3C,0x00},//C 12
{0x7C,0x42,0x42,0x42,0x42,0x42,0x7C,0x00},//D 13
{0x7C,0x40,0x40,0x7C,0x40,0x40,0x40,0x7C},//E 14
{0x7C,0x40,0x40,0x7C,0x40,0x40,0x40,0x40},//F 15
{0x3C,0x40,0x40,0x40,0x40,0x44,0x44,0x3C},//G 16
{0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x44},//H 17
{0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x7C},//I 18
{0x3C,0x08,0x08,0x08,0x08,0x08,0x48,0x30},//J 19
{0x00,0x24,0x28,0x30,0x20,0x30,0x28,0x24},//K 20
{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7C},//L 21
{0x81,0xC3,0xA5,0x99,0x81,0x81,0x81,0x81},//M 22
{0x00,0x42,0x62,0x52,0x4A,0x46,0x42,0x00},//N 23
{0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x3C},//O 24
{0x3C,0x22,0x22,0x22,0x3C,0x20,0x20,0x20},//P 25
{0x1C,0x22,0x22,0x22,0x22,0x26,0x22,0x1D},//Q 26
{0x3C,0x22,0x22,0x22,0x3C,0x24,0x22,0x21},//R 27
{0x00,0x1E,0x20,0x20,0x3E,0x02,0x02,0x3C},//S 28
{0x00,0x3E,0x08,0x08,0x08,0x08,0x08,0x08},//T 29
{0x42,0x42,0x42,0x42,0x42,0x42,0x22,0x1C},//U 30
{0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18},//V 31
{0x00,0x49,0x49,0x49,0x49,0x2A,0x1C,0x00},//W 32
{0x00,0x41,0x22,0x14,0x08,0x14,0x22,0x41},//X 33
{0x41,0x22,0x14,0x08,0x08,0x08,0x08,0x08},//Y 34
{0x00,0x7F,0x02,0x04,0x08,0x10,0x20,0x7F},//Z 35
{0x08,0x7F,0x49,0x49,0x7F,0x08,0x08,0x08},//中 36
{0xFE,0xBA,0x92,0xBA,0x92,0x9A,0xBA,0xFE},//國(guó) 37
};
void delay(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void write_7219_byte(uchar Data) //為什么DATA要大寫?
{
uchar i;
for(i=0;i<8;i++)
{
clk=0;
din=Data&0x80;
Data=Data<<1;
clk=1;
}
}
void write_7219_shuju1(uchar add1,uchar dat1)
{
cs=0;
write_7219_byte(add1);
write_7219_byte(dat1);
cs=1;
}
void write_7219_shuju2(uchar add2,uchar dat2)
{
cs=0;
write_7219_byte(add2);
write_7219_byte(dat2);
write_7219_byte(0x00);
write_7219_byte(0x00);
cs=1;
}
void write_7219_shuju3(uchar add3,uchar dat3)
{
cs=0;
write_7219_byte(add3);
write_7219_byte(dat3);
write_7219_byte(0x00);
write_7219_byte(0x00);
write_7219_byte(0x00);
write_7219_byte(0x00);
cs=1;
}
void write_7219_shuju4(uchar add4,uchar dat4)
{
cs=0;
write_7219_byte(add4);
write_7219_byte(dat4);
write_7219_byte(0x00);
write_7219_byte(0x00);
write_7219_byte(0x00);
write_7219_byte(0x00);
write_7219_byte(0x00);
write_7219_byte(0x00);
cs=1;
}
void write_7219_shuju5(uchar add5,uchar dat5)
{
cs=0;
write_7219_byte(add5);
write_7219_byte(dat5);
write_7219_byte(0x00);
write_7219_byte(0x00);
write_7219_byte(0x00);
write_7219_byte(0x00);
write_7219_byte(0x00);
write_7219_byte(0x00);
write_7219_byte(0x00);
write_7219_byte(0x00);
cs=1;
}
void init()
{
write_7219_shuju1(0x0a,0xff);
write_7219_shuju1(0x0b,0x07);
write_7219_shuju1(0x0c,0x01);
write_7219_shuju1(0x0f,0x00);
write_7219_shuju1(0x09,0x00);
write_7219_shuju2(0x0a,0xff);
write_7219_shuju2(0x0b,0x07);
write_7219_shuju2(0x0c,0x01);
write_7219_shuju2(0x0f,0x00);
write_7219_shuju2(0x09,0x00);
write_7219_shuju3(0x0a,0xff);
write_7219_shuju3(0x0b,0x07);
write_7219_shuju3(0x0c,0x01);
write_7219_shuju3(0x0f,0x00);
write_7219_shuju3(0x09,0x00);
write_7219_shuju4(0x0a,0xff);
write_7219_shuju4(0x0b,0x07);
write_7219_shuju4(0x0c,0x01);
write_7219_shuju4(0x0f,0x00);
write_7219_shuju4(0x09,0x00);
write_7219_shuju5(0x0a,0xff);
write_7219_shuju5(0x0b,0x07);
write_7219_shuju5(0x0c,0x01);
write_7219_shuju5(0x0f,0x00);
write_7219_shuju5(0x09,0x00);
}
void main()
{
while(1)
{
write_7219_shuju1(1,table[15][0]);
write_7219_shuju1(2,table[15][1]);
write_7219_shuju1(3,table[15][2]);
write_7219_shuju1(4,table[15][3]);
write_7219_shuju1(5,table[15][4]);
write_7219_shuju1(6,table[15][5]);
write_7219_shuju1(7,table[15][6]);
write_7219_shuju1(8,table[15][7]);
write_7219_shuju2(1,table[21][0]);
write_7219_shuju2(2,table[21][1]);
write_7219_shuju2(3,table[21][2]);
write_7219_shuju2(4,table[21][3]);
write_7219_shuju2(5,table[21][4]);
write_7219_shuju2(6,table[21][5]);
write_7219_shuju2(7,table[21][6]);
write_7219_shuju2(8,table[21][7]);
write_7219_shuju3(0x0c,0x01);
write_7219_shuju3(1,table[1][0]);
write_7219_shuju3(2,table[1][1]);
write_7219_shuju3(3,table[1][2]);
write_7219_shuju3(4,table[1][3]);
write_7219_shuju3(5,table[1][4]);
write_7219_shuju3(6,table[1][5]);
write_7219_shuju3(7,table[1][6]);
write_7219_shuju3(8,table[1][7]);
write_7219_shuju4(1,table[28][0]);
write_7219_shuju4(2,table[28][1]);
write_7219_shuju4(3,table[28][2]);
write_7219_shuju4(4,table[28][3]);
write_7219_shuju4(5,table[28][4]);
write_7219_shuju4(6,table[28][5]);
write_7219_shuju4(7,table[28][6]);
write_7219_shuju4(8,table[28][7]);
write_7219_shuju5(1,table[32][0]);
write_7219_shuju5(2,table[32][1]);
write_7219_shuju5(3,table[32][2]);
write_7219_shuju5(4,table[32][3]);
write_7219_shuju5(5,table[32][4]);
write_7219_shuju5(6,table[32][5]);
write_7219_shuju5(7,table[32][6]);
write_7219_shuju5(8,table[32][7]);
delay(1000);
}
}
|