完整版 电路图和程序代码 下载地址
https://pan.baidu.com/s/1j8tTkCIlyLIsByFHFFclfw?pwd=8888
部分代码展示
#include <reg51.h> /* 库函数调用 */
#include <intrins.h> /* 库函数调用 */
#define uchar unsigned char /* 宏定义 */
#define uint unsigned int /* 宏定义 */
sbit K0 = P1 ^ 0; /*按键定义引脚 */
sbit K1 = P1 ^ 1; /*按键定义引脚 */
sbit K2 = P1 ^ 2; /*按键定义引脚 */
sbit K3 = P1 ^ 3; /*按键定义引脚 */
sbit K4 = P1 ^ 4; /*按键定义引脚 */
sbit K5 = P1 ^ 5; /*按键定义引脚 */
sbit K6 = P1 ^ 6; /*按键定义引脚 */
sbit K7 = P1 ^ 7; /*按键定义引脚 */
uchar i;
/* 数码管显示字符 */
uchar code tab[] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66,
0x6d, 0x7d, 0x07, 0x7f, 0x6f,
0x77, 0x7c, 0x39, 0x5e, 0x79,0x71 };
/***************************延时函数************************/
void delay( uint z )
{
uint x, y;
for ( x = z; x > 0; x-- )
for ( y = 110; y < 0; y-- )
;
}
/***************************信息发送函数************************/
void send( uchar c ) /* 向串口发送字符 */
{
SBUF = c;
while ( TI == 0 )
;
TI = 0;
}
/***************************主函数************************/
void main()
{
P2 = 0x00;
SCON = 0x50; /* 串口模式1 */
TMOD = 0x20; /* T1工作模式2 */
PCON = 0x00; /* 波特率不倍增 */
TH1 = 0xfd; /* 波特率设定6900 */
TL1 = 0xfd;
TI = RI = 0;
TR1 = 1; /* 启动定时器T1 */
IE = 0x90; /* 允许串口中断 */
while ( 1 )
{
if ( K0 == 0 )
send( '0' );
else send( 'A' ); /* 发送数据 */
if ( K1 == 0 )
send( '1' );
else send( 'B' ); /* 发送数据 */
if ( K2 == 0 )
send( '2' );
else send( 'C' ); /* 发送数据 */
if ( K3 == 0 )
send( '3' );