帮我注释一下,我有的看不明白.明天要答辩了求大神速度#include#define uchar unsigned char#define uint unsigned intsbit key1=P1^0;sbit key2=P1^1;sbit key3=P1^2;uchar num;uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};void delay(uint x){\x05uint i,j;\x05for(i=0;i

问题描述:

帮我注释一下,我有的看不明白.明天要答辩了求大神速度
#include
#define uchar unsigned char
#define uint unsigned int
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
uchar num;
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void delay(uint x)
{
\x05uint i,j;
\x05for(i=0;i

  这段代码是单片机MCS-51的c语言程序,整个程序实现的功能是通过单片机的三个管脚实现对按键显示.按键1(key1)每次按下去之后,会实现加1的操作,也就是说会显示 table 数组的当前元素的下一个元素.按键2(key2)的功能和key1恰好相反,每次按下去之后,会实现减1的操作,也就是说会显示 uchar code table[] 这个数组的当前元素的前一个元素.
  key3的功能最简单,只要按下去后就会实现清零的功能,是一个RET按键,功能是清零(RESET),所以按下去之后就会显示 table 数组的第一个元素.
  程序每一句话的解释如下:
  #include//添加标准库文件 reg51.h 作为头文件
  #define uchar unsigned char//定义宏uchar表示unsigned char类型也就是无符号8位数
  #define uint unsigned int//定义宏uint表示unsigned int类型,也就是无符号16位数
  sbit key1=P1^0;//定义key1表示P1口的管脚1,即P1.0口
  sbit key2=P1^1;//定义key1表示P1口的管脚2,即P1.1口
  sbit key3=P1^2;//定义key1表示P1口的管脚3,即P1.2口
  uchar num;//声明一个无符号8bit的一个数num
  uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//定义了一个数组,并完成了初始化,数组包含了十个元素.
  void delay(uint x)//定义一个延迟子程序,延迟的具体时间和单片机的主频有关,根据经验后面选择了delay(10)的延迟,符合本程序的要求
  {
  uint i,j;//声明两个无符号8位整数,i j 的范围都是0~255
  for(i=0;i