📄 display._c
字号:
#include "main.h"
void Bit_display(unsigned char X,unsigned char Y) //位显示函数,将对转换结果的数字量进行“0”或“1”的显示
{
if(Y)
LCD_write_char(X,0,'1'); //如果转换结果变量的某一位为“1”,则显示,否则显示“0”
else
LCD_write_char(X,0,'0');
}
void Bit_transfor(void) //对12位数字量的量化和显示函数
{
unsigned int datas;
unsigned int bits=0x0001; //位屏蔽变量,通过移位处理,将得出数字量的每一位值(0或1)
unsigned char i,pos=10; //显示位置变量,通过循环处理将依次将数字量的每一位显示在LCD上
init_lcd();
datas =(value&bits); //最低位独立处理
Bit_display(11,datas);
bits = bits<<1;
for(i=0;i<=10;i++) //高11位在循环中处理
{
datas =(value&bits); //位屏蔽操作
datas = datas>>(i+1);
Bit_display(pos,datas); //位显示操作
bits = bits<<1;
pos--;
}
}
void Analog_display(unsigned char X,unsigned char data)
{
switch(data)
{
case 0:LCD_write_char( X, 1, data); break;
case 1:LCD_write_char( X, 1, data); break;
case 2:LCD_write_char( X, 1, data); break;
case 3:LCD_write_char( X, 1, data); break;
case 4:LCD_write_char( X, 1, data); break;
case 5:LCD_write_char( X, 1, data); break;
case 6:LCD_write_char( X, 1, data); break;
case 7:LCD_write_char( X, 1, data); break;
case 9:LCD_write_char( X, 1, data); break;
}
}
void Analog_transfor(void)
{
float result;
uint rel;
uchar x1,x2,x3;
result=(float)(value);
value*=2.43/1024*100;
rel=(uint)(result);
x1=rel/100;x2=x1; Analog_display(7,x2);
LCD_write_char(8,1':');
x1=rel%100;x3=x1;x2=x3/10; Analog_display(9,x2);
x3=x1%10; x2=x3; Analog_display(10,x2);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -