标题: 请大神指点我第一次写的51单片机的程序,会不会有问题 [打印本页]

作者: miao22457    时间: 2019-3-21 14:31
标题: 请大神指点我第一次写的51单片机的程序,会不会有问题
STC89C52RC,说明一下两个任务没有关连,只是想放在一个单片机上实现,
初学51,如果有大神有更好的,请指点,谢谢
目地:1.单片机(1-10分钟)开关一次6个继电器控制的LE);2.6个单独按键控制一个LED,一个或者多个按键按下就开灯。
P0^0连接LED
P1^0-P1^5连接按键
P2连接的继电器
#include <reg52.h>
unsigned long i;
sbit led=P0^0;
sbit k1=P1^0;
sbit k2=P1^1;
sbit k3=P1^2;
sbit k4=P1^3;
sbit k5=P1^4;
sbit k6=P1^5;
void main(void)
{
        while(1)
        {
                led=1;
                P1=0XFF;
                if(k1==0)
                        led=0;
                else if(k2==0)
                        led=0;
                else if(k3==0)
                        led=0;
                else if(k4==0)
                        led=0;
                else if(k5==0)
                        led=0;
                else if(k6==0)
                        led=0;
                else
                        led=1;
                P2=0x00;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
                i=1500000;
                while(i--);
                P2=0xff;
                i=30000;
                while(i--);                                                                                       
        }
}


作者: 15667079525    时间: 2019-3-21 14:31
第一点:按键是需要消抖的,你每次是直接判断不太准确;第二点:你把led=1;放在循环里面,但是你每次按键之后没有延时,就会导致灯会变得很暗。




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