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

📄 guding.c

📁 我写的四字点阵
💻 C
字号:
#include <reg51.h>
#include <ziku.h>
#include <DS1302.h>
#include<stdio.h> 
#include<string.h> 
#include<stdlib.h> 
#define uchar unsigned char 
#define uint unsigned int 
sbit CLK=P3^6;
sbit STR=P3^5;              //锁存
sbit RData= P3^7;            //红数据
sbit key1=P1^0;
uint n,a;
uchar keynum,z1,z2,z3;
char CC[]="邢鹏";
void delay()
{
	uchar y;

	for(y=120;y>0;y--);
}
void sendbyteR(unsigned char bbyte1)
{ 
uchar i;
for(i=0;i<8;i++)
   {
	 if(bbyte1&0x80)
  {
   RData=1;
  }
else
  {RData=0;} 
	   CLK=0;
	 CLK=0;
	 CLK=0;
	 CLK=1;
	 CLK=1;
	 CLK=1;

     bbyte1<<=1; 
   } 
}
void mie()
{
				sendbyteR(0xff);
				sendbyteR(0xff);
					sendbyteR(0xff);
						sendbyteR(0xff);
			sendbyteR(0xff);
						sendbyteR(0xff);
					sendbyteR(0xff);
				sendbyteR(0xff);
                STR=0;STR=0;STR=1; STR=1;
				delay();	
}

uint dis_hz(char uu)//显示一个字母
{
	uint j;
	static	unsigned int index;
	index = 0;       
	do
	 {
		if((hzsy[index]) ==uu|| (hzsy[index]) == '\0') 
		{
			break;	
		}
		//index++; 
		index=index+2;
		//index++;
//		hzsy++;
//		hzsy++;
	}
	while(1);

	j=index/2;
	return(j);
}
void dis_nhz(char *p)
{
	uchar k=0;
	uchar R[4];
	uchar i,j;
	while(*p!='\0')
	{	
	   R[k]=dis_hz(*p);
	   k++;
	   p++;
	   p++;	
	}
  for(i=0;i<16;i++)
	{ 		P2=i;
		
	for(j=k;j>0;j--)
		{	
		   sendbyteR(hzzh[R[j-1]][i*2+1]);
		   sendbyteR(hzzh[R[j-1]][i*2]);
		}
			  STR=0;STR=0;STR=1; STR=1;
		                delay();
						mie();
		}
}
void distime()
{
	uchar i;
	init();
	for(i=0;i<16;i++)
	{
		P2=i;
	
		sendbyteR(letter[display_buffer[5]][i]);
		sendbyteR(letter[display_buffer[4]][i]);
		sendbyteR(letter[10][i]);
		sendbyteR(letter[display_buffer[3]][i]);
		sendbyteR(letter[display_buffer[2]][i]);
		sendbyteR(letter[10][i]);
		sendbyteR(letter[display_buffer[1]][i]);
		sendbyteR(letter[display_buffer[0]][i]);

	   			  STR=0;STR=0;STR=1; STR=1;
		                delay();
						mie();
	}	
}
void tinit()
{
		TMOD=0X01;
	TH0=(65535-1000)/256;
	TL0=(65535-1000)%256;
	ET0=1;
	EA=1;
	TR0=1;
}
void timer0(void) interrupt 1
{
	TH0=(65535-1000)/256;
	TL0=(65535-1000)%256;
	a++;
	if(a==300)
{
		n++;
		a=0;
	}	
}
void keyscan()
{
	if(key1==0)
	{
		while(key1==0);
		keynum++;
		if(keynum==1) { z1=1;z2=0;z3=0;}
		if(keynum==2) {z1=0;z2=1;z3=0;}
		if(keynum==3) {z1=0;z2=0;z3=1,keynum=0;}
		
	}
}
void t0over()
{
	ET0=0;
	EA=0;
	TR0=0;
	a=0;
	n=0;

}

⌨️ 快捷键说明

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