dis_lednum_595.c

来自「数据包(帧格式)的PC机和单片机串口通信 C51程序+proteus仿真」· C语言 代码 · 共 57 行

C
57
字号
sbit CLK = P2^7 ;	           
sbit DS = P2^6 ;				
sbit LATCH = P2^5 ;				


#define uchar unsigned char     
#define uint unsigned int       


/*uchar code lcdtenmap[12][8]={{1,1,0,0,0,0,0,0},{1,1,1,1,1,0,0,1},
                             {1,0,1,0,0,1,0,0},{1,0,1,1,0,0,0,0},
							 {1,0,0,1,1,0,0,1},{1,0,0,1,0,0,1,0},
							 {1,0,0,0,0,0,1,0},{1,1,1,1,1,0,0,0},
							 {1,0,0,0,0,0,0,0},{1,0,0,1,0,0,0,0},
							 {1,0,0,0,1,0,0,1},{1,0,0,0,1,1,0,0}};
                               //共阳

*/
uchar code lcdtenmap[12][8]={{0,0,1,1,1,1,1,1},{0,0,0,0,0,1,1,0},
                             {0,1,0,1,1,0,1,1},{0,1,0,0,1,1,1,1},
							 {0,1,1,0,0,1,1,0},{0,1,1,0,1,1,0,1},
							 {0,1,1,1,1,1,0,1},{0,0,0,0,0,1,1,1},
							 {0,1,1,1,1,1,1,1},{0,1,1,0,1,1,1,1},
							 {0,1,1,1,0,1,1,0},{0,1,1,1,0,0,1,1}};
	                          //共阴


void Dis_LedNum (uint New_Num) ;


void Dis_LedNum (uint New_Num)
{	
  uint Old_Num ;
  uchar i ;
  if (New_Num != Old_Num)
    {
      Old_Num = New_Num ;
      for (i = 0;i < 8;i++)			  
	    { 
		  CLK = 0 ;
	      DS = lcdtenmap[Old_Num % 10][i] ;
		  CLK = 1 ;
	    }
	  for (i = 0;i < 8;i++)			 
	    { 
		  CLK = 0 ;
	      DS = lcdtenmap[(Old_Num / 10) % 10][i] ;
		  CLK = 1 ;
		}
		 
	  LATCH = 0 ;
	  _nop_();
	  _nop_();
	  LATCH = 1 ;

	}
}

⌨️ 快捷键说明

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