|
最近閑來(lái)無(wú)事。瀏覽了一下stc8單片機(jī)的選型表,發(fā)現(xiàn)這個(gè)系列的芯片有不少特殊功能,其中就有我想玩的觸摸按鍵功能。于是就想買(mǎi)來(lái)芯片體驗(yàn)一下。畢竟對(duì)新人來(lái)講,僅靠看技術(shù)手冊(cè)和現(xiàn)成的例程,心里還是感覺(jué)沒(méi)底。
stc官方提供了這個(gè)功能的強(qiáng)大的應(yīng)用例程,它是觸摸按鍵和數(shù)碼管的綜合應(yīng)用,我還沒(méi)學(xué)到數(shù)碼管,所以實(shí)驗(yàn)時(shí)就把程序修改了一上。用TFT屏做為輸出,顯示按鍵的結(jié)果,感覺(jué)程序更簡(jiǎn)單,也更容易移植,TFT屏還可以顯示程序運(yùn)行過(guò)程中的任意想顯示的變量,方便對(duì)程序的理解和調(diào)試。
程序仍然采用模塊化編程,顯示屏驅(qū)動(dòng)采用舊的程序模塊直接掛上來(lái)使用,主要做了觸摸功能的程序模塊,內(nèi)含觸摸功能初始化,觸摸鍵檢測(cè),觸摸中斷服務(wù)及少量輔助函數(shù)。程序的構(gòu)架盡量采用了stc官方例程的內(nèi)容,尤其是核心算法方面。完全復(fù)制了stc官方例程的內(nèi)容。修改的內(nèi)容主要是為了與數(shù)碼管功能脫鉤。(同時(shí)適應(yīng)tssop20這個(gè)引腳校少的芯片。)方便掛接其它應(yīng)用程序。程序的功能就是在接觸一個(gè)按鍵后。顯示屏上顯示出相應(yīng)按鍵對(duì)就的端口數(shù)值。下面是主程序,完整程序還是放在附件里了。
#include "mcu_initial.h"
#include "tft089_driver.h"
#include "touch_drv.h"
#include "stdio.h"
#include "intrins.h"
void main(void)
{
mcu_initial();
lcd_initial();//1.8吋屏初始化
//TFT089_init() ;
TFT_clear();
digit6_display(0,0,222);//隨便顯示一個(gè)數(shù)字表示屏初始化成功
touch_initial();//觸摸功能初始化
while (1)
{
check_touch();//檢查觸摸鍵
}
}
附圖能看到實(shí)物結(jié)構(gòu),基本就是最小系統(tǒng),觸摸參考電容和限流電阻直接使用了stc官方技術(shù)手冊(cè)推薦的數(shù)值。芯片焊接時(shí)采用了電子顯微鏡,焊接位置偏差大幅減小,觸摸鍵懶得做了。直接用了一排針代替,缺點(diǎn)是相鄰針靠的有點(diǎn)近。會(huì)有干擾,實(shí)用時(shí)不能這樣玩。
|
-
觸摸1.jpg
(3.74 MB, 下載次數(shù): 112)
下載附件
2023-6-23 09:16 上傳
-
觸摸2.jpg
(3.51 MB, 下載次數(shù): 111)
下載附件
2023-6-23 09:17 上傳
-
-
touch_test.zip
2023-6-23 09:16 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
246.43 KB, 下載次數(shù): 78, 下載積分: 黑幣 -5
Keil代碼下載
評(píng)分
-
查看全部評(píng)分
|