永发信息网

【key1】...#defineucharunsignedchar#defineuintunsignedintsbitkey1=P1^...

答案:2  悬赏:60  手机版
解决时间 2021-02-03 13:58
  • 提问者网友:雪舞兮
  • 2021-02-02 18:31
【key1】...#defineucharunsignedchar#defineuintunsignedintsbitkey1=P1^...
最佳答案
  • 五星知识达人网友:有你哪都是故乡
  • 2021-02-02 20:00
【答案】   这段代码是单片机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
全部回答
  • 1楼网友:一秋
  • 2021-02-02 21:32
我学会了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯