久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
單片機按鍵掃描程序
[打印本頁]
作者:
daxiao
時間:
2015-3-21 16:45
標題:
單片機按鍵掃描程序
#include "reg51.h"
typedef unsigned int uint;
typedef unsigned char uchar;
sbit LED1=P0^0;
sbit LED2=P0^1;
sbit LED3=P0^2;
sbit LED4=P0^3;
/*sbit LED5=P0^4;
sbit LED6=P0^5;
sbit LED7=P0^6;
sbit LED8=P0^7;
sbit LED9=P2^0;
sbit LED10=P2^1;
sbit LED11=P2^2;
sbit LED12=P2^3;
sbit LED13=P2^4;
sbit LED14=P2^5;
sbit LED15=P2^6;
sbit LED16=P2^7;*/
//延時函數 毫秒延時
void delay(uint xms)
{
int x,y;
for(x=0;x<xms;x++)
for(y=130;y>0;y--);
}
//鍵盤掃描函數
void scankey(void)
{
uchar temp=0;
/******************掃描第一行*********************/
P1=0xfe;//選擇第一行 1111 1110
temp=P1;//把P0口的電平變化實時給temp
temp=temp&0xf0;//屏蔽低四位,只考慮高四位控制的列
if(temp!=0xf0)
{
delay(10);
temp=P1;//把P0口的電平變化實時給temp
temp=temp&0xf0;//屏蔽低四位,只考慮高四位控制的列
if(temp!=0xf0)
{
temp=P1;//由于temp被前面的0xf0改變了,所以在此需要再獲得一次P0的值
switch(temp)
{
case 0x7e:LED1=~LED1 ; break;//第一行第一列按鍵按下
case 0xbe:LED2=~LED2 ; break;//第一行第二列按鍵按下
case 0xde:LED3=~LED3 ; break;//第一行第三列按鍵按下
case 0xee:LED4=~LED4; break;//第一行第四列按鍵按下
}
while(temp!=0xf0)//按鍵釋放程序
{
temp=P1; //再次讀取P0的值,看看有沒有釋放,如果釋放高四位全是1
temp=temp&0xf0;
}
}
}
}
void main()
{
while(1)
{
scankey();
}
}
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产福利av
|
久久久精品
|
狠狠干av
|
精品国产成人
|
一区二区三区四区在线播放
|
国产高清视频在线播放
|
中文字幕在线观看免费视频
|
伦一理一级一a一片
|
日韩a级片
|
国产激情一区二区三区
|
亚洲天天操
|
欧美专区在线
|
久久在线播放
|
黄色一级片免费看
|
久久一区二区三区四区
|
韩国精品在线
|
亚洲免费播放
|
免费av大片
|
久久手机视频
|
久久动态图
|
黄色高清网站
|
99国产精品99久久久久久粉嫩
|
国产中文字幕在线播放
|
香蕉视频一区二区三区
|
在线观看三级
|
在线视频a
|
中文字幕在线免费视频
|
一区中文字幕
|
av免费在线观看网站
|
黄色大片免费在线观看
|
韩日精品视频
|
欧美亚洲视频
|
国产1区2区
|
亚洲激情在线
|
九九热在线播放
|
国产一区高清
|
美国黄色一级大片
|
www.久久久久
|
亚洲综合视频在线观看
|
亚洲国产成人在线
|
欧美日韩精品一区二区
|