⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex5_7.c

📁 单片机应用技术(C语言版)程序源代码.rar
💻 C
字号:
//程序:ex5_7.c
//功能:独立式按键程序
#include  "REG51.H"
//函数名:delay10ms
//函数功能:采用定时器1实现延时10ms
//形式参数:无
//返回值:无
void delay()		//定时10ms,采用定时器1,工作方式1实现
{
   TH1=0xd8;		//设置10ms定时初值
   TL1=0xf0;					
   TR1=1;		//启动定时器1
   while(!TF1);		//判断10ms定时时间到
   TF1=0;
}  			   	
void main()		//主函数
{ 	 
   unsigned char i;
   TMOD=0x10;		//设置定时器1工作方式1
   P1=0xff;		//P1口作为输入口,置全1
   i=0;						
   while(1) {
      while(i==0) 	//循环判断是否有键按下
      {
         i=P1;		//读按键状态
   	 i=~i;		//按键状态取反
      }
      delay(); 		//有键按下,延时10ms去抖
      do {
   	   i=P3;	//再次读按键状态
   	   i=~i;	//按键状态取反
   	 } while(i==0);
      switch(i)		//根据键值调用不同的处理函数
      {
         case 0x01: key1();break;	//调用按键1子函数,该函数此处省略
         case 0x02: key2();break;	//调用按键2子函数,该函数此处省略
         case 0x04: key3();break;	//调用按键3子函数,该函数此处省略
         case 0x08: key4();break;	//调用按键4子函数,该函数此处省略
         case 0x10: key5();break;	//调用按键5子函数,该函数此处省略
         case 0x20: key6();break;	//调用按键6子函数,该函数此处省略
         case 0x40: key7();break;	//调用按键7子函数,该函数此处省略 
         case 0x80: key8();break;	//调用按键8子函数,该函数此处省略
         default:break;
      }
          }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -