<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > AVR獨立按鍵C程序

AVR獨立按鍵C程序

作者: 時(shí)間:2016-11-29 來(lái)源:網(wǎng)絡(luò ) 收藏
#include
#include
#define uchar unsigned char
#define uint unsigned int
uint num1;
#pragma data:code//定義程序存在ROM里面
const table[]={
0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90,
0x88,0x83,0xc6,0xa1,0x86,
0x8e
};
/***********************************************/
/*******************延時(shí)子程序******************/
/***********************************************/
void delay(uchar z)
{
uchar x,y;
for(x=0;x<10;x++)
for(y=0;y}
/***********************************************/
/*******************顯示子程序******************/
/***********************************************/
void xian(uint num)
{
uchar i;
for(i=0;i<50;i++)//顯示速度
{
PORTA=table[num/1000];//千位
PORTC&=~BIT(3);
delay(12);
PORTC|=BIT(3);
PORTA=table[num%1000/100];//百位
PORTC&=~BIT(2);
delay(12);
PORTC|=BIT(2);
PORTA=table[num%100/10];//十位
PORTC&=~BIT(1);
delay(12);
PORTC|=BIT(1);
PORTA=table[num%10];//個(gè)位
PORTC&=~BIT(0);
delay(12);
PORTC|=BIT(0);
}
}
/***********************************************/
/***************按鍵按下判斷子程序*************/
/***********************************************/
uchar key()
{
uchar i;//定義一個(gè)變量來(lái)存數
DDRD&=0Xf0;//設置PD IO口為輸入方式,高4位不管
PORTD|=0X0f;//設置IO口低4位為輸入方式且帶上拉電阻,即高電平
i=PIND;//讀出IO口的狀態(tài)
i&=0x0f;//將高4位屏蔽掉,從而得到低四位
if(i!=0x0f)//判斷按鍵是否有按下?tīng)顟B(tài)
return 1;//當有按鍵按下時(shí),狀態(tài)就不是0x0f,從而返回值1
else
return 0;//如果還是那個(gè)狀態(tài),則直接返回0
}
/***********************************************/
/*******************鍵值處理子程序**************/
/***********************************************/
void keyy()
{
uchar k;//定義一個(gè)變量來(lái)存數
if(key()==1)//如果鍵值處理函數為1則說(shuō)明有按鍵按下了
{
delay(1);//消抖一下
if(key()==1)//再次判斷一下
{
k=PIND;//讀出IO口的狀態(tài)
k&=0x0f;//同樣將它高4位屏蔽掉
switch(k)//來(lái)判斷具體鍵值,從而實(shí)現各種功能
{
case 0x0e:num1++;//如果低4位第1個(gè)鍵按下了,就將計數器加1
break;//返回
case 0x0d:num1--;//如果低4位第2個(gè)鍵按下了,就將計數器減1
break;
case 0x0b:num1=0;//如果低4位第3個(gè)鍵按下了,就將計數器清0
break;
}
while(key()==1);//按鍵松手檢測,即如果鍵值處理程序為1則說(shuō)明有鍵按下,
//如果還有鍵按下,則一直等待。
}
}
}
/***********************************************/
/*******************主程序*********************/
/***********************************************/
void main()
{
DDRA=0xff;//設置PA口為輸出
DDRC=0xff;//設置PC口為輸出
num1=1234;//計數器初值定義
while(1)
{
keyy();//調用按鍵處理子程序
xian(num1); //調用顯示子程序
}


關(guān)鍵詞: AVR獨立按

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>