铁血匠心的笔记 https://passport2.21ic.com/?550600 [收藏] [复制] [RSS]

日志

简单的按键控制灯

已有 690 次阅读2010-3-17 08:09 |个人分类:c8051f340程序|系统分类:单片机| c8051f340, key, led

/******************************************************************
C8051F340TBC开发板 按键控制LED简单程序
******************************************************************/
#include <c8051f340.h>
       
#define uchar unsigned char
#define uint unsigned int


void port_init (void);  //端口初始化


sbit key0= P2^0;   //定义按键0
sbit key1= P2^1;   //定义按键1
sbit led0= P2^2;   //定义LED0
sbit led1= P2^3;   //定义LED1


void delay(uint xms)  
{
 uint i,j;
 for(i=xms;i>0;i--)
  for(j=113;j>0;j--);
}
/******************************************************************
主程序
******************************************************************/
void main (void)
{
 PCA0MD &= ~0x40;  //PCA方式寄存器,关闭看门狗定时器
 OSCICN |= 0x03;   //内部12M晶振
 port_init ();   //端口初始化
 while(1)
 {
  P2=0x03;
  if(key0==0)
  {
   delay(10);
   if(key0==0)
   {
    led0=1;
    while(!key0);
   }
  }
  if(key1==0)
  {
   delay(10);
   if(key1==0)
   {
    led1=1;
    while(!key1);
   }
  }
 } 
}
/******************************************************************
端口初始化程序
******************************************************************/
void port_init (void)
{
 P0SKIP  = 0xFF;  //跳过前面I/O端口
 P1SKIP  = 0xFF;  //跳过前面I/O端口
 XBR1  = 0x40;  // 使能交叉开关,CEX0,连到P2.2
 P2MDOUT |= 0x0c;  // 使能P2.2,P2.3为推挽输出
}


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)