led.txt

来自「16键码显示的程序,我们在P1端口接一支共阴数码管SLED」· 文本 代码 · 共 40 行

TXT
40
字号
#include <at89x52.h>
#define SLED	P1
#define KEY_0	P2^0
#define KEY_1	P2^1
#define KEY_2	P2^2
#define KEY_3	P2^3
#define KEY_4	P2^4
#define KEY_5	P2^5
#define KEY_6	P2^6
#define KEY_7	P2^7
#define KEY_8	P3^0
#define KEY_9	P3^1
#define KEY_A	P3^2
#define KEY_B	P3^3
#define KEY_C	P3^4
#define KEY_D	P3^5
#define KEY_E	P3^6
#define KEY_F	P3^7
Code unsigned char Seg7Code[16]=	//用十六进数作为数组下标,可直接取得对应的七段编码字节
// 0     1    2     3     4    5     6     7     8     9    A     b     C     d    E    F
{0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71};
void main( void )
{
	unsigned char i=0;	//作为数组下标
P2 = 0xff;	//P2作为输入,初始化输出高
	P3 = 0xff;	//P3作为输入,初始化输出高
	While( 1 )
	{
		if( KEY_0 == 0 ) i=0;		if( KEY_1 == 0 ) i=1;
		if( KEY_2 == 0 ) i=2;		if( KEY_3 == 0 ) i=3;
		if( KEY_4 == 0 ) i=4;		if( KEY_5 == 0 ) i=5;
		if( KEY_6 == 0 ) i=6;		if( KEY_7 == 0 ) i=7;
		if( KEY_8 == 0 ) i=8;		if( KEY_9 == 0 ) i=9;
		if( KEY_A == 0 ) i=0xA;		if( KEY_B == 0 ) i=0xB;
		if( KEY_C == 0 ) i=0xC;		if( KEY_D == 0 ) i=0xD;
		if( KEY_E == 0 ) i=0xE;		if( KEY_F == 0 ) i=0xF;
		SLED = Seg7Code[ i ];	//开始时显示0,根据i取应七段编码
}
}

⌨️ 快捷键说明

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