标题: 单片机独立按键代码没错误但单片机毫无反应? [打印本页]
作者: 可以小帅 时间: 2019-3-13 10:55
标题: 单片机独立按键代码没错误但单片机毫无反应?
自己写的代码,想实现独立按键按下LED灯亮起,语法都没错误但是单片机毫无反应不知道原因
单片机1602液晶显示屏 也是语法么有错误但是单片机毫无反应
-
-
单片机代码.doc
15.5 KB, 下载次数: 11
作者: 可以小帅 时间: 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;
}
}
作者: 可以小帅 时间: 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]);
}
}
作者: lfc315 时间: 2019-3-13 11:24
你的LED接在P2.5,你却操作P0口当然不会亮了
作者: 可以小帅 时间: 2019-3-13 13:33
你看错了 我是把LED的锁存器的使能端打开了
作者: lilili171 时间: 2019-3-13 13:37
按键引脚连接正确,液晶屏引脚注意正反,LED引脚连接正确,有好多小细节需要多注意,多次调试就能运行正常。玩这个就要多尝试。
作者: llccll 时间: 2019-3-13 15:48
你看一下你的引脚连对了么
作者: lfc315 时间: 2019-3-13 17:06
那你得把电路也放上来 不然不知道你是怎么连接的
作者: 7358655 时间: 2019-3-13 19:53
delay(5);
5毫秒你肉眼看不到变化的,最少50以上你改200试试。
作者: 行走在消逝中1 时间: 2019-4-24 18:50
前面定义了le,在if循环中直接令le为1或为0就行了
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |