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

📄 display.h

📁 温度监控完整代码
💻 H
字号:
#ifndef __DISPLAY_H__
#define __DISPLAY_H__
#define uchar unsigned char
#define uint unsigned int
							//0     1    2   3     4   5    6     7    8   9	-     灭  _
unsigned char code DuanMa[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff,0xf7};	//共阳 
unsigned char code WeiMa[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//分别对应相应的数码管点亮,即位码 


#define DataPort P0 //定义数据端口 程序中遇到DataPort 则用P0替换

void SEG_Latch(void)   //段码锁存子程序 
{
	P2 |= 0xe0;//P2.7~P2.5=111,Y7=0,Y7C=1,即U7的LE=1,段码数据选通 
	_nop_();
	P2 &= 0x1f;//P2.7~P2.5=000,Y7=1,Y7C=0,即U7的LE=0,段码数据被锁存 
}
void BIT_Latch(void)  //位码锁存子程序 
{
	P2 |= 0xC0;	  //P2.7~P2.5=110,Y6=0,Y6C=1,即U8的LE=1,位码数据选通 
	_nop_();
	P2 &= 0x1f;	  //P2.7~P2.5=000,Y6=1,Y6C=0,即U8的LE=0,位码数据被锁存 
}
void delay__50us(uint t)   //50us 延时 
{
uchar j;  
for(;t>0;t--)   
   for(j=19;j>0;j--) 
    ;
} 
void display(uchar *point)
{
	unsigned char i=0;
	for(i=0;i<8;i++)
	{
	   DataPort=WeiMa[i];   //取位码 
       BIT_Latch();			//数据锁存 
       DataPort=DuanMa[*(point+i)]; //取显示数据,段码 
       SEG_Latch();			//数据锁存 
	   delay__50us(20);   // 扫描间隙延时,时间太长会闪烁,太短不亮 
	   DataPort=0xff;   //关显示,消除重影 
       SEG_Latch();	    //数据锁存 
     }
}
#endif

⌨️ 快捷键说明

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