📄 16x16dian zhen.c
字号:
//作者:肖向前
//日期:2012年12月14日
//功能:16*32点阵
//取模方式:横向
//两个138,两个595
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define NOP _nop_()
sbit OE = P2^3;
sbit A1 = P2^0;
sbit B1 = P2^1;
sbit SRCLK = P2^1; //11脚SHCP 移位时钟
sbit SCLK = P2^2; //12脚STCP 锁存时钟
sbit DATA = P2^0; //数据输入
char code table[]=
{
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,
/*-- 文字: 明 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0xFC,0x7C,0x84,0x44,0x84,0x44,0x84,0x44,0xFC,0x7C,0x84,0x44,0x84,0x44,0x84,
0x44,0xFC,0x7C,0x84,0x00,0x84,0x01,0x04,0x01,0x04,0x02,0x04,0x04,0x14,0x00,0x08,
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,
};
//数据串行输入
void serial_input(uchar dat)
{
uint m;
for(m=0;m<8;m++)
{
if(dat&0x80)
DATA=1;
else
DATA=0;
SRCLK=0;
SRCLK=1;
NOP;
NOP;
SRCLK=0;
NOP;
NOP;
dat=dat<<1;
}
}
/*******************************************************************************************/
//595并行输出
void serial_output()
{
SCLK=1;
NOP;
NOP;
SCLK=0;
}
/*******************************************************************************************/
/*******************************************************************************************/
void delay(int z)
{
int x,y;
for(x=0;x<z;x++)
for(y=0;y<110;y++);
}
/*******************************************************************************************/
/*******************************************************************************************/
//整屏显示
void display()
{
uint i,up=0,control;
for(control=0;control<60;control++)//移动速度
{
for(i=0;i<16;i++)
{
serial_input(table[2*i+2*up]); //左半屏
serial_input(table[2*i+1+2*up]);//右半屏
P1=i; //行控制
serial_output(); //595输出
delay(5);
}
up=up+1; //上移,改变up可实现上移或下移
if(up>32) up=0;
}
}
void main()
{
while(1)
{
display();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -