标题: 新人提问 能帮我看看 独立键盘 控制 流水灯开关的程序 [打印本页]

作者: 一载红尘人    时间: 2017-8-28 17:02
标题: 新人提问 能帮我看看 独立键盘 控制 流水灯开关的程序
硬件没有问题,程序能生成hex文件,但为什么我按下键盘时灯没有亮?

image.jpg (76.23 KB, 下载次数: 37)

image.jpg

作者: 一载红尘人    时间: 2017-8-28 17:22
重新照了

image.jpg (76.05 KB, 下载次数: 38)

image.jpg

作者: 一载红尘人    时间: 2017-8-28 17:27
#include "reg52.h"                         
#include "intrins.h"

typedef unsigned int u16;


#define uint unsigned int
#define uchar unsigned char

void delayms(uint);
uchar aa;

sbit k1=P3^1;                 

void delay(u16 i)
{
        while(i--);       
}
void keypros()
{
        if(k1==0)                 
        {       
                delay(10);   
                if(k1==0)       
                {
                        aa=0xfe;
                        while(1)
                        {
                                P1=aa;
                                delayms(500);
                                aa=_crol_(aa,1);
                        }         
                }
                while(!k1);         
        }               
}
void delayms(uint xms)
{
        uint  i,j;
        for(i=xms;i>0;i--)
                for(j=110;j>0;j--);
}

作者: hange_v    时间: 2017-8-28 17:51
你这写的什么烂程序,连个主函数都没有,程序怎么可能执行???哪有你这样在子函数while(1)的。建议你先学一下C语言的基本语法。
作者: imxuheng    时间: 2017-8-28 18:08
这个图看起来好难受,下次直接粘贴程序
你这程序没有main函数
作者: 一载红尘人    时间: 2017-8-28 22:45
hange_v 发表于 2017-8-28 17:51
你这写的什么烂程序,连个主函数都没有,程序怎么可能执行???哪有你这样在子函数while(1)的。建议你先学 ...

好的,谢谢
作者: 一载红尘人    时间: 2017-8-28 22:46
imxuheng 发表于 2017-8-28 18:08
这个图看起来好难受,下次直接粘贴程序
你这程序没有main函数

好的,谢谢
作者: jubaolun    时间: 2017-8-29 09:06
#include "reg52.h"                        
#include "intrins.h"

typedef unsigned int u16;


#define uint unsigned int
#define uchar unsigned char

void delayms(uint);
uchar aa;

sbit k1=P3^1;                 

void delay(u16 i)
{
        while(i--);        
}

void delayms(uint xms)
{
        uint  i,j;
        for(i=xms;i>0;i--)
                for(j=110;j>0;j--);
}
int main()
{
        if(k1==0)                 
        {        
                delayms(10);   
                if(k1==0)        
                {
                       while(!k1);  
                        aa=0xfe;
                        while(1)
                        {
                                P1=aa;
                                delayms(500);
                                aa=_crol_(aa,1);
                        }         
                }
                     
        }               
}
作者: moon84523    时间: 2017-8-29 11:37
楼主还是先去学下C语言的规则,再写,主函数不是写成 int main()的,改为void main()。另外如果你初学,先写个简单的,从点亮第一个LED练起。
作者: 妮妮123    时间: 2017-8-29 15:57
缺少主函数(main)




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1