微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 菜鸟求助,能帮我把下面的程序注释一下吗,详细点

菜鸟求助,能帮我把下面的程序注释一下吗,详细点

时间:10-02 整理:3721RD 点击:

#include <reg52.h> //51芯片管脚定义头文件

#include <intrins.h>//内部包含延时函数 _nop_();

#define uchar unsigned char

#define uint unsigned int

uchar display[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xBF,0xBF,0x89,0x86,0xC7,0xC7,0xC0,0xBF,0xBF,

// --H E L L O -

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};

uchar shift,j=0;

/********************************************************

ms延时函数

********************************************************/

void delayms(uint ms)

{

uchar t;

while(ms--)

{

for(t = 0; t < 120; t++);

}

}

/*******************************************************

显示函数

*******************************************************/

void disp(void)

{

uchar i;

shift=0x7f;

for(i=8; i>0; i--)

{   P2=0xff ;

P0=display[i+j];

P2=shift;

shift=(shift>>1)|0x80;

delayms(1);

}

}

/*******************************************************

主函数

*******************************************************/

void main()

{

uchar k;

P0=0xFF;

P2=0xFF;

while(1)

{

for(j=0;j<17;j++)

{

for(k=0;k<125;k++)

disp();

}

}

}


#include <reg52.h> //51芯片管脚定义头文件
#include <intrins.h>//内部包含延时函数 _nop_();
#define uchar unsigned char  //宏定义
#define uint unsigned int
uchar display[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xBF,0xBF,0x89,0x86,0xC7,0xC7,0xC0,0xBF,0xBF,
// --H E L L O -
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; //定义数组,估计是H E L L O显示
uchar shift,j=0; //定义变量
/********************************************************
ms延时函数
********************************************************/
void delayms(uint ms)
{
uchar t;
while(ms--)
{
for(t = 0; t < 120; t++);
}
}
/*******************************************************
显示函数
*******************************************************/
void disp(void)  
{
uchar i;
shift=0x7f; //赋值
for(i=8; i>0; i--) //循环8次  起到循环扫描
{   P2=0xff ;
P0=display[i+j]; //把数组里相应的值赋给P0口
P2=shift;
shift=(shift>>1)|0x80;  //左移一位,高位置1  //对这不太理解。具体还得看你电路编程原理
delayms(1);  //短暂延时
}
}
/*******************************************************
主函数
*******************************************************/
void main()
{
uchar k;
P0=0xFF;
P2=0xFF;  //接口初始化
while(1)
{
for(j=0;j<17;j++)  //下面就是循环扫描显示等了
{
for(k=0;k<125;k++)
disp(); //调用显示函数
}
}
}
//不是自己做的。也只能这样注释了

这是数码管显示的么

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top