单片机开关程序

[复制链接]
2401|3
 楼主| link424 发表于 2009-10-25 22:29 | 显示全部楼层 |阅读模式
我觉得这个程序没错,但是在仿真的时候不知道为什么总是不能实现开关控制LED的目的,LED就是不变
#include<AT89x51.H>
void delay()
{unsigned int i;
for(i=0;i<20000;i++);
}
void main()
{int   k;
while(1)
{ k=P1^0;
if (k==0)
P0=0x02;
else
   P0=0x01;
   }
   }
duojinian 发表于 2009-10-26 10:16 | 显示全部楼层
DELAY TIME
xianghou 发表于 2009-10-26 15:39 | 显示全部楼层
1、在读P1口电平前要先输出1的吧,否则读进来的值可能不正确
2、读取按键时要进行防抖处理
3、也就是说在没有按键按下时,所有口的电平相同(同为0或同为)有按键按下后P1口的所有脚的的电平同时改变,你的P0口的输出才能在1、2变
红金龙吸味 发表于 2009-10-26 16:02 | 显示全部楼层
sbit LED = P1^0 ;

while(1)语句上面 加一条 LED = 1 ;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部