📄 disp_b.c
字号:
#include <reg51.h>
#include <math.h>
#include <absacc.h>
#include <string.h>
#define uchar unsigned char
#define uint unsigned int
//extern void CCW_PR();
extern void CW2_PR();
extern void CW2_PR_F();
extern O_X,O_Y,code_1;
uchar dispint(uchar position1,uchar position2,int value)
/*用于显示整数(包括负数),第一参数为显示位置(最后一位).
用到dispch函数.
显示整数前不显示空格*/
{ uchar temp,is_neg=0;
if (value<0)
{
value=-value;
is_neg=1;
}
do
{ O_X=position1;
O_Y=position2;
temp=value%10;
code_1=temp+16;
CW2_PR();
position1=position1-1;
value=(value-temp)/10;
}
while (value);
if (is_neg)
{
O_X=position1;
O_Y=position2;
code_1='-'-0x20;
CW2_PR();
position1=position1-1;
}
return(position1);
}
uchar dispint_f(uchar position1,uchar position2,int value)
/*用于显示整数(包括负数),第一参数为显示位置(最后一位).
用到dispch函数.
显示整数前不显示空格*/
{ uchar temp,is_neg=0;
if (value<0)
{
value=-value;
is_neg=1;
}
do
{ O_X=position1;
O_Y=position2;
temp=value%10;
code_1=temp+16;
CW2_PR_F();
position1=position1-1;
value=(value-temp)/10;
}
while (value);
if (is_neg)
{
O_X=position1;
O_Y=position2;
code_1='-'-0x20;
CW2_PR_F();
position1=position1-1;
}
return(position1);
}
void dispf(uchar position1,uchar position2,float value,uchar preci)
/*用于显示实数(包括负数),第一参数为显示位置(最后一位),
第三参数为显示精度。用到dispch dispint函数. 显示实数前不显示空格*/
{
int v1,v2;
uchar i,cint,is_neg=0;
float idata temp;
if (value<0)
{
value=-value;
is_neg=1;
}
v1=(int)value;
temp=value-v1;
for (i=0;i<preci;i++)
{
temp*=10;
/* O_X=position1;
O_Y=position2;
code_1='0'-0x20;
CW_PR();
position1=position1-6; */
}
v2=(int)(temp+0.5);
dispint(position1,position2,v2);
O_X=position1-preci*1;
O_Y=position2;
code_1='.'-0x20;
CW2_PR();
position1=position1-1-preci*1;
position1=dispint(position1,position2,v1);
if (is_neg){
O_X=position1;
O_Y=position2;
code_1='-'-0x20;
CW2_PR();
}
}
void dispf_f(uchar position1,uchar position2,float value,uchar preci)
/*用于显示实数(包括负数),第一参数为显示位置(最后一位),
第三参数为显示精度。用到dispch dispint函数. 显示实数前不显示空格*/
{
int v1,v2;
uchar i,cint,is_neg=0;
float temp;
if (value<0)
{
value=-value;
is_neg=1;
}
v1=(int)value;
temp=value-v1;
for (i=0;i<preci;i++)
{
temp*=10;
/* O_X=position1;
O_Y=position2;
code_1='0'-0x20;
CW_PR();
position1=position1-6; */
}
v2=(int)(temp+0.5);
dispint_f(position1,position2,v2);
O_X=position1-preci*1;
O_Y=position2;
code_1='.'-0x20;
CW2_PR_F();
position1=position1-1-preci*1;
position1=dispint_f(position1,position2,v1);
if (is_neg){
O_X=position1;
O_Y=position2;
code_1='-'-0x20;
CW2_PR_F();
}
}
/*显示英文*/
void dispes(uchar position1,uchar position2,uchar chanum,uchar* p)
{
uchar idata i;
for(i=0;i<chanum;i++)
{
position1=position1+1;
if(*(p+i)==0)code_1=0;
else code_1=*(p+i)-0x20;
// code_1=0x37;
O_X=position1;
O_Y=position2;
CW2_PR();
}
}
/*显示反白英文*/
void dispes_f(uchar position1,uchar position2,uchar chanum,uchar* p)
{
uchar idata i;
for(i=0;i<chanum;i++)
{
position1=position1+1;
if(*(p+i)==0)code_1=0;
else code_1=*(p+i)-0x20;
O_X=position1;
O_Y=position2;
CW2_PR_F();
}
}
/*显示中文*/
/*void dispcs(uchar position1,uchar position2,uchar chanum,uchar* p)
{
uint idata i;
for(i=0;i<chanum;i++)
{
position1=position1+16;
code_1=*(p+i);
O_X=position1;
O_Y=position2;
CCW_PR();
}
if(chanum==7){
dispes(0x2e,1," ");
dispes(0x3e,1," ");
}
} */
void blank_point(uchar position1,uchar position2,uchar chanum)
{
uchar i;
for(i=0;i<chanum;i++)
{
dispes(position1+i*1,position2,1," ");
}
}
void blank_line(uchar position)
{
uchar i;
// for (i=0;i<30;i++)
{
dispes(0,position,30," ");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -