久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
msp430f1612矩陣鍵盤源碼用數(shù)碼管顯示鍵值
[打印本頁]
作者:
磊磊磊1
時間:
2018-8-9 20:33
標(biāo)題:
msp430f1612矩陣鍵盤源碼用數(shù)碼管顯示鍵值
#include<msp430f1612.h>
unsigned
char
const
table[]={
0x3f
,
0x06
,
0x5b
,
0x4f
,
0x66
,
0x6d
,
0x7d
,
0x07
,
0x7f
,
0x6f
,
0x77
,
0x7c
,
0x39
,
0x5e
,
0x79
,
0x71
};
//數(shù)碼管的段位
//定義共陰極數(shù)碼管段選碼表,無小數(shù)點
static
char
key;
//定義靜態(tài)變量key(用來記錄鍵盤編碼)
//系統(tǒng)默認時鐘源dco,時鐘aclk,頻率800k
void
delayus(
unsigned
int
t)
//延時函數(shù)
{
unsigned
int
i;
while
(t--)
for
(i=
1330
;i>
0
;i--);
//實際測得時間1ms,根據(jù)示波器
}
char
keyscan(
void
)
//掃描模塊
{
char
sccode,recode;
//定義行,列鍵盤編碼
P3OUT=
0x00
;
//p3輸出端口全部置低
if
((P3IN&
0xf0
)!=
0xf0
)
//去掉抖動模塊,判斷是否有鍵抖動,如果是返回
{
delayus(
20
);
//延時20ms
if
((P3IN&
0xf0
)!=
0xf0
)
//再次判斷是否有鍵抖動,如果是返回
{
sccode=
0xfe
;
//將第一行置低(p3.0),用來掃描
while
((sccode&
0x0f
)!=
0x0f
)
//按位與&;盡量取0.行掃描完成
{
P3OUT=sccode;
//輸出行掃描碼
if
((P3IN&
0XF0
)!=
0XF0
)
//當(dāng)前有鍵閉合 ,因為in是后四位所以f0
{
recode=(P3IN&
0XF0
)|
0X0F
;
//讀取高4位列值,低四位置一(配合行碼)
//按位或盡量取1
key=(sccode&recode);
//行和列組合得到鍵盤編碼
return
key;
//返回靜態(tài)變量key
}
else
//所掃描行沒有鍵閉合
{
sccode=(sccode<<
1
)|
0x01
;
//行掃描碼左移一位,就換到了下一行置0
//按位或盡量取1
}
}
}
return
0xff
;
//沒有鍵閉合則返回
}
return
0xff
;
//沒有鍵閉合則返回 ?
}
char
getkeyval(
char
keycode)
{
char
keyval;
switch
(keycode)
{
case
0x77
:
//0b01110111
keyval=
0
;
break
;
case
0x7b
:
//0b01111011
keyval=
1
;
break
;
case
0x7d
:
//0b01111101
keyval=
2
;
break
;
case
0x7e
:
//
keyval=
3
;
break
;
case
0xb7
:
keyval=
4
;
break
;
case
0xbb
:
keyval=
5
;
break
;
case
0xbd
:
keyval=
6
;
break
;
case
0xbe
:
keyval=
7
;
break
;
case
0xd7
:
keyval=
8
;
break
;
case
0xdb
:
keyval=
9
;
break
;
case
0xdd
:
keyval=
10
;
break
;
case
0xde
:
keyval=
11
;
break
;
case
0xe7
:
keyval=
12
;
break
;
case
0xeb
:
keyval=
13
;
break
;
case
0xed
:
keyval=
14
;
break
;
case
0xee
:
keyval=
15
;
break
;
default
:keyval =
255
;
}
return
keyval;
}
void
main(
void
)
{
WDTCTL=WDTPW+WDTHOLD;
//關(guān)狗
P1DIR=
0XFF
;
//全部輸出
P1SEL=
0X00
;
//功能設(shè)置為普通i/o端口
P1OUT=
0X00
;
//p1out全部置低
P3DIR=
0X0F
;
//p3.4~p3.7鍵盤輸入,p3.0~p3.3鍵盤掃描信號輸出輸出
while
(
1
)
{
key=getkeyval(keyscan());
//key取掃描值
if
(key!=
255
)
//key是正常值,按鍵有效
{
P1OUT=table[key];
//p1out輸出掃描碼顯示在數(shù)碼管上
}
}
}
}
矩陣鍵盤.zip
2018-8-9 20:33 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
1.54 KB, 下載次數(shù): 18, 下載積分: 黑幣 -5
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产高清视频一区
|
在线视频国产一区
|
国产一区中文
|
久久精品综合
|
日韩精品一区二
|
午夜a v电影
|
国产精品久久久爽爽爽麻豆色哟哟
|
一区二区免费
|
精品久久久久久久久久久久久久
|
久久久激情
|
精品国产一区三区
|
亚洲人成在线播放
|
久久黄色网
|
台湾佬成人网
|
91极品视频
|
91精品国产91久久久久久吃药
|
久久久久久久久中文字幕
|
欧美天堂
|
伊人网站在线
|
久久久久国产一区二区三区四区
|
国产特级毛片
|
天天色图
|
亚洲一区二区三区欧美
|
精品亚洲一区二区
|
亚洲国产成人精品女人久久久
|
日韩成人专区
|
亭亭五月激情
|
亚洲国产高清高潮精品美女
|
欧美日韩手机在线观看
|
福利视频一区二区
|
中文字幕欧美一区
|
久久com
|
国产精品一区二区在线
|
成人黄色网址大全
|
91热爆在线观看
|
九九视频在线观看视频6
|
欧美二区在线
|
精品粉嫩aⅴ一区二区三区四区
|
伊人91在线
|
亚洲一区二区中文字幕
|
91九色麻豆
|