国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

云主機 做網站鏈接交換公司

云主機 做網站,鏈接交換公司,安陽縣崔家橋職業(yè)中專,中國制造網官方網站國際站🎬 秋野醬:《個人主頁》 🔥 個人專欄:《Java專欄》《Python專欄》 ??心若有所向往,何懼道阻且長 文章目錄 矩陣按鍵原理圖按鍵狀態(tài)檢測單行按鍵狀態(tài)檢測多行按鍵狀態(tài)檢測 狀態(tài)記錄狀態(tài)優(yōu)化循環(huán)優(yōu)化 矩陣按鍵 矩陣鍵盤是一種常見的數(shù)字輸入…

🎬 秋野醬:《個人主頁》
🔥 個人專欄:《Java專欄》《Python專欄》

??心若有所向往,何懼道阻且長

文章目錄

    • 矩陣按鍵
    • 原理圖
    • 按鍵狀態(tài)檢測
      • 單行按鍵狀態(tài)檢測
      • 多行按鍵狀態(tài)檢測
    • 狀態(tài)記錄
    • 狀態(tài)優(yōu)化
    • 循環(huán)優(yōu)化

矩陣按鍵

矩陣鍵盤是一種常見的數(shù)字輸入設備,由多行多列的按鍵組成。每個按鍵都有一個唯一的行列坐標,通過行列坐標可以確定按鍵的編號,從而實現(xiàn)對數(shù)字或字母的輸入。

原理圖

在這里插入圖片描述

矩陣鍵盤的基本結構包括按鍵、行引腳和列引腳。按鍵一般是機械按鍵或觸摸按鍵,行引腳和列引腳分別與矩陣鍵盤的行和列相連,用于檢測按鍵的輸入狀態(tài)。

按鍵狀態(tài)檢測

單個按鍵狀態(tài)檢測
在這里插入圖片描述

● 輸出端的電平
● 輸入端的狀態(tài)
● 按鍵抬起
通過按鍵抬起時的狀態(tài),我們分析輸入端的電平信號,來確定抬起時輸入端的默認電平狀態(tài)。
在這里插入圖片描述
通過按鍵按下時的狀態(tài),我們分析輸入端的電平信號,來確定按下時輸入端的默認電平狀態(tài)。
通過分析確認,默認輸出端和輸入端都是高電平;
● 當輸出端輸出低電平時,輸入端為高電平,則開關為抬起狀態(tài);
● 當輸出端輸出低電平時,輸入端為低電平,則開關為按下狀態(tài);

單行按鍵狀態(tài)檢測

在這里插入圖片描述
通過逐一檢測輸入端的狀態(tài),來判斷按鍵是否按下。

多行按鍵狀態(tài)檢測

在這里插入圖片描述
首先,將第一行輸出低電平,其余行設置為高電平。目的是為了只測試第一行的按鍵狀態(tài)。
在這里插入圖片描述
然后,將第二行輸出低電平,其余行設置為高電平。目的是為了只測試第二行的按鍵狀態(tài)。
在這里插入圖片描述
接著,將第三行輸出低電平,其余行設置為高電平。目的是為了只測試第三行的按鍵狀態(tài)。
在這里插入圖片描述
最后,將第四行輸出低電平,其余行設置為高電平。目的是為了只測試第四行的按鍵狀態(tài)。

狀態(tài)記錄

通過自定義狀態(tài)來記錄按鍵狀態(tài)

// 記錄16個按鍵狀態(tài),0為按下,1為抬起
u16 key_state = 0xFFFF;......void scan() {
// 初始都是 高電平ROW_COL_RESET();NOP1();// ROW1// 給 row1 低電平,讀取COL1的值ROW1 = 0;NOP1();// 當前是UP,當之前是DOWN,則為UP// 當前是DOWN,當之前是UP,則為DOWN	if(COL1 != (key_state & 0x01) >> 0) {if(COL1) {// 修改當前狀態(tài)為UPkey_state |= 0x01;printf("K1 Up\r\n");} else {// 修改當前狀態(tài)為DOWNkey_state &= ~0x01;printf("K1 Down\r\n");}}......
}

狀態(tài)優(yōu)化

通過define優(yōu)化一些數(shù)值的操作,方便在后續(xù)看代碼時方便理解,提高代碼的閱讀性。

// 記錄16個按鍵狀態(tài),0為按下,1為抬起
u16 key_state = 0xFFFF;#define KEY_UP		1
#define KEY_DOWN	0
// 第n個按鍵的狀態(tài)
#define KEY_STATE(n)		((key_state & (1 << n)) >> n)
#define SET_KEY_UP(n)		(key_state |= (1 << n))
#define SET_KEY_DOWN(n)	(key_state &= ~(1 << n))#define ROW_COL_RESET() {ROW1=1,ROW2=1,ROW3=1,ROW4=1;COL1=1,COL2=1,COL3=1,COL4=1;}......void scan() {// 初始都是 高電平ROW_COL_RESET();NOP1();// ROW1// 給 row1 低電平,讀取COL1的值ROW1 = 0;NOP1();// 當前是UP,當之前是DOWN,則為UP// 當前是DOWN,當之前是UP,則為DOWNif(COL1 != KEY_STATE(0)) {if(COL1) {// 修改當前狀態(tài)為UPSET_KEY_UP(0);printf("K1 Up\r\n");} else {// 修改當前狀態(tài)為DOWNSET_KEY_DOWN(0);printf("K1 Down\r\n");}}......
}

循環(huán)優(yōu)化

操作的按鍵眾多,通過循環(huán)的方式來操控每一個按鍵,減少代碼量,方便維護。

#define ROW 4
#define COL 4// 記錄16個按鍵狀態(tài),0為按下,1為抬起
u16 key_state = 0xFFFF;#define KEY_UP		1
#define KEY_DOWN	0
// 第n個按鍵的狀態(tài)
#define KEY_STATE(r, c)			((key_state & (1 << (r * ROW + c))) >> (r * ROW + c))
#define SET_KEY_UP(r, c)		(key_state |= (1 << (r * ROW + c)))
#define SET_KEY_DOWN(r, c)	(key_state &= ~(1 << (r * ROW + c)))#define ROW_COL_RESET() {ROW1=1,ROW2=1,ROW3=1,ROW4=1;COL1=1,COL2=1,COL3=1,COL4=1;}void scan() {u8 i, j;for(i = 0; i < ROW; i++) {// 初始都是 高電平ROW_COL_RESET();NOP1();ROW_ON(i);for(j = 0; j < COL; j++) {// 當前是UP,當之前是DOWN,則為UP// 當前是DOWN,當之前是UP,則為DOWNif(COL_STATE(j) != KEY_STATE(i, j)) {if(COL_STATE(j)) {// 修改當前狀態(tài)為UPSET_KEY_UP(i, j);printf("(%d, %d) Up\r\n", (int)i, (int)j);} else {// 修改當前狀態(tài)為DOWNSET_KEY_DOWN(i, j);printf("(%d, %d) Down\r\n", (int)i, (int)j);}}}}
}
http://m.aloenet.com.cn/news/28114.html

相關文章:

  • 上海網站搜索排名婚戀網站排名前三
  • 做外貿網站好的公司志鴻優(yōu)化設計答案網
  • 網站產品詳情用哪個軟件做的sem競價培訓班
  • 德國 網站建設百度指數(shù)查詢入口
  • 網站做百度推廣需要什么材料百度號碼認證平臺官網
  • 域名過期了怎么辦怎么找回網站企業(yè)門戶網站的設計與實現(xiàn)
  • 建網站方案自媒體推廣渠道
  • 微信微網站平臺百度優(yōu)化怎么做
  • 做網站需要什么樣的電腦配置太原網站優(yōu)化公司
  • 織夢仿非織夢網站資源搜索引擎搜索神器網
  • 彩票真人網站建設有什么功能
  • 找別人做網站的注意事項電商網站設計
  • 做網站底色怎么選微信公眾號運營
  • 深圳網站設計公司哪家便宜廣西seo關鍵詞怎么優(yōu)化
  • 成都網站建設愛特通品牌推廣渠道有哪些
  • 網站自動答題腳本怎么做在線網頁制作網站
  • 富陽區(qū)建設局網站直通車怎么開效果最佳
  • 美橙建站五站合一軟件互聯(lián)網精準營銷
  • 本地化吃喝玩樂平臺網站可以做嗎武漢seo診斷
  • 網站建設勞務協(xié)議seo推廣seo技術培訓
  • 哪些網站可以做問卷調查賺錢如何檢測網站是否安全
  • 做網站除了域名還需要什么免費廣告發(fā)布平臺
  • 邯鄲網站建設哪家好windows優(yōu)化大師怎么使用
  • php做網站中下一步按鈕中國職業(yè)培訓在線平臺
  • 做網店在素材網站找的圖侵權嗎地域名網址查詢
  • 水印在線制作網站百度識圖搜索
  • 校園網站建設 方案論證一鍵搭建網站
  • 網站目錄架構網店代運營公司靠譜嗎
  • 阿里云服務器怎么做網站windows優(yōu)化大師官方
  • 網站寬度 1000px長沙網絡科技有限公司