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

📄 ss.c

📁 51 系列TIMER2应用,在STC51单片机上的应用,在测试板上应用过.
💻 C
📖 第 1 页 / 共 2 页
字号:
     for(count=0;count<16;count++)
        {
          com=0x0a; /* 设置光标指针地址 */
          PR1();    /* 调指令写入函数 */
          dat=j%256;/* 写入光标指针地址(低字节) */
          PR2();    /* 调数据写入函数 */
          com=0x0b; /* 设置光标指针地址 */
          PR1();    /* 调指令写入函数 */
          dat=j/256;/* 写入光标指针地址(高字节) */
          PR2();    /* 调数据写入函数 */
          com=0x0c; /* 数据写操作 */
          PR1();    /* 调指令写入函数 */
          dat=CCTAB[code_1][count]; /* 取汉字代码 */
			 if(q_f)
			 dat=~dat;
          CONVERT(); /* 汉字字模结构转换函数 */
          PR2();     /* 调数据写入函数 */
          dat=CCTAB[code_1][count+16];
          if(q_f)
			 dat=~dat;
          CONVERT(); /* 汉字字模结构转换函数 */
          PR2();     /* 调数据写入函数 */
          j=j+i;
        }
   }
/*************************************/
/* 8×16点阵字符写入函数CCW_PR      */
/* 函数调用入口:CW_PR()             */
/* 连接字库:CCTAB                    */
/* 内部调用函数:PR1(),PR2()          */
/* 函数输入变量:PARA1,O_X,O_Y,code_1 */
/*0_x,0_y,code_1,q_f依次为XY地址字符代码是否取反*/
/*************************************/
CW_PR(O_X,O_Y,cod_e)
  {
   signed char i,count;
   unsigned int j;
    i=PARA1;    /* 显示屏每行显示的字节数 */
       j=i*O_Y+O_X;
     for(count=0;count<16;count++)
        {
          com=0x0a; /* 设置光标指针地址 */
          PR1();    /* 调指令写入函数 */
          dat=j%256;/* 写入光标指针地址(低字节) */
          PR2();    /* 调数据写入函数 */
          com=0x0b; /* 设置光标指针地址 */
          PR1();    /* 调指令写入函数 */
          dat=j/256;/* 写入光标指针地址(高字节) */
          PR2();    /* 调数据写入函数 */
          com=0x0c; /* 数据写操作 */
          PR1();    /* 调指令写入函数 */
          dat=CTAB[cod_e][count]; /* 取汉字代码 */
          CONVERT(); /* 汉字字模结构转换函数 */
          PR2();     /* 调数据写入函数 */
          j=j+i;
        }
   }


/************************/
/* 汉字字模结构转换函数 */
/************************/
CONVERT()
   {
    unsigned char i,k;
      k=0;
     for(i=0;i<8;i++)
       {
        if(dat&1==1)
         {
           k=k*2+1;
         }
        else
         {
           k=k*2;
         }
           dat=dat/2;
       }
     dat=k;
   }

/***************************/
/*  直接访问方式的驱动函数 */
/***************************/
busy()
  {
    do
      ACC=cradd; /*  读状态字  */
    while(ACC_7==1); /*  读状态字  */
  }
/********************/
/*    写指令函数    */
/********************/
PR1()
  {
    busy();  /*  判忙  */
    cwadd=com;   /*  写指令 */
  }
/********************/
/*    写数据函数    */
/********************/
PR2()
  {
    busy();  /*  判忙  */
    dwadd=dat; /*  写显示数据 */
  }
/*******************/
ak366()
{   CCW_PR(9,16,0,0);  //A
    CCW_PR(12,16,2,0);  //K
    CCW_PR(14,16,4,0);  //3
    CCW_PR(16,16,6,0);  //6
    CCW_PR(18,16,8,0);  //6
}
name()//油酸值自动测试仪
{
    CCW_PR(3,48,18,0);
    CCW_PR(6,48,20,0);
    CCW_PR(9,48,22,0);
    CCW_PR(12,48,24,0);
    CCW_PR(15,48,26,0);
    CCW_PR(18,48,28,0);
    CCW_PR(21,48,30,0);
    CCW_PR(24,48,32,0);
	 }	 
 	 
akdq()//奥科电气
{    
    CCW_PR(9,80,10,0);
    CCW_PR(12,80,12,0);
    CCW_PR(15,80,14,0);
    CCW_PR(18,80,16,0);
	 }
shezhi()//设置
{	 
    CCW_PR(6,24,34,1);
    CCW_PR(8,24,36,1);	 
	 
}	 
xianshi()//显示
{
    CCW_PR(20,24,42,0);
    CCW_PR(22,24,44,0);	 
}	 

kaishi()//开始
{	 
    CCW_PR(6,94,38,0);
    CCW_PR(8,94,40,0);	 
	 
}	 
dayin()//打印
{
    CCW_PR(20,94,46,0);
    CCW_PR(22,94,48,0);	 
}
/****************顯示實際日期**********************/	
riqi()
{
/****年4位******/
CW_PR(5,1,2);
CW_PR(6,1,0);
CW_PR(7,1,0);
CW_PR(8,1,7);
/******月2位*******/
CW_PR(9,1,10);//-
CW_PR(10,1,0);
CW_PR(11,1,8);
/*******日2位**********/
CW_PR(12,1,10);//-
CW_PR(13,1,3);
CW_PR(14,1,1);
/************************/
CW_PR(17,1,1);
CW_PR(18,1,6);//时
/**********************/
CW_PR(19,1,11);//:
CW_PR(20,1,0);//分
CW_PR(21,1,7);
}
shizhong()	 	 
{
    CCW_PR(0,0,50,0);//日
    CCW_PR(2,0,52,0);//期
    riqi();   //调用显示日期函数
}	 
/***************延时****************/

void Delay(  unsigned int  Time)
{
     unsigned int  j;
	for(;Time>0;Time--)
       {   for(j=0;j<200;j++)
    {;}
	
}
    }
/****************按键**********************/
uchar Key()
{	uchar KValue;
	uchar tmp;
	P3|=0x3c;			//将P3口的接键盘的中间四位置1
	KValue=P3;
	KValue|=0xc3;		//将未接键的4位置1
	if(KValue==0xff)	//中间4位均为1,无键按下	
		return(0);		//返回
	Delay(10);		//延时10ms,去键抖
	KValue=P3;
	KValue|=0xc3;		//将未接键的4位置1
	if(KValue==0xff)	//中间4位均为1,无键按下	
		return(0);		//返回
//如尚未返回,说明一定有1或更多位被按下
	for(;;)
	{	tmp=P3;		
		if((tmp|0xc3)==0xff)
			break;		//等待按键释放
	}
	return(KValue);
}
/****************keyf***********************/
keyf()
 {
  uchar Z;
  static uint CAIDAN,FANBAI;
  Z=Key();
switch(Z)
{  
        case ok: if(CAIDAN==0) //确认键按下菜单为0时检测反白标志
			{
			switch(FANBAI)
                {     case 0: KS=0x55; break;//菜单设置为0时FANBAI选中确认时开始测试
                     case 1: shezhi(); break;//设置选中
                     default: CAIDAN=0;break;
        	       }break;
            
                    

     case sel: kaishi(); break;
     case up: xianshi(); break;
      case up1:dayin(); break;
      default:  break;//
	 
}
 
 }
 }
/***************MAIN*****************/
void main()
  {
const uchar  keyval;
        INT_2();    /* 调初始化函数(图形显示方式)*/
    CLEAR();      /* 调清屏函数 */   
    ak366();//AK366
    name();/*油酸值自动测试仪*/
    akdq();
	Delay(1000);
	CLEAR();      /* 调清屏函数 */   
      shizhong();
	  KS=0x00;
    do{ keyf(); }while(KS!=0x55); /*START*/    //执行用户通过lcd设置的工作
	   //for(;;)	  
	   	//{ keyval=Key()
	   
	   //	}
	  shezhi();
     xianshi();
	  kaishi();
	  dayin();
     while(1)
	  {}
	 }

⌨️ 快捷键说明

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