📄 ss.c
字号:
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 + -