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

📄 digit_tube.c

📁 小区可视对讲键盘检测程序.利用pt6964芯片.
💻 C
字号:
/*--------------------------------------
includes
--------------------------------------*/
#include<stc12c5410ad.h>
#include<delay.h>
/*--------------------------------------
extern variables
--------------------------------------*/
extern unsigned char display_buffer[4];
extern unsigned char number_code[11];
extern unsigned char refresh_index;
/*--------------------------------------
funcinons 
--------------------------------------*/
void digit_tube_initial(void)
{
	P1M0 = P1M0 & 0x01;	//P1,1234567输出
	P1M1 = P1M1 | 0xfe;
	P2M0 = P2M0 & 0xf0;	 //P2,0123输出
	P2M1 = P2M1 | 0x0f;
}
void digit_tube_test(void)
{
	P22=0;P23=0;P11=0;P13=0;
	P21=0;P12=0;P15=0;P16=0;P17=0;P20=0;P14=0;
	delay(100);
	P22=1;P23=1;P11=1;P13=1;
	P21=1;P12=1;P15=1;P16=1;P17=1;P20=1;P14=1;
}
void refresh_digit_tube(void)
{
	refresh_index++;
	if(refresh_index >= 5) refresh_index = 1;
	
	if(refresh_index == 1)
	{
	 P23 = 0;   //设置位选线电平
	 P22 = 1;
	 P11 = 1;
	 P13 = 1;
	 //设置段选线电平
	 if((number_code[display_buffer[0]])&0x80)P21=0;else P21=1;
	 if((number_code[display_buffer[0]])&0x40)P12=0;else P12=1;
	 if((number_code[display_buffer[0]])&0x20)P15=0;else P15=1;
	 if((number_code[display_buffer[0]])&0x10)P16=0;else P16=1;
	 if((number_code[display_buffer[0]])&0x08)P17=0;else P17=1;
	 if((number_code[display_buffer[0]])&0x04)P20=0;else P20=1;
	 if((number_code[display_buffer[0]])&0x02)P14=0;else P14=1;				   

	}
	if(refresh_index == 2)
	{
	 P23 = 1;	//设置位选线电平
	 P22 = 0;
	 P11 = 1;
	 P13 = 1;
	 //设置段选线电平
	 if((number_code[display_buffer[1]])&0x80)P21=0;else P21=1;
	 if((number_code[display_buffer[1]])&0x40)P12=0;else P12=1;
	 if((number_code[display_buffer[1]])&0x20)P15=0;else P15=1;
	 if((number_code[display_buffer[1]])&0x10)P16=0;else P16=1;
	 if((number_code[display_buffer[1]])&0x08)P17=0;else P17=1;
	 if((number_code[display_buffer[1]])&0x04)P20=0;else P20=1;
	 if((number_code[display_buffer[1]])&0x02)P14=0;else P14=1;		
	}
	if(refresh_index == 3)
	{
	 P23 = 1;	 //设置位选线电平
	 P22 = 1;
	 P11 = 0;
	 P13 = 1;
	 //设置段选线电平
	 if((number_code[display_buffer[2]])&0x80)P21=0;else P21=1;
	 if((number_code[display_buffer[2]])&0x40)P12=0;else P12=1;
	 if((number_code[display_buffer[2]])&0x20)P15=0;else P15=1;
	 if((number_code[display_buffer[2]])&0x10)P16=0;else P16=1;
	 if((number_code[display_buffer[2]])&0x08)P17=0;else P17=1;
	 if((number_code[display_buffer[2]])&0x04)P20=0;else P20=1;
	 if((number_code[display_buffer[2]])&0x02)P14=0;else P14=1;		
	}
	if(refresh_index == 4)
	{
	 P23 = 1;	  //设置位选线电平
	 P22 = 1;
	 P11 = 1;
	 P13 = 0;
	 //设置段选线电平
	 if((number_code[display_buffer[3]])&0x80)P21=0;else P21=1;
	 if((number_code[display_buffer[3]])&0x40)P12=0;else P12=1;
	 if((number_code[display_buffer[3]])&0x20)P15=0;else P15=1;
	 if((number_code[display_buffer[3]])&0x10)P16=0;else P16=1;
	 if((number_code[display_buffer[3]])&0x08)P17=0;else P17=1;
	 if((number_code[display_buffer[3]])&0x04)P20=0;else P20=1;
	 if((number_code[display_buffer[3]])&0x02)P14=0;else P14=1;			
	 
	}

  
}

⌨️ 快捷键说明

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