keyint.c

来自「51系列单片机实验课程:按键显示程序 (在数字键上按数字」· C语言 代码 · 共 63 行

C
63
字号
#include <AT89x52.h>

code unsigned char LedCode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
unsigned char number = 92;
sbit seglock = P1^3;
sbit positlock = P1^2;

void delay (unsigned int Dat)
{
	int i;
	for (i=0;i<Dat;i++);
}

void Display (void)
{
	P0 = LedCode[number/10];
	seglock = 1;
	seglock = 0;
	P0 = 0x02;
	positlock = 1;
	positlock = 0;
	delay(200);
	P0 = 0;
	positlock = 1;
	positlock = 0;

	P0 = LedCode[number%10];
	seglock = 1;
	seglock = 0;
	P0 = 0x01;
	positlock = 1;
	positlock = 0;
	delay(200);
	P0 = 0;
	positlock = 1;
	positlock = 0;
}

void main (void)
{
	IT0 = 1;
	IT1 = 1;
	EX0 = 1;
	EX1 = 1;
	EA = 1;
	while (1)
		Display();
}

void X0_int (void) interrupt 0
{
	if (++number>=100)
		number = 0;
}

void X1_int (void) interrupt 2
{
	if (number-- == 0)
		number = 99;
}


⌨️ 快捷键说明

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