仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png (13.91 KB, 下載次數(shù): 96)
下載附件
2020-11-13 14:33 上傳
單片機(jī)源程序如下:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit SRCLK=P2^0;//hang
sbit RCLK=P2^1;
sbit SER=P2^2;
sbit SRCLK2=P0^0;//lie
sbit RCLK2=P0^1;
sbit SER2=P0^2;
//字模格式 16x16 陰碼,逐行,逆向,十六進(jìn)制,C51格式
uint code temp[]={
0x18,0x18,0x30,0x0C,0x60,0x06,0xFC,0x3F,
0x8C,0x31,0x8C,0x31,0xFC,0x3F,0x8C,0x31,
0x8C,0x31,0xFC,0x3F,0x80,0x01,0x80,0x01,
0xFF,0xFF,0x80,0x01,0x80,0x01,0x80,0x01,/*"單",0*/
0x00,0x06,0x18,0x06,0x18,0x06,0x18,0x06,
0x18,0x06,0xF8,0x7F,0x18,0x00,0x18,0x00,
0x18,0x00,0xF8,0x0F,0x18,0x0C,0x18,0x0C,
0x18,0x0C,0x0C,0x0C,0x0C,0x0C,0x06,0x0C,/*"片",1*/
0x18,0x00,0x98,0x1F,0x98,0x19,0x98,0x19,
0xFF,0x19,0x98,0x19,0x9C,0x19,0xBC,0x19,
0xFE,0x19,0xFE,0x19,0x9B,0x19,0x98,0xD9,
0x98,0xD9,0xD8,0xD8,0xD8,0xF0,0x78,0x00,/*"機(jī)",2*/
0xC0,0x00,0x80,0x01,0x80,0x01,0xFF,0xFF,
0x00,0x00,0x18,0x18,0x18,0x30,0x0C,0x6C,
0x36,0x6C,0x60,0x06,0xC0,0x03,0x80,0x01,
0xC0,0x03,0x70,0x06,0x1C,0x1C,0x07,0xF0,/*"交",3*/
0x00,0x03,0x0C,0x06,0xF8,0xFF,0x18,0x03,
0x83,0x19,0xC6,0x30,0xE6,0x7F,0x18,0x60,
0x18,0x00,0xCC,0x36,0xCF,0x36,0xCC,0x36,
0xCC,0x36,0xCC,0xF6,0x6C,0xF6,0x30,0xE6,/*"流",4*/
0x00,0xC3,0xFE,0x66,0xD8,0x3C,0xD8,0xFF,
0xFF,0x19,0xD8,0x18,0xD8,0x18,0xFE,0x7E,
0x0C,0x18,0x0C,0x18,0xFE,0x18,0xCE,0xFF,
0xCF,0x18,0xCC,0x18,0xFC,0x18,0xCC,0x18,/*"群",5*/
0x00,0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC0,
0x60,0x30,0x18,0x0C,0xC6,0xFE,0x00,0x00,/*"2",6*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",7*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",8*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",9*/
};
uint code table1[]={
0xfffe,0xfffd,0xfffb,0xfff7,0xffef,0xffdf,0xffbf,0xff7f,
0xfeff,0xfdff,0xfbff,0xf7ff,0xefff,0xdfff,0xbfff,0x7fff};
//void delay(uint a)
//{
// uint i,j;
// for(i=a;i>0;i--)
// for(j=10;j>0;j--);
//}
void Hang_595(uint dat)//hang
{
uint i=0;
RCLK=0;
for(i=0;i<16;i++)
{
SER=dat&0x8000;
dat<<=1;
SRCLK=1;
SRCLK=0;
}
RCLK=1;
RCLK=0;
}
void Line_595(uchar numL,uchar numH)//lie
{
uint dat2=0X8001;
uint i=0;
RCLK2=0;
dat2=numH;
dat2<<=8;
dat2|=numL;
for(i=0;i<16;i++)
{
SRCLK2=0;
SER2=dat2&0x8000;
dat2<<=1;
SRCLK2=1;
SRCLK2=0;
}
RCLK2=1;
RCLK2=0;
}
void main()
{
uchar v;
uchar t;
uint g;
Hang_595(0);
while(1)
{
for(g=0;g<140;g++) //一個(gè)字是16,字?jǐn)?shù)乘以16
for(v=0;v<30;v++)
for(t=0;t<16;t++)
{
Hang_595(table1[t]);
Line_595(temp[(g+t)*2],temp[(g+t)*2+1]);
Line_595(0,0);
}
}
}
全部資料51hei下載地址:
走字屏.rar
(56.37 KB, 下載次數(shù): 75)
2020-11-13 10:06 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|