⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 display.c

📁 程序是基于STC89C58的点阵屏显示程序
💻 C
字号:
#include"reg51.h"
#define zimushuru 0
#define	pinyinchazhao 1
#define hazixianshi 2
#define xunhuan_xianshi 3
#define write_to_eprom 4
#define read_of_eprom 5
#define yiwei_xianshi 6

void move(unsigned  char un);
void display(void);

sbit A1=P1^0;
sbit B1=P1^1;
sbit C1=P1^2;
sbit D1=P1^3;
sbit OE=P3^5;	  //138的使能

sbit CLK=P3^2;
sbit CS=P3^3;
sbit Data=P2^5;

bdata unsigned char zimo;
sbit zimo0=zimo^0;
sbit zimo1=zimo^1;
sbit zimo2=zimo^2;
sbit zimo3=zimo^3;
sbit zimo4=zimo^4;
sbit zimo5=zimo^5;
sbit zimo6=zimo^6;
sbit zimo7=zimo^7;

bdata unsigned char hang_138=0;
sbit hang0=hang_138^0;
sbit hang1=hang_138^1;
sbit hang2=hang_138^2;
sbit hang3=hang_138^3;


   
extern unsigned char xdata zimoku[3][128]={0x00, 0x80, 0x00, 0x80, 0xfc, 0x80, 0x05, 0xfe, 0x85, 0x04, 0x4a, 0x48, 0x28, 0x40, 0x10, 0x40, 
0x18, 0x40, 0x18, 0x60, 0x24, 0xa0, 0x24, 0x90, 0x41, 0x18, 0x86, 0x0e, 0x38, 0x04, 0x00, 0x00,0x10, 0x00, 0x11, 0xfc, 0x11, 0x04, 0x7d, 0x04, 0x55, 0xfc, 0x54, 0x20, 0x55, 0xfc, 0x55, 0x24, 
0x7d, 0xfc, 0x11, 0x24, 0x19, 0x24, 0x15, 0xfc, 0x1e, 0x22, 0xe4, 0x22, 0x00, 0x1e, 0x00, 0x00 ,  };
 extern unsigned char zishu;
extern unsigned char page;
extern unsigned char zhuangtai;
extern unsigned char hz_dis_geshu[3];
unsigned char movei=0;


void move(bit un)
{
	CLK=0;
	Data=~un;
	CLK=1; 
	A1=~A1;
}
/*void send_595_byte(unsigned char da)
{
	zimo=da;
	move(zimo7);	
	move(zimo6);	
	move(zimo5);	
	move(zimo4);	
	move(zimo3);	
	move(zimo2);	
	move(zimo1);	
	move(zimo0);	

}*/
void send_595_bit(unsigned char sendi,bit da)
{
	if(movei<=sendi)
		move(da);
}

void send_595_bit0(unsigned char sendi,bit da)
{
	if(movei>sendi)
		move(da);

}
void display(void)
{
	unsigned char i=0,j=0;
	static unsigned char yanshi=0;
	CS=0;
	OE=1;
/*	for(j=0;j<4;j++)
	{
		send_595_byte(zimoku[page][j*32+hang_138*2]);			
		send_595_byte(zimoku[page][j*32+hang_138*2+1]);
		
	}	 */
	zimo=zimoku[page][hang_138*2];
	send_595_bit(0,zimo7);
	send_595_bit(1,zimo6);
	send_595_bit(2,zimo5);
	send_595_bit(3,zimo4);
	send_595_bit(4,zimo3);
	send_595_bit(5,zimo2);
	send_595_bit(6,zimo1);
	send_595_bit(7,zimo0);
	zimo=zimoku[page][hang_138*2+1];
	send_595_bit(8,zimo7);
	send_595_bit(9,zimo6);
	send_595_bit(10,zimo5);
	send_595_bit(11,zimo4);
	send_595_bit(12,zimo3);
	send_595_bit(13,zimo2);
	send_595_bit(14,zimo1);
	send_595_bit(15,zimo0);


	
	zimo=zimoku[page][32+hang_138*2];
	send_595_bit(16,zimo7);
	send_595_bit(17,zimo6);
	send_595_bit(18,zimo5);
	send_595_bit(19,zimo4);
	send_595_bit(20,zimo3);
	send_595_bit(21,zimo2);
	send_595_bit(22,zimo1);
	send_595_bit(23,zimo0);
	zimo=zimoku[page][32+hang_138*2+1];
	send_595_bit(24,zimo7);
	send_595_bit(25,zimo6);
	send_595_bit(26,zimo5);
	send_595_bit(27,zimo4);
	send_595_bit(28,zimo3);
	send_595_bit(29,zimo2);
	send_595_bit(30,zimo1);
	send_595_bit(31,zimo0);


	zimo=zimoku[page][64+hang_138*2];
	send_595_bit(32,zimo7);
	send_595_bit(33,zimo6);
	send_595_bit(34,zimo5);
	send_595_bit(35,zimo4);
	send_595_bit(36,zimo3);
	send_595_bit(37,zimo2);
	send_595_bit(38,zimo1);
	send_595_bit(39,zimo0);
	zimo=zimoku[page][64+hang_138*2+1];
	send_595_bit(40,zimo7);
	send_595_bit(41,zimo6);
	send_595_bit(42,zimo5);
	send_595_bit(43,zimo4);
	send_595_bit(44,zimo3);
	send_595_bit(45,zimo2);
	send_595_bit(46,zimo1);
	send_595_bit(47,zimo0);

	zimo=zimoku[page][96+hang_138*2];
	send_595_bit(48,zimo7);
	send_595_bit(49,zimo6);
	send_595_bit(50,zimo5);
	send_595_bit(51,zimo4);
	send_595_bit(52,zimo3);
	send_595_bit(53,zimo2);
	send_595_bit(54,zimo1);
	send_595_bit(55,zimo0);
	zimo=zimoku[page][96+hang_138*2+1];
	send_595_bit(56,zimo7);
	send_595_bit(57,zimo6);
	send_595_bit(58,zimo5);
	send_595_bit(59,zimo4);
	send_595_bit(60,zimo3);
	send_595_bit(61,zimo2);
	send_595_bit(62,zimo1);
	send_595_bit(63,zimo0);


	zimo=0x00;
	send_595_bit0(0,zimo7);
	send_595_bit0(1,zimo6);
	send_595_bit0(2,zimo5);
	send_595_bit0(3,zimo4);
	send_595_bit0(4,zimo3);
	send_595_bit0(5,zimo2);
	send_595_bit0(6,zimo1);
	send_595_bit0(7,zimo0);
	zimo=0x00;
	send_595_bit0(8,zimo7);
	send_595_bit0(9,zimo6);
	send_595_bit0(10,zimo5);
	send_595_bit0(11,zimo4);
	send_595_bit0(12,zimo3);
	send_595_bit0(13,zimo2);
	send_595_bit0(14,zimo1);
	send_595_bit0(15,zimo0);			   //空字

	zimo=zimoku[page][hang_138*2];
	send_595_bit0(16,zimo7);
	send_595_bit0(17,zimo6);
	send_595_bit0(18,zimo5);
	send_595_bit0(19,zimo4);
	send_595_bit0(20,zimo3);
	send_595_bit0(21,zimo2);
	send_595_bit0(22,zimo1);
	send_595_bit0(23,zimo0);
	zimo=zimoku[page][hang_138*2+1];
	send_595_bit0(24,zimo7);
	send_595_bit0(25,zimo6);
	send_595_bit0(26,zimo5);
	send_595_bit0(27,zimo4);
	send_595_bit0(28,zimo3);
	send_595_bit0(29,zimo2);
	send_595_bit0(30,zimo1);
	send_595_bit0(31,zimo0);

	zimo=zimoku[page][32+hang_138*2];
	send_595_bit0(32,zimo7);
	send_595_bit0(33,zimo6);
	send_595_bit0(34,zimo5);
	send_595_bit0(35,zimo4);
	send_595_bit0(36,zimo3);
	send_595_bit0(37,zimo2);
	send_595_bit0(38,zimo1);
	send_595_bit0(39,zimo0);
	zimo=zimoku[page][32+hang_138*2+1];
	send_595_bit0(40,zimo7);
	send_595_bit0(41,zimo6);
	send_595_bit0(42,zimo5);
	send_595_bit0(43,zimo4);
	send_595_bit0(44,zimo3);
	send_595_bit0(45,zimo2);
	send_595_bit0(46,zimo1);
	send_595_bit0(47,zimo0);

	zimo=zimoku[page][64+hang_138*2];
	send_595_bit0(48,zimo7);
	send_595_bit0(49,zimo6);
	send_595_bit0(50,zimo5);
	send_595_bit0(51,zimo4);
	send_595_bit0(52,zimo3);
	send_595_bit0(53,zimo2);
	send_595_bit0(54,zimo1);
	send_595_bit0(55,zimo0);
	zimo=zimoku[page][64+hang_138*2+1];
	send_595_bit0(56,zimo7);
	send_595_bit0(57,zimo6);
	send_595_bit0(58,zimo5);
	send_595_bit0(59,zimo4);
	send_595_bit0(60,zimo3);
	send_595_bit0(61,zimo2);
	send_595_bit0(62,zimo1);
	send_595_bit0(63,zimo0);

	zimo=zimoku[page][96+hang_138*2];
	send_595_bit0(64,zimo7);
	send_595_bit0(65,zimo6);
	send_595_bit0(66,zimo5);
	send_595_bit0(67,zimo4);
	send_595_bit0(68,zimo3);
	send_595_bit0(69,zimo2);
	send_595_bit0(70,zimo1);
	send_595_bit0(71,zimo0);
	zimo=zimoku[page][96+hang_138*2+1];
	send_595_bit0(72,zimo7);
	send_595_bit0(73,zimo6);
	send_595_bit0(74,zimo5);
	send_595_bit0(75,zimo4);
	send_595_bit0(76,zimo3);
	send_595_bit0(77,zimo2);
	send_595_bit0(78,zimo1);
	send_595_bit0(79,zimo0);


	
	CS=1;
	OE=0;
	A1=hang0;//hang_138^0;
	B1=hang1;//hang_138^1;
	C1=hang2;//hang_138^2;
	D1=hang3;
	hang_138++;
	if(hang_138>=16)
	{
		hang_138=0;
		if(zhuangtai==xunhuan_xianshi)
		{
			yanshi++;
			if(yanshi==0x80)
			{
				yanshi=0x00;
				page++;
				if(page==3)	page=0;
				if(hz_dis_geshu[page]==0)
				{
					page++;
					if(page==3)	page=0;
				}
				if(hz_dis_geshu[page]==0)
				{
					page++;
					if(page==3)	page=0;
				}
			}
		}
		else if(zhuangtai==yiwei_xianshi)
		{
		 	yanshi++;
			if(yanshi>=0x10)
			{
				yanshi=0;
				movei++;
				if(movei>79)
					movei=0;
			
			}
		}
		else 
		{	
			yanshi=0;
			movei=0;
		}
	}
}	   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -