标题: stc15w201S单片机控制一个普通IO口的工程 求给一个 [打印本页]

作者: 28714700225    时间: 2018-5-23 11:43
标题: stc15w201S单片机控制一个普通IO口的工程 求给一个
第一次使用,在官方下载程序烧入后,感觉单片机工作不正常。谁有例子工程,麻烦给一个,控制一个普通IO口即可

作者: 252622979    时间: 2018-5-23 12:43
#include <intrins.h>

sfr P3      = 0xB0;

bit k1_flag;
bit k2_flag;
bit k3_flag;
bit k4_flag;
bit k5_flag;
bit k6_flag;
bit flag;

bit biaozhi1;
bit biaozhi2;
bit biaozhi3;
bit biaozhi4;
bit biaozhi5;
bit biaozhi6;

bit k1_flag_;
bit k2_flag_;
bit k3_flag_;
bit k4_flag_;
bit k5_flag_;
bit k6_flag_;

sbit OUT1=P3^2;
sbit OUT2=P3^1;
sbit OUT3=P3^0;
sbit OUT4=P3^2;
sbit OUT5=P3^1;
sbit OUT6=P3^0;
sbit IN1=P3^3;
sbit IN2=P3^4;
sbit IN3=P3^5;
sbit IN4=P1^3;
sbit IN5=P1^4;
sbit IN6=P1^5;

main()
{
              OUT1=0;
                                OUT2=0;
                                OUT3=0;
                          OUT4=0;
                                OUT5=0;
                                OUT6=0;
        IN1=1;
        IN2=1;
        IN3=1;
  IN4=1;
        IN5=1;
        IN6=1;

        P3M0=0X07;//2 3        强输出

while(1)
{
           if(flag==0){
                if((IN1==0)&&(k1_flag==0))
                {
                 delay(10);
                        if(IN1==0)
                 {
                      biaozhi1=!biaozhi1;
                         OUT1=biaozhi1;
                                k1_flag=1;
                 }
                }
                if(IN1==1)
                k1_flag=0;

                if((IN2==0)&&(k2_flag==0))
                {
                 delay(10);
                        if(IN2==0)
                 {
                         biaozhi2=!biaozhi2;
                         OUT2=biaozhi2;
                                k2_flag=1;
                 }
                }
                if(IN2==1)
                k2_flag=0;

                if((IN3==0)&&(k3_flag==0))
                {
                 delay(10);
                        if(IN3==0)
                 {
                         biaozhi3=!biaozhi3;
                         OUT3=biaozhi3;
                                k3_flag=1;
                 }
                }
                if(IN3==1)
                k3_flag=0;

                if((IN4==0)&&(k4_flag==0))
                {
                 delay(10);
                        if(IN4==0)
                 {
                      biaozhi4=!biaozhi4;
                         OUT4=biaozhi4;
                                k4_flag=1;
                 }
                }
                if(IN4==1)
                k4_flag=0;

                if((IN5==0)&&(k5_flag==0))
                {
                 delay(10);
                        if(IN5==0)
                 {
                         biaozhi5=!biaozhi5;
                         OUT5=biaozhi5;
                                k5_flag=1;
                 }
                }
                if(IN5==1)
                k5_flag=0;

                if((IN6==0)&&(k6_flag==0))
                {
                 delay(10);
                        if(IN6==0)
                 {
                         biaozhi6=!biaozhi6;
                         OUT6=biaozhi6;
                                k6_flag=1;
                 }
                }
                if(IN6==1)
                k6_flag=0;

}       
else{
   if((IN1==0)&&(k1_flag_==0))
                {
                 delay(10);
                        if(IN1==0)
                 {
                    OUT1=1;
                                OUT2=0;
                                OUT3=0;
                          OUT4=0;
                                OUT5=0;
                                OUT6=0;
                                k1_flag_=1;
                 }
                }
                if(IN1==1)
                k1_flag_=0;

                if((IN2==0)&&(k2_flag_==0))
                {
                 delay(10);
                        if(IN2==0)
                 {
                         OUT1=0;
                                OUT2=1;
                                OUT3=0;
                          OUT4=0;
                                OUT5=0;
                                OUT6=0;
                                k2_flag_=1;
                 }
                }
                if(IN2==1)
                k2_flag_=0;

                if((IN3==0)&&(k3_flag_==0))
                {
                 delay(10);
                        if(IN3==0)
                 {
                         OUT1=0;
                                OUT2=0;
                                OUT3=1;
                          OUT4=0;
                                OUT5=0;
                                OUT6=0;
                                k3_flag_=1;
                 }
                }
                if(IN3==1)
                k3_flag_=0;

                if((IN4==0)&&(k4_flag_==0))
                {
                 delay(10);
                        if(IN4==0)
                 {
                    OUT1=0;
                                OUT2=0;
                                OUT3=0;
                          OUT4=1;
                                OUT5=0;
                                OUT6=0;
                                k4_flag_=1;
                 }
                }
                if(IN4==1)
                k4_flag_=0;

                if((IN5==0)&&(k5_flag_==0))
                {
                 delay(10);
                        if(IN5==0)
                 {
                         OUT1=0;
                                OUT2=0;
                                OUT3=0;
                          OUT4=0;
                                OUT5=1;
                                OUT6=0;
                                k5_flag_=1;
                 }
                }
                if(IN5==1)
                k5_flag_=0;

                if((IN6==0)&&(k6_flag_==0))
                {
                 delay(10);
                        if(IN6==0)
                 {
                         OUT1=0;
                                OUT2=0;
                                OUT3=0;
                          OUT4=0;
                                OUT5=0;
                                OUT6=1;
                                k6_flag_=1;
                 }
                }
                if(IN6==1)
                k6_flag_=0;
}
}
}               
}
作者: devcang    时间: 2018-5-23 13:20

较新版本的下载工具,还有不少例子了



作者: yang.kun    时间: 2018-5-23 13:27
推荐一个门禁系统的源码程序,谢谢啦




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