找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1991|回复: 9
打印 上一主题 下一主题
收起左侧

新人提问 能帮我看看 独立键盘 控制 流水灯开关的程序

[复制链接]
跳转到指定楼层
楼主
ID:229724 发表于 2017-8-28 17:02 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
硬件没有问题,程序能生成hex文件,但为什么我按下键盘时灯没有亮?

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

image.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:229724 发表于 2017-8-28 17:22 来自手机 | 只看该作者
重新照了

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

image.jpg
回复

使用道具 举报

板凳
ID:229724 发表于 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--);
}
回复

使用道具 举报

地板
ID:190832 发表于 2017-8-28 17:51 | 只看该作者
你这写的什么烂程序,连个主函数都没有,程序怎么可能执行???哪有你这样在子函数while(1)的。建议你先学一下C语言的基本语法。
回复

使用道具 举报

5#
ID:151348 发表于 2017-8-28 18:08 | 只看该作者
这个图看起来好难受,下次直接粘贴程序
你这程序没有main函数
回复

使用道具 举报

6#
ID:229724 发表于 2017-8-28 22:45 来自手机 | 只看该作者
hange_v 发表于 2017-8-28 17:51
你这写的什么烂程序,连个主函数都没有,程序怎么可能执行???哪有你这样在子函数while(1)的。建议你先学 ...

好的,谢谢
回复

使用道具 举报

7#
ID:229724 发表于 2017-8-28 22:46 来自手机 | 只看该作者
imxuheng 发表于 2017-8-28 18:08
这个图看起来好难受,下次直接粘贴程序
你这程序没有main函数

好的,谢谢
回复

使用道具 举报

8#
ID:105206 发表于 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);
                        }         
                }
                     
        }               
}
回复

使用道具 举报

9#
ID:220342 发表于 2017-8-29 11:37 | 只看该作者
楼主还是先去学下C语言的规则,再写,主函数不是写成 int main()的,改为void main()。另外如果你初学,先写个简单的,从点亮第一个LED练起。
回复

使用道具 举报

10#
ID:229884 发表于 2017-8-29 15:57 | 只看该作者
缺少主函数(main)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表