久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
上傳個單片機(jī)鍵盤掃描的源程序
[打印本頁]
作者:
suiyuerufeng
時間:
2018-1-16 14:23
標(biāo)題:
上傳個單片機(jī)鍵盤掃描的源程序
隨手上傳
單片機(jī)源程序如下:
/****************************************************
電路圖說明:
使用P3口做為矩陣鍵盤的輸入端,前四位控制行線,后
四位控制列線。
程序功能:逐列掃描識別法 + 定時查詢方式
使用數(shù)碼管顯示,4*4矩陣鍵盤,按下的鍵號,鍵盤鍵號
使用行掃描法。
****************************************************/
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit duan=P2^0;
sbit wei=P2^1;
uchar num;//存放數(shù)碼管顯示數(shù)值
uchar code d_table[]={
0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d ,
0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c ,
0x39 , 0x5e , 0x79 , 0x71 , 0x00};//共陰0~F段碼
uchar code w_table[]={
0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf};//1-6位選碼
void init();//啟動定時器0
void delay(uint);//最小1ms延遲
uchar keyscan();//鍵盤是否按下掃描函數(shù),
//函數(shù)返回按下按鍵鍵值,無按鍵按下時返回16
void display_2wei(uint);//數(shù)碼管兩位動態(tài)顯示函數(shù)
void main()
{
init();
while(1)
{
;
}
}
void init()
{
num=16;
EA=1;
ET0=1;
ET1=1;
PT0=1;//將數(shù)碼管刷新定時器中斷定為高優(yōu)先級
//以保證數(shù)碼管正常顯示
TMOD=0x11;
TH0=(65535-20000)/256;
TL0=(65535-20000)%256;
TH1=(65535-10000)/256;
TL1=(65535-10000)%256;
TR0=1;
TR1=1;
}
void delay(uint z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
uchar keyscan()//如果無按鍵按下返回16
{
uchar temp,i,key_read;
static uchar key_value=16;
temp=0xef;//預(yù)置第0列輸出0的設(shè)置值
for(i=0;i<4;i++)//4次列掃描
{
P3=temp;//4次循環(huán),依次置0->1->2->3列輸出0
if((key_read=P3)!=temp)//判斷該列上有無按鍵按下
{
delay(10);
if((key_read=P3)!=temp)
{
key_read=~key_read;
while(P3!=temp);
switch(key_read&0x0f)//只留行值
{
case 0x01:key_value=i; break;//得第0行按鍵鍵號
case 0x02:key_value=4+i; break;//得第1行按鍵鍵號
case 0x04:key_value=8+i; break;//得第2行按鍵鍵號
case 0x08:key_value=12+i;break;//得第3行按鍵鍵號
default: key_value=16;break;
}
return key_value;
}
}
temp=(temp<<1)|0x01; //得使下一列輸出0的設(shè)置值
}
return key_value;
}
void display_2wei(uint m_num)
{
uchar ge,shi;
ge=m_num%10;
shi=(m_num/10)%10;
//十位數(shù)
P0=w_table[1];
wei=1;
wei=0;
P0=d_table[shi];
duan=1;
duan=0;
delay(5);
//個位數(shù)
P0=w_table[2];
wei=1;
wei=0;
P0=d_table[ge];
duan=1;
duan=0;
delay(5);
}
void timer0_20ms() interrupt 1
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
矩陣.rar
(12.49 KB, 下載次數(shù): 10)
2018-1-16 14:21 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
免费成人高清
|
久草综合在线
|
免费成人高清在线视频
|
天天操天天玩
|
成人二区
|
a级在线观看
|
久久精品久久精品
|
欧美日韩亚洲一区
|
男女羞羞视频免费
|
国产亚洲精品精品国产亚洲综合
|
特级做a爱片免费69 精品国产鲁一鲁一区二区张丽
|
亚洲欧美激情精品一区二区
|
一级片免费视频
|
亚洲成人自拍网
|
成人在线免费电影
|
国产精品久久久久久妇女6080
|
啪啪毛片
|
久久久久久免费毛片精品
|
日韩影音
|
国产精品中文字幕在线观看
|
自拍 亚洲 欧美 老师 丝袜
|
成人免费视频网站在线看
|
亚洲精品一二三
|
国产精品久久久久永久免费观看
|
精品久久久久久久久亚洲
|
亚洲视频在线观看
|
一级片视频免费观看
|
亚洲成人久久久
|
精品国产免费人成在线观看
|
成人一区av
|
中文字幕一区二区三区四区五区
|
成人久久18免费网站麻豆
|
国产精品久久久久国产a级 欧美日本韩国一区二区
|
国产在线精品一区二区三区
|
欧美日韩不卡
|
欧美极品在线播放
|
综合久久综合久久
|
午夜在线视频
|
成人在线观看亚洲
|
午夜影院中文字幕
|
日日日色
|