/*
程序效果:按键按下,蜂鸣器响,数码管有相应键值显示按下E键继电器开,
按下C键继电器关注:本空间所有程序仅供参考,所有程序都经实验过,符合题意。
(若全选程序并复制到编译器中进行编译,定会出错,原因不明)
注意:如果无法在keil里编译,请删除每一行的所有前导空白,
*/
#include//头文件
#define uchar unsigned char//宏定义
#define uint unsigned int
uchar code table[]={0x3f,0x06,0x5b,//数码管显示的数值
0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
0x77,0x7c,0x39,0x5e,0x79,0x71};
sbit fmq=P3^4; //位声明,驱动蜂鸣器的那个管脚
sbit jdq=P3^5; //位声明,驱动继电器的那个管脚
void delay(uint x) //延时子函数
{
uint i,j;
for(i=x;i>0;i--)for(j=100;j>0;j--);
}
void readkey() //读键盘值子函数
{
uchar key; //定义一个变量,用于存放按键值
P0=0xfe; //将第一列拉低,扫描是否有按键按下
key=P0; //读?按键值
if(key!=0xfe) //判断是否有按键按下