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

📄 display._c

📁 AVR mega16系列单片机开发程序
💻 _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 + -