?? www.ourhc.cn.c
字號:
/********************************************************************
匯誠科技
實現功能:按鍵識別的應用
使用芯片:STC12C5A60S2
晶振:11.0592MHZ
波特率:9600
編譯環境:Keil
作者:zhangxinchun
網站:www.ourhc.cn
淘寶店:
匯誠科技 http://ourhc.taobao.com
鄭興電子直銷部 http://shop68451856.taobao.com
【聲明】此程序僅用于學習與參考,引用請注明版權和作者信息!
*********************************************************************/
#include<reg52.h> //庫文件
#define uchar unsigned char//宏定義無符號字符型
#define uint unsigned int //宏定義無符號整型
/********************************************************************
初始定義
*********************************************************************/
uchar count; //按鍵計數,每按一下,count 加1
uchar a,b; //定義字符型變量
uchar temp; //定義字符型變量
sbit BY1=P2^0; //定義按鍵的輸入端(為單片機P2口的P2.1按鍵)
/********************************************************************
延時函數
*********************************************************************/
void delay10ms(void) //延時程序
{
uchar i,j;
for(i=20;i>0;i--)
for(j=248;j>0;j--);
}
/********************************************************************
按鍵判斷函數
*********************************************************************/
void key() //按鍵判斷程序
{
if(BY1==0) //判斷是否按下鍵盤
{
delay10ms(); //延時,軟件去干擾
if(BY1==0) //確認按鍵按下
{
count++; //按鍵計數加1
if(count==8) //計8次重新計數
{
count=0;//將count 清零
}
}
while(BY1==0);//按鍵鎖定,每按一次count 只加1.
}
}
/********************************************************************
主函數
*********************************************************************/
void main()
{
temp=0xfe; //定義為11111110
while(1)
{
key(); //調用按鍵判斷函數
a=temp<<count;//左移count位
b=temp>>(8-count);//右移8-count位
P0=a|b; //求值
}
}
/********************************************************************
結束
*********************************************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -