注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

小明砸乱弹琴

一个工程师的日常

 
 
 

日志

 
 
关于我

喜欢哲学、几何学、心理学、物理学、音乐、简单的文字及一切有趣的事物。热爱幻想,追求思想和学术自由,热衷简单平凡的生活和发现美好的事物。

网易考拉推荐
 
 

单键控制闪灯(单片机控制)  

2010-03-02 20:51:21|  分类: 单片微机 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 

 

寒假的时候,在家窝在阁楼里,从零学习的MSC51单片机,自己编了一个小程序,与大家分享一下。由于时间还很短,没有什么编程的经验,还请各位前辈们批评指正。

设计要求:某一按键按下2秒后灯闪,再次按下此键灯停止闪烁。

说明:基于89S52型单片机,锐志开发板2.0,12M晶振,编程语言:C51。

Ps:最得意的地方是在用了两个连续的循环,而不是循环的套嵌(之前试过,但由于是单键没能够跳出循环而失败),由于计时的要求没有那么的严格就没有使用计时器。

             #include<reg52.h>   //头文件

       sbit P00=P0^0;               //控制灯

       sbit P14=P1^4;               //按键

       void delay()              //延时函数,约延时1ms

 {   

   unsigned char j;

         for(j=0;j<225;j++)

               ;

  }

  void delayd()              //延时函数,约延时0.1s

 

  {  unsigned int  t=100;

     while(t--)

   {

 unsigned char j;

         for(j=0;j<225;j++)

               ; }

 

  }

       unsigned int i;

              main()           //主函数

              { P00=0;

              while(1)

       {            i=0;

       while(P14==0)

              { delay();

                 i++;

                if(i==2000)          //是否到达两秒

              {       while(P14==0)

             {

              P00=1;

           delayd();

            P00=0;

           delayd();

                }

               while(1)            //按键释放后继续闪灯

               {

               P00=1;

           delayd();

            P00=0;

           delayd();

              if(P14==0)

              break;

              }

              break;

               }

               

              }

             

              }

             

       }    

      

         

  评论这张
 
阅读(435)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017