51/AVR单片机技术驿站!  <在线翻译>     便利工具    特色网址   无弹窗、无插件的绿色站点...  英才招聘   学历查询  喜欢>>收藏我站 

当前位置:首页 > 单片机源码 > 详细内容
闪烁小灯C程序
作者:佚名  发布时间:2009/11/14  阅读次数:1061  字体大小: 【】 【】【
//**********************//            
//       闪烁小灯C程序         //
//**********************//
// 使用AT89C2051单片机,P1口接发光二极管
// P3口接三个按键
#include"reg51.h"                     //头文件
#define char unsigned char
char key,keytmp;                       //扫描键值
//
//
//*****按键扫描函数*********//
void scan()
  {
  key=(~P3)&0x0f;                     //读入键值
  if(key!=0)                               //
  {
   while(((~P3)&0x0f)!=0);   //等待按键释放
   keytmp=key;                           // 键值存放
   }
  }
//
//
//*******延时函数*********//
void delay(int t)
{
int k,j;
for(k=0;k<t;k++)
for(j=0;j<100;j++)
scan();
}
//
//
//*******功能函数-逐点闪亮*********//
fun0()
   {
   int i,s;
     s=0xfe;                    
     for(i=0;i<8;i++)
           {
           P1=s;
     delay(100);
             s=s<<1;
             s=s|0x01;
             }
     }
//
//
//*******功能函数-依次点亮*********//
fun1()
{
     int i,s;
     s=0xfe;                        
     for(i=0;i<8;i++)
           {
           P1=s;
     delay(100);
             s=s<<1;
               }
}
//
//
//*******功能函数-交叉闪亮*********//
fun2()
{
     int i,s;
     s=0x55;                        
     for(i=0;i<2;i++)
           {
           P1=s;
     delay(100);
             s=~s;
             }
}
//
//
//**********************//            
//             主函数               //
//**********************//
main()
{
keytmp=1;                           //上电自动演示功能(逐点闪亮)
P3=0xff;                             //初始值,读入状态
while(1)
  {
   switch(keytmp)
     {
       case 1:{fun0();break;}
       case 2:{fun1();break;}
       case 4:{fun2();break;}
  case 8:{scan();P1=0xff;break;}   //暂停
       default:{break;}
     }    
  }
}
//
//
//***************结束******************//
我要评论
  • 匿名发表
  • [添加到收藏夹]
  • 发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态:未登录
最新评论
所有评论[0]
    暂无已审核评论!

网站导航 管理登陆 ┊ 免责声明 问题反馈  友链说明
本站部分内容来自网络共享资源,如有冒犯您的权利请来信告之删除或纠正!
不得对本站进行复制、盗链或镜像,转载内容须获得同意或授权;欢迎友情链接、站务合作!

    我要报警 Alexa
 mcusy_cn#126.com (请把#改成@) 交流:522422171
本站学习交流群:138..158(高级群1-)、77930286(高级群2)、61804809(群3)
Copyright© MCUSY All Rights Reserved
本站网警备案号: WZ36040002485
  ICP备案证书号:粤ICP备09034963号