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

2019-07-15 23:21发布

#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(); } } }
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
冰葑世纪
1楼-- · 2019-07-16 02:31
#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(); //调用显示函数
}
}
}

//不是自己做的。也只能这样注释了

评分

参与人数 1积分 +1 收起 理由 dongyumin + 1 您的付出是论坛的动力,感谢您一直支持!.

查看全部评分

liwenbiao
2楼-- · 2019-07-16 03:59
这是数码管显示的么

一周热门 更多>