找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2988|回复: 9
收起左侧

单片机独立按键代码没错误但单片机毫无反应?

[复制链接]
ID:489764 发表于 2019-3-13 10:55 | 显示全部楼层 |阅读模式
自己写的代码,想实现独立按键按下LED灯亮起,语法都没错误但是单片机毫无反应不知道原因
单片机1602液晶显示屏 也是语法么有错误但是单片机毫无反应

单片机代码.doc

15.5 KB, 下载次数: 11

回复

使用道具 举报

ID:489764 发表于 2019-3-13 10:56 | 显示全部楼层
#include<reg52.h>
sbit key_5=P3^7;
sbit le=P2^5;
#define uchar unsigned char
void delay(uchar z)
{
        uchar x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}
void main()
{
        le=1;
        while(1)
        {
     
                if(key_5==0)
                 {
                   delay(5);
                        P0=0xfe;
                        delay(5);
                       
                 }
                else
                P0=0xff;
        }
}
回复

使用道具 举报

ID:489764 发表于 2019-3-13 10:57 | 显示全部楼层
#include<reg52.h>
#define uchar unsigned char
uchar num;
sbit lcd_rs=P3^5;
sbit lcd_en=P3^4;
sbit dula=P2^6;
sbit wela=P2^7;
uchar code table[]="What Fuck!!";
uchar code table1[]="2019 3 13";
void delay(uchar z)
{
        uchar x,y;
        for(x=z;x<0;x--)
                for(y=110;y<0;y--);
}
void write_com(uchar com)
{
        lcd_rs=0;
        P0=com;
        delay(5);
        lcd_en=1;
        delay(5);
        lcd_en=0;
               
}
void write_data(uchar date)
{
        lcd_rs=0;
        P0=date;
        delay(5);
        lcd_en=1;
        delay(5);
        lcd_en=0;
               
}
void init()
{
        dula=0;
        wela=0;
        lcd_en=0;
        write_com(0x38);
        write_com(0x0f);
        write_com(0x06);
        write_com(0x01);
}
void main()
{
  init();
  write_com(0x80);
  for(num=0;num<11;num++)
  {
  write_data(table[num]);
  }
  write_com(0x80+0x40);
   for(num=0;num<9;num++)
  {
  write_data(table1[num]);
  }

}
回复

使用道具 举报

ID:10947 发表于 2019-3-13 11:24 | 显示全部楼层
你的LED接在P2.5,你却操作P0口当然不会亮了
回复

使用道具 举报

ID:483991 发表于 2019-3-13 13:05
这也叫代码没问题?说话时要给自己留点退路!现在搞得多尴尬啊!明明是要操作P2口,你却偏偏跑到P0口!关键的问题还是很低级的错误。

ID:489764 发表于 2019-3-13 13:33 | 显示全部楼层
lfc315 发表于 2019-3-13 11:24
你的LED接在P2.5,你却操作P0口当然不会亮了

你看错了 我是把LED的锁存器的使能端打开了
回复

使用道具 举报

ID:489600 发表于 2019-3-13 13:37 | 显示全部楼层
按键引脚连接正确,液晶屏引脚注意正反,LED引脚连接正确,有好多小细节需要多注意,多次调试就能运行正常。玩这个就要多尝试。
回复

使用道具 举报

ID:490031 发表于 2019-3-13 15:48 来自手机 | 显示全部楼层
你看一下你的引脚连对了么
回复

使用道具 举报

ID:10947 发表于 2019-3-13 17:06 | 显示全部楼层
可以小帅 发表于 2019-3-13 13:33
你看错了 我是把LED的锁存器的使能端打开了

那你得把电路也放上来 不然不知道你是怎么连接的
回复

使用道具 举报

ID:466164 发表于 2019-3-13 19:53 | 显示全部楼层
  delay(5);
5毫秒你肉眼看不到变化的,最少50以上你改200试试。
回复

使用道具 举报

ID:516588 发表于 2019-4-24 18:50 来自手机 | 显示全部楼层
前面定义了le,在if循环中直接令le为1或为0就行了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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