?? key.c
字號:
#include <reg52.h>//加載頭文件
#include<intrins.h>
#define uchar unsigned char//變量類型的宏定義
#define uint unsigned int//變量類型的宏定義
sbit LED=P1^2;
/*------------------鍵盤調時參數-------------*/
sbit key_adj=P1^3;//調時選擇鍵:按下依次選擇年月日時分秒進行調時
sbit key_num=P1^4;//調時鍵:對年月日時分秒進行調時
uchar key_adj_flag=0; //,key_num_flag
//-------------
//延時子程序
//-------------
void delay(uint t)
{
uint i;
uint j;
for(j=0;j<t;j++);
for(i=0;i<200;i++);
_nop_();
}
/*調時選擇鍵key_adj檢測子程序*/
void key_01()
{
uchar flag01;
flag01=key_adj; //讀調時選擇鍵key_adj狀態
delay(1); //clock-090209v2
flag01=key_adj;
LED=0;//----------------調試是否按下按鍵
while(flag01==0)//if(flag01==0) //檢測到調時選擇鍵key_adj被按下
{
flag01=key_adj;//再次讀調時選擇鍵key_adj狀態
delay(1); //clock-090209v2
flag01=key_adj;
LED=1;//----------------調試是否按下按鍵
if(flag01==1) //檢測到調時選擇鍵key_adj被松開
{
key_adj_flag++; //調時選擇鍵key_adj標志加1
//key_num_flag=0; //調時鍵key_num標志清0
}
}
if(key_adj_flag==4) key_adj_flag=0;
}
/*調時鍵key_num檢測子程序*/
void key_02()
{
uchar flag02;
if(key_adj_flag!=0) //若調時選擇鍵key_adj被按下
{
flag02=key_num; //讀調時鍵key_num狀態
delay(1);//clock-090209v2
flag02=key_num;
LED=0;//----------------調試是否按下按鍵
while(flag02==0)//if(flag02==0) //檢測到調時鍵key_num被按下
{
flag02=key_num; //再次讀調時鍵key_num狀態
delay(1);//clock-090209v2
flag02=key_num;
LED=1;//----------------調試是否按下按鍵
if(flag02==1) //檢測到調時鍵key_num被松開
{
//key_num_flag++; //調時鍵key_num標志加1
// adjust(); /*調時子程序*/
}
}
}
}
/*鍵盤掃描,調時*/
void key_scan(void)
{
key_01();//調時選擇鍵key_adj檢測子程序
key_02();//調時鍵key_num檢測子程序
}
/*******************************************************************************/
/***********************鍵盤調時控制子程序---結束*******************************/
/*******************************************************************************/
/****************主程序*******************/
void main()
{
key_adj=1;
key_num=1;
LED=0;
delay(9000);
LED=1;
while(1)
{
key_scan();//鍵盤調時控制
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -