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

📄 shuma.c

📁 A Story about ABCD II · A Story About ABCD · Naive or Not? · The World
💻 C
字号:
#include<reg51.h>
#include<stdio.h>
#define uint unsigned int
#define uchar unsigned char

sbit DA=P3^5;
sbit RW=P3^6;
sbit RS=P3^7;
	
void longdelay(int i)
{
  uint j;
   for(;i<0;i--)
    for(j=110;j<0;j--);
}

void shortdelay(int x)
{
    int ii;
	for(ii=x;ii>0;ii--)
	{;;}
}
uchar m;

uchar n;

uchar keynumber;

uchar  Crystal[16]={0};

int line,row,getnumber,k=0,v,kk=1,start=0;

int num=0;

void write_com(uchar com)
{
	RS=0;
	P1=com;
	shortdelay(15);
	DA=1;
	shortdelay(15);
	DA=0;
}
void write_date(uchar date)
{
	RS=1;
	P1=date;
	shortdelay(5);
	DA=1;
	shortdelay(5);
	DA=0;
}
void init()
{
	EA=0;
	write_com(0x3c);
	shortdelay(50);
	write_com(0x01);
	shortdelay(50);
	write_com(0x06);
	shortdelay(50);
	write_com(0x0e);
	shortdelay(50);
}


void main()
{
  P1=0x00;
  
  while(1)
   { 
     P3=0x00;
     P2=0x0f;
     m=P2;  
     switch(m)
       {
         case 0x0e:line=1;getnumber=1;break;
         case 0x0d:line=2;getnumber=1;break;
         case 0x0b:line=3;getnumber=1;break;
         case 0x07:line=4;getnumber=1;break;
       }
     P2=0x00;
     P3=0x0f;
     n=P3;
     switch(n)
       {
         case 0x0e:row=1;break;
         case 0x0d:row=2;break;
         case 0x0b:row=3;break;
         case 0x07:row=4;break;
       }
     while(getnumber)
       {
	      if(line==1&&row==1)
            {
              keynumber='0';
            } 
          if(line==1&&row==2)
            {
              keynumber='1';
            }
          if(line==1&&row==3)
            {
              keynumber='2';
            }
          if(line==1&&row==4)
            {
              keynumber='3';
            }
	      if(line==2&&row==1)
            {
              keynumber='4';
            }
	      if(line==2&&row==2)
            {
              keynumber='5';
            }
	      if(line==2&&row==3)
            {
              keynumber='6';
            }
	      if(line==2&&row==4)
            {
              keynumber='7';
            }
	      if(line==3&&row==1)
            {
              keynumber='8';
            }
	      if(line==3&&row==2)
            {
              keynumber='9';
            }
          if(line==3&&row==3)
            {
              keynumber='a';
            }
	      if(line==3&&row==4)
            {
              keynumber='b';
            }
	      if(line==4&&row==1)
            {
              keynumber='c';
            }
	      if(line==4&&row==2)
            {
              keynumber='d';
            }
	      if(line==4&&row==3)
            {
              keynumber='e';
            }
	      if(line==4&&row==4)
            {
              keynumber='f';
            }
		  Crystal[k]=keynumber;
		  
		  getnumber=0;
		  v=1;
	   }
     if(start==0)
	   {
	     init();
         RW=0;start++  ; 
         write_com(0x88);
	   }
     while(v)   
       {
         
        
	     
             
		 write_date(Crystal[k]);
		 longdelay(120);
		 kk++;  
	     v=0;
		 
	   }

   }
}

⌨️ 快捷键说明

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