
發(fā)布
注冊
/
登錄按鍵掃描的案例
高亮LED驅(qū)動芯片抗干擾抗噪數(shù)顯IC大電流數(shù)顯驅(qū)動VK16K33A/AA SOP28/SSOP28 最大13×3的按鍵掃描
概述
VK16K33A/AA是一種帶按鍵掃描接口的數(shù)碼管或點陣LED驅(qū)動控制專用芯片,內(nèi)部集成有數(shù)據(jù)鎖存器、鍵盤掃描、LED 驅(qū)動模塊等電路。數(shù)據(jù)通過I2C通訊接口與MCU通信。SEG腳接LED陽極,GRID腳接LED陰極,可支持16SEG×8GRID的點陣LED顯示面板。最大支持13×3的按鍵。內(nèi)置上電復(fù)位電路,整體閃爍頻率可設(shè)置,可通過命令進(jìn)入待機模式。
四種單片機按鍵設(shè)計方案與改進(jìn),拿走不謝!
第四種設(shè)計的優(yōu)點是只需要單片機有一個ADC接口、一根線,就能對多個按鍵進(jìn)行識別,缺點是按鍵內(nèi)部一旦接觸不良,則可能導(dǎo)致按鍵串位,并且按鍵產(chǎn)生的抖動有可能會造成識別錯誤。
改進(jìn)方法
在以上常見按鍵設(shè)計的基礎(chǔ)上,分享一下筆者學(xué)習(xí)和工作中總結(jié)的按鍵方案。
改進(jìn)一:
在原方案一的基礎(chǔ)上,加上與門電路,使得任何一個按鍵按下都能產(chǎn)生中斷,然后在中斷里面識別是哪個按鍵被按下。這改動令電路不需要循環(huán)掃描,大大提高了效率。方案如圖5所示。只需要在每個按鍵對應(yīng)地增加一個二極管,利用二極管的線與特性,就可以實現(xiàn)按下任何按鍵都能產(chǎn)生中斷信號,同時按鍵之間互不影響。二極管選用普通整流二極管即可,經(jīng)過測試,可靠可行。
圖5 改進(jìn)一
改進(jìn)二:
在原有ADC按鍵的基礎(chǔ)上,也可以增加二極管的方式,實現(xiàn)按鍵中斷,并在中斷服務(wù)程序里進(jìn)行AD轉(zhuǎn)換,從而識別按鍵。電路如圖6所示。
圖6 改進(jìn)二
改進(jìn)三:
按鍵時難免會造成抖動,因此必須按鍵消抖。消抖也可以通過硬件消抖和軟件消抖,這里分享一個十分簡單且有效的硬件消抖方法:給按鍵并聯(lián)一個104左右的電容,這樣軟件上基本不用處理即可消除抖動。
改進(jìn)四:
在按鍵掃描檢測的方案下,如果主循環(huán)中有某個函數(shù)占用時間較長,按鍵或會發(fā)生長短不一的“失靈”。對此可以將按鍵掃描放到定時器中斷里面,這樣就可周期性地檢測按鍵按下的情況,在不受主循環(huán)的影響下解析出按鍵的不同狀態(tài)。
展開 真棒!這幾個嵌入式程序架構(gòu)太好用了
這個實例如下:它有4個任務(wù),這4個任務(wù)為按鍵掃描、聲光報警、顯示屏刷新和超聲波測距。這個實例的具體功能是通過按鍵設(shè)置測量距離的閾值,當(dāng)測距距離低于設(shè)置的閾值時,觸發(fā)聲光報警并且將測量距離實時顯示在顯示屏上(這個應(yīng)用是汽車倒車?yán)走_(dá)的具體體現(xiàn))。
2.1順序執(zhí)行的前后臺系統(tǒng)
在順序執(zhí)行的前后臺系統(tǒng)中,我會把鍵盤掃描用查詢的方式放在while(1)中,而顯示屏刷新和超聲波測距使用中斷,在中斷服務(wù)函數(shù)中獲取測量距離后進(jìn)行顯示,在主函數(shù)的循環(huán)中進(jìn)行按鍵的檢測,聲光處理也放在主循環(huán)中。這樣整個程序就以變量標(biāo)志的同步方式在主循環(huán)和后臺中斷中執(zhí)行,對應(yīng)的程序代碼如圖所示:
順序執(zhí)行前后臺系統(tǒng)的主函數(shù)
順序執(zhí)行前后臺系統(tǒng)的中斷服務(wù)函數(shù)
這種架構(gòu)的優(yōu)點是使用簡單易于理解,而缺點是每個任務(wù)所占的CPU時間過長的話,會導(dǎo)致程序的實時性能差,就比如按鍵的檢測等。
2.2 時間片輪詢系統(tǒng)和多任務(wù)操作系統(tǒng)
時間片輪詢法實際上通常出現(xiàn)在操作系統(tǒng)中,也就是說他屬于操作系統(tǒng),但在這里所說的是基于前后臺系統(tǒng)的時間片輪詢。
時間片輪詢法的實質(zhì)其實就是選出一個定時器,每進(jìn)一次定時中斷對計數(shù)值進(jìn)行自加,在主循環(huán)中根據(jù)這個計數(shù)值執(zhí)行任務(wù),這個計數(shù)值也就是任務(wù)輪詢的時間片。
在這個實例中,如果采用時間片輪詢系統(tǒng)的話,首先選用主控芯片的任一定時器,定時器定時時間周期由我們決定,為了保證實時性和運行效率,這個值通常取10ms、30ms、50ms等,我會將按鍵掃描輪值值設(shè)置為20ms,因為按鍵抖動的時長一般為20ms,這樣處理既達(dá)到了消抖的目的,又不會漏掉按鍵的檢測;
而顯示屏的刷新設(shè)置為30ms,如果你覺得刷新反應(yīng)慢了也可以修改這一輪詢值得到改善;而超聲波測距的輪詢值設(shè)置為100ms,即每隔100模式觸發(fā)測距一次,這個測距頻率已經(jīng)能夠滿足大多數(shù)的情況了。
展開 軟件架構(gòu)存在的意義是什么?
這個實例如下:它有4個任務(wù),這4個任務(wù)為按鍵掃描、聲光報警、顯示屏刷新和超聲波測距。這個實例的具體功能是通過按鍵設(shè)置測量距離的閾值,當(dāng)測距距離低于設(shè)置的閾值時,觸發(fā)聲光報警并且將測量距離實時顯示在顯示屏上(這個應(yīng)用是汽車倒車?yán)走_(dá)的具體體現(xiàn))。
1.順序執(zhí)行的前后臺系統(tǒng)
在順序執(zhí)行的前后臺系統(tǒng)中,我會把鍵盤掃描用查詢的方式放在while(1)中,而顯示屏刷新和超聲波測距使用中斷,在中斷服務(wù)函數(shù)中獲取測量距離后進(jìn)行顯示,在主函數(shù)的循環(huán)中進(jìn)行按鍵的檢測,聲光處理也放在主循環(huán)中。
這樣整個程序就以變量標(biāo)志的同步方式在主循環(huán)和后臺中斷中執(zhí)行,對應(yīng)的程序代碼如圖所示:
順序執(zhí)行前后臺系統(tǒng)的主函數(shù)
順序執(zhí)行前后臺系統(tǒng)的中斷服務(wù)函數(shù)
這種架構(gòu)的優(yōu)點是使用簡單易于理解,而缺點是每個任務(wù)所占的CPU時間過
長的話,會導(dǎo)致程序的實時性能差,就比如按鍵的檢測等。
2.時間片輪詢系統(tǒng)和多任務(wù)操作系統(tǒng)
時間片輪詢法實際上通常出現(xiàn)在操作系統(tǒng)中,也就是說他屬于操作系統(tǒng),但在這里所說的是基于前后臺系統(tǒng)的時間片輪詢。時間片輪詢法的實質(zhì)其實就是選出一個定時器,沒進(jìn)一次定時中斷對計數(shù)值進(jìn)行自加,在主循環(huán)中根據(jù)這個計數(shù)值執(zhí)行任務(wù),這個計數(shù)值也就是任務(wù)輪詢的時間
片。
展開 
干貨|一個學(xué)妹寫的按鍵檢測函數(shù)把我秀翻了!
void RunPer10ms(void)
{
KEY_Scan();
}
void KEY_Scan(void)
{
uint8_t i;
for (i = 0; i < HARD_KEY_NUM; i++)
{
KEY_Detect(i);
}
}
/*
每隔10ms所有的按鍵GPIO均會被掃描檢測一次。
大電流LED驅(qū)動顯示數(shù)碼管驅(qū)動VK16K33A點陣數(shù)碼管顯示IC
產(chǎn)品品牌:永嘉微電VINKA
產(chǎn)品型號:VK16K33A
封裝形式:SOP28
VK16K33A是一種帶按鍵掃描接口的數(shù)碼管或點陣LED驅(qū)動 控制專用芯片,內(nèi)部集成有數(shù)據(jù)鎖存器、鍵盤掃描、LED驅(qū) 動模塊等電路。數(shù)據(jù)通過I2C通訊接口與MCU通信。SEG腳 接LED陽極,GRID腳接LED陰極,可支持16SEG×8GRID的 點陣LED顯示面板。最大支持13×3的按鍵。內(nèi)置上電復(fù)位電 路,整體閃爍頻率可設(shè)置,可通過命令進(jìn)入待機模式,采用 SOP28封裝形式。
抗干擾抗噪數(shù)顯驅(qū)動高亮數(shù)碼管驅(qū)動IC-VK16K33A適用于計時器/溫控儀等產(chǎn)品
VK16K33A是一種帶按鍵掃描接口的數(shù)碼管或點陣LED驅(qū)動控制專用芯片,內(nèi)部集成有數(shù)據(jù) 鎖存器、鍵盤掃描、LED 驅(qū)動模塊等電路。數(shù)據(jù)通過I2C通訊接口與MCU通信。SEG腳接LED陽 極,GRID腳接LED陰極,可支持16SEGx8GRID的點陣LED顯示面板。最大支持13×3的按鍵。內(nèi) 置上電復(fù)位電路,整體閃爍頻率可設(shè)置,可通過命令進(jìn)入待機模式,采用SOP28封裝形式。LJQ7160
產(chǎn)品品牌:永嘉微電/VINKA
產(chǎn)品型號:VK16K33A
封裝形式:SOP28
特點
? 工作電壓 3.0-5.5V
? 內(nèi)置 RC振蕩器
? 最大16個SEG腳,8個GRID腳
? SEG腳只能接LED陽極,GRID腳只能接LED陰極
? I2C通訊接口,I2C從機地址可通過IO腳選擇
? 16級整體亮度可調(diào)
? 最大13×3的按鍵掃描 按鍵顯示復(fù)用需硬件電路配合 支持組合鍵需要電路配合)
? 讀/寫地址自動加1
? 內(nèi)置顯示RAM為16x8位
? 內(nèi)置上電復(fù)位電路
? 整體閃爍頻率可設(shè)置
? 通過命令進(jìn)入待機模式
? 驅(qū)動電流大,適合高亮顯示場合 ...
展開 數(shù)碼管顯示屏驅(qū)動/高亮LED數(shù)顯驅(qū)動芯片VK16K33AA SSOP28
產(chǎn)品品牌:永嘉微電/VINKA
產(chǎn)品型號:VK16K33AA
封裝形式:SSOP28
概述
VK16K33AA是一種帶按鍵掃描接口的數(shù)碼管或點陣LED驅(qū)動控制專用芯片,內(nèi)部集成有數(shù)據(jù)鎖存器、鍵盤掃描、LED 驅(qū)動模塊等電路。數(shù)據(jù)通過I2C通訊接口與MCU通信。SEG腳接LED陽極,GRID腳接LED陰極,可支持16SEGx8GRID的點陣LED顯示面板。最大支持13×3的按鍵。內(nèi)置上電復(fù)位電路,整體閃爍頻率可設(shè)置,可通過命令進(jìn)入待機模式,采用SSOP28封裝形式。LJQ1280
編輯
編輯
特點
? 工作電壓 3.0-5.5V
? 內(nèi)置 RC振蕩器
? 最大16個SEG腳,8個GRID腳
? SEG腳只能接LED陽極,GRID腳只能接LED陰極
? I2C通訊接口,I2C從機地址可通過IO腳選擇
? 16級整體亮度可調(diào)
? 最大13×3的按鍵掃描按鍵顯示復(fù)用需硬件電路配合支持組合鍵需要電路配合)
? 讀/寫地址自動加1
? 內(nèi)置顯示RAM為16x8位
? 內(nèi)置上電復(fù)位電路
? 整體閃爍頻率可設(shè)置
? 通過命令進(jìn)入待機模式
? 驅(qū)動電流大,適合高亮顯示場合 ...
展開 LED驅(qū)動器原廠VK16K33AA SSOP28點陣數(shù)顯驅(qū)動芯片/大電流數(shù)碼管驅(qū)動
產(chǎn)品品牌:永嘉微電/VINKA
產(chǎn)品型號:VK16K33AA
封裝形式:SSOP28
概述
VK16K33AA是一種帶按鍵掃描接口的數(shù)碼管或點陣LED驅(qū)動控制專用芯片,內(nèi)部集成有數(shù)據(jù)鎖存器、鍵盤掃描、LED 驅(qū)動模塊等電路。數(shù)據(jù)通過I2C通訊接口與MCU通信。SEG腳接LED陽極,GRID腳接LED陰極,可支持16SEGx8GRID的點陣LED顯示面板。最大支持13×3的按鍵。內(nèi)置上電復(fù)位電路,整體閃爍頻率可設(shè)置,可通過命令進(jìn)入待機模式,采用SSOP28封裝形式。LJQ891
特點
? 工作電壓 3.0-5.5V
? 內(nèi)置 RC振蕩器
? 最大16個SEG腳,8個GRID腳
? SEG腳只能接LED陽極,GRID腳只能接LED陰極
? I2C通訊接口,I2C從機地址可通過IO腳選擇
? 16級整體亮度可調(diào)
? 最大13×3的按鍵掃描按鍵顯示復(fù)用需硬件電路配合支持組合鍵需要電路配合)
? 讀/寫地址自動加1
? 內(nèi)置顯示RAM為16x8位
? 內(nèi)置上電復(fù)位電路
? 整體閃爍頻率可設(shè)置
? 通過命令進(jìn)入待機模式
? 驅(qū)動電流大,適合高亮顯示場合 ...
展開 VK16K33C SOP20點陣數(shù)碼管顯示驅(qū)動芯片/數(shù)顯屏驅(qū)動廠家
產(chǎn)品品牌:永嘉微電/VINKA
產(chǎn)品型號:VK16K33C
封裝形式:SOP20
概述
VK16K33C是一種帶按鍵掃描接口的數(shù)碼管或點陣LED驅(qū)動控制專用芯片,內(nèi)部集成有數(shù)據(jù)鎖 存器、鍵盤掃描、LED 驅(qū)動模塊等電路。數(shù)據(jù)通過I2C通訊接口與MCU通信。SEG腳接LED陽 極,GRID腳接LED陰極,可支持8SEGx8GRID的點陣LED顯示面板。最大支持8×3的按鍵。內(nèi)置 上電復(fù)位電路,整體閃爍頻率可設(shè)置,可通過命令進(jìn)入待機模式,采用SOP20封裝形式。LJQ324
特點
? 工作電壓 3.0-5.5V
? 內(nèi)置 RC振蕩器
? 最大8個SEG腳,8個GRID腳 (封裝不同SEG腳數(shù)量不同)
? SEG腳只能接LED陽極,GRID腳只能接LED陰極
? I2C通訊接口,I2C從機地址可通過IO腳選擇
? 16級整體亮度可調(diào)
? 最大8×3的按鍵掃描按鍵顯示復(fù)用需硬件電路配合支持組合鍵需要電路配合)
? 讀/寫地址自動加1
? 內(nèi)置顯示RAM為16x8位
? 內(nèi)置上電復(fù)位電路
? 整體閃爍頻率可設(shè)置
? 通過命令進(jìn)入待機模式
? 驅(qū)動電流大,適合高亮顯示場合 ...
展開 LED數(shù)顯芯片/高亮數(shù)碼管顯示驅(qū)動IC/VK16K33A SOP28數(shù)碼管驅(qū)動控制器
產(chǎn)品品牌:永嘉微電/VINKA
產(chǎn)品型號:VK16K33A
封裝形式:SOP28
概述
VK16K33A是一種帶按鍵掃描接口的數(shù)碼管或點陣LED驅(qū)動控制專用芯片,內(nèi)部集成有數(shù)據(jù) 鎖存器、鍵盤掃描、LED 驅(qū)動模塊等電路。數(shù)據(jù)通過I2C通訊接口與MCU通信。SEG腳接LED陽 極,GRID腳接LED陰極,可支持16SEGx8GRID的點陣LED顯示面板。最大支持13×3的按鍵。內(nèi) 置上電復(fù)位電路,整體閃爍頻率可設(shè)置,可通過命令進(jìn)入待機模式,采用SOP28封裝形式。LJQ880
特點
? 工作電壓 3.0-5.5V
? 內(nèi)置 RC振蕩器
? 最大16個SEG腳,8個GRID腳
? SEG腳只能接LED陽極,GRID腳只能接LED陰極
? I2C通訊接口,I2C從機地址可通過IO腳選擇
? 16級整體亮度可調(diào)
? 最大13×3的按鍵掃描 按鍵顯示復(fù)用需硬件電路配合 支持組合鍵需要電路配合)
? 讀/寫地址自動加1
? 內(nèi)置顯示RAM為16x8位
? 內(nèi)置上電復(fù)位電路
? 整體閃爍頻率可設(shè)置
? 通過命令進(jìn)入待機模式
? 驅(qū)動電流大,適合高亮顯示場合 ...
展開 
VK16K33AA SSOP28-高亮LED數(shù)碼顯示驅(qū)動/數(shù)據(jù)通過I2C通訊接與MCU通信
產(chǎn)品品牌:永嘉微電/VINKA
產(chǎn)品型號:VK16K33AA
封裝形式:SSOP28
概述:
VK16K33AA是一種帶按鍵掃描接口的數(shù)碼管或點陣LED驅(qū)動控制專用芯片,內(nèi)部集成有數(shù)據(jù) 鎖存器、鍵盤掃描、LED 驅(qū)動模塊等電路。數(shù)據(jù)通過I2C通訊接口與MCU通信。SEG腳接LED陽 極,GRID腳接LED陰極,可支持16SEGx8GRID的點陣LED顯示面板。最大支持13×3的按鍵。內(nèi) 置上電復(fù)位電路,整體閃爍頻率可設(shè)置,可通過命令進(jìn)入待機模式,采用SSOP28封裝形式。LJQ235
特點
? 工作電壓 3.0-5.5V
? 內(nèi)置 RC振蕩器
? 最大16個SEG腳,8個GRID腳
? SEG腳只能接LED陽極,GRID腳只能接LED陰極
? I2C通訊接口,I2C從機地址可通過IO腳選擇
? 16級整體亮度可調(diào)
? 最大13×3的按鍵掃描 按鍵顯示復(fù)用需硬件電路配合 支持組合鍵需要電路配合)
? 讀/寫地址自動加1
? 內(nèi)置顯示RAM為16x8位
? 內(nèi)置上電復(fù)位電路
? 整體閃爍頻率可設(shè)置
? 通過命令進(jìn)入待機模式
? 驅(qū)動電流大,適合高亮顯示場合 ...
展開 VK16K33B SOP24LED數(shù)顯芯片/點陣數(shù)碼管顯示驅(qū)動/大電流數(shù)顯IC/數(shù)顯驅(qū)動器原廠
產(chǎn)品品牌:永嘉微電/VINKA
產(chǎn)品型號:VK16K33B
封裝形式:SOP24
概述
VK16K33B是一種帶按鍵掃描接口的數(shù)碼管或點陣LED驅(qū)動控制專用芯片,內(nèi)部集成有數(shù)據(jù) 鎖存器、鍵盤掃描、LED 驅(qū)動模塊等電路。數(shù)據(jù)通過I2C通訊接口與MCU通信。SEG腳接LED陽 極,GRID腳接LED陰極,可支持12SEGx8GRID的點陣LED顯示面板。最大支持10×3的按鍵。內(nèi) 置上電復(fù)位電路,整體閃爍頻率可設(shè)置,可通過命令進(jìn)入待機模式,采用SSOP24的封裝形式。
數(shù)碼管顯示驅(qū)動/高亮數(shù)顯驅(qū)動芯片VK16K33BA SSOP24 LED驅(qū)動器原廠技術(shù)支持
產(chǎn)品品牌:永嘉微電/VINKA
產(chǎn)品型號:VK16K33BA
封裝形式:SSOP24
概述
VK16K33BA是一種帶按鍵掃描接口的數(shù)碼管或點陣LED驅(qū)動控制專用芯片,內(nèi)部集成有數(shù)據(jù)鎖存器、鍵盤掃描、LED 驅(qū)動模塊等電路。數(shù)據(jù)通過I2C通訊接口與MCU通信。SEG腳接LED陽極,GRID腳接LED陰極,可支持12SEGx8GRID的點陣LED顯示面板。最大支持10×3的按鍵。內(nèi)置上電復(fù)位電路,整體閃爍頻率可設(shè)置,可通過命令進(jìn)入待機模式,采用SSOP24的封裝形式。
大電流數(shù)碼管驅(qū)動LED顯示屏驅(qū)動VK16K33A SOP28,可支持16x8的點陣LED顯示面板
產(chǎn)品品牌:永嘉微電/VINKA
產(chǎn)品型號:VK16K33A
封裝形式:SOP28
概述
VK16K33A是一種帶按鍵掃描接口的數(shù)碼管或點陣LED驅(qū)動控制專用芯片,內(nèi)部集成有數(shù)據(jù) 鎖存器、鍵盤掃描、LED 驅(qū)動模塊等電路。數(shù)據(jù)通過I2C通訊接口與MCU通信。SEG腳接LED陽 極,GRID腳接LED陰極,可支持16SEGx8GRID的點陣LED顯示面板。最大支持13×3的按鍵。內(nèi) 置上電復(fù)位電路,整體閃爍頻率可設(shè)置,可通過命令進(jìn)入待機模式,采用SOP28封裝形式。LJQ1253
特點
? 工作電壓 3.0-5.5V
? 內(nèi)置 RC振蕩器
? 最大16個SEG腳,8個GRID腳
? SEG腳只能接LED陽極,GRID腳只能接LED陰極
? I2C通訊接口,I2C從機地址可通過IO腳選擇
? 16級整體亮度可調(diào)
? 最大13×3的按鍵掃描 按鍵顯示復(fù)用需硬件電路配合 支持組合鍵需要電路配合)
? 讀/寫地址自動加1
? 內(nèi)置顯示RAM為16x8位
? 內(nèi)置上電復(fù)位電路
? 整體閃爍頻率可設(shè)置
? 通過命令進(jìn)入待機模式
? 驅(qū)動電流大,適合高亮顯示場合 ...
展開