《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 觸摸傳感器QST108與PIC16F877A單片機的接口設計
觸摸傳感器QST108與PIC16F877A單片機的接口設計
中國礦業大學
黃亞 錢滔 張益維
摘要: 其工作原理采用了美國昆騰公司的電荷轉移電容專利技術(QProx),支持8個獨立按鍵,且可選擇按鍵狀態檢測輸出或I2C總線控制2種正常工作方式;同時,通過軟件命令可使其進入低功耗模式,當有按鍵按下時可被喚醒。QST108特有的相鄰按鍵抑制算法使得一個按鍵在按下未松開時,其他按鍵處于無效狀態;自校準和自動漂移補償功能使其無須人工校準,從而進一步降低了QST108的應用難度。引腳配置如圖1所示,各引腳功能如表1所列。
Abstract:
Key words :

    1 概 述 

    QST108是意法半導體公司針對人機界面的觸摸按鍵控制而推出的電容觸摸傳感器

    其工作原理采用了美國昆騰公司的電荷轉移電容專利技術(QProx),支持8個獨立按鍵,且可選擇按鍵狀態檢測輸出或I2C總線控制2種正常工作方式;同時,通過軟件命令可使其進入低功耗模式,當有按鍵按下時可被喚醒。QST108特有的相鄰按鍵抑制算法使得一個按鍵在按下未松開時,其他按鍵處于無效狀態;自校準和自動漂移補償功能使其無須人工校準,從而進一步降低了QST108的應用難度。引腳配置如圖1所示,各引腳功能如表1所列。

    2 QST108的工作方式

    2.1 按鍵狀態檢測輸出方式

    QST108具有按鍵狀態檢測輸出和I2C總線控制2種正常工作方式。引腳OPT1的高低電平決定QST108的具體工作方式:高電平,工作在按鍵狀態檢測輸出方式;低電平,則為I2C總線控制方式。當工作在按鍵狀態檢測輸出方式時,8個按鍵的狀態由引腳OPT6的電平決定,直接或以BCD碼方式通過引腳KOUT1~KOUT8輸出。其中,BCD碼方式只用到引腳KOUT1~KOUT4。由于該操作模式較簡單,本文只詳細討論了QST108工作在I2C總線控制方式下,與PIC單片機的接口設計及注意事項。

    2.2 I2C總線控制方式

    該方式下,QST108通過I2C總線與微控制器相連。QST108作為從機,引腳OPT4、OPT3、OPT2的輸入電平決定了QST108作為I2C總線上從機地址的低3位,高4位地址固定為0101。通過軟件設置可提供QST108使用的最大靈活性。可提供5個引腳作為通用輸出端口。

    3 QST108的主要操作命令

    當QST108在I2C總線控制方式下工作時,主要是通過I2C總線協議向QST108發送各種控制命令,其中包括初始化設置命令、QST108的按鍵狀態讀出命令等。操作命令按其長度分為短命令幀和擴展命令幀。考慮到前者已可完成QST108的正常操作,本文只介紹短命令幀。其數據格式如表2所列,常用命令如表3所列。注意,當QST108收到不同的命令時,會給出不同的應答幀結構。

    當命令為短幀結構時,命令幀的首字節的最高位為1,以與擴展命令相區別。命令ID是命令編號,由5位數據組成,用來區分不同的命令;參數位只有1位,當該位置1時代表該命令具有1個字節的參數,若為0則該命令無參數且無校驗和字節;校驗位用來產生奇校驗,注意該校驗位只針對命令幀的首字節(即命令幀的第1個字節中,“1”的個數為奇數);8位校驗和是命令幀的前2個字節的累加和的低8位。

    若QST108未能正確接收到命令或接收了非法命令,則會給出統一的含有錯誤代碼的應答幀(只包含一個字節),如表4所列。對QST108來說,與讀觸摸按鍵狀態命令相對應的應答數據幀結構如表5所列。

    由表4可知,錯誤幀只有一個字節的數據,校驗位提供了判斷是否正確接收了該數據的簡單依據。錯誤代碼共6位,用來區分不同的錯誤。比如,錯誤代碼為0x01,表示QST108收到一個非法命令;錯誤代碼為0x11,表示接收的命令的校驗和出錯等。

    由表5可知該應答幀的長度為4個字節,SCK1~SCK8分別代表了觸摸按鍵的狀態,為1表示相應的按鍵按下,為0表示對應的按鍵沒有按下;最后一個字節為校驗和,即應答幀前3個字節的累加和的低8位。需要強調的是,按鍵錯誤代碼只有低3位有效:位0表示QST108正在進行校準狀態;位1表示目前累加的按鍵次數是否到了器件提供的最大按鍵數目,為1表示達到最大數目;位2表示目前是否達到最少按健次數。同時,還需注意區分QST108發出的應答幀是錯誤幀,還是正確接收到命令給出的正常應答幀結構。辦法很簡單,當軟件讀取應答幀的第1個字節后判斷其最高位:是0,表示為正常的應答;是1,表示接收的為錯誤幀,此時主機只需產生停止位并進行出錯處理或停止操作。

    4 QST108與PIC的接口電路

    圖2給出了基于QST108與PIC單片機的觸摸按鍵檢測實用電路設計。QST108與PIC通過I2C總線通信,接口簡單,按鍵輸入部分參考了其數據手冊給出的典型應用電路圖的設計方法。單片機選用PIC16F877A,其片內資源豐富,MSSP模塊支持I2C總線協議,控制QST108非常方便。QST108的IRQ引腳與PIC16F877A的外部中斷輸入引腳RB0相連,由于IRQ引腳為開漏輸出,所以必須接上拉電阻。當有按鍵被按下時,IRQ引腳由高變低觸發PIC16F877A產生外部中斷,單片機發出讀取按鍵狀態命令從而確定哪個鍵被按下,之后根據不同的按鍵進行不同處理。

    5 軟件設計

    軟件部分包括PIC16F877A和QST108的初始化、觸摸按鍵檢測子程序、單片機的中斷程序,以及根據按鍵檢測的結果進行各種處理的程序等。限于篇幅,本文只給出了PIC16F877A讀取按鍵狀態的子程序。假設QST108的器件地址為0,程序如下:

    結 語

    本文著重介紹了電容式觸摸傳感器QST108的工作方式、主要操作命令以及QST108與PIC單片機的接口設計。QST108允許用戶用普通或撓性印制電路板設計8鍵電容性觸摸板,因此可將導電墨印刷在電路板上作為感應電極;基于QST108應用的外部組件需求很少,每個通道只需1個采樣電容和1個電阻。由于具有這些特點,QST108非常適合應用在能夠對用戶觸摸做出響應的智能控制界面中。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲人成网站色7799| 美国一级大黄一片免费网站| 狠狠色香婷婷久久亚洲精品| 手机在线视频你懂的| 日本免费色网站| 韩国精品一区二区三区无码视频| 里番acg全彩本子在线观看| 蜜柚最新在线观看| 香港经典aa毛片免费观看变态| 鸣人向纲手开炮| 青草青草视频2免费观看| 车文里的冰块棉签是干啥用的 | 色综合久久中文字幕无码| 金莲你下面好紧夹得我好爽| 色www永久免费视频| 精品人妻潮喷久久久又裸又黄| 电影在线观看视频| 欧美日韩激情一区二区三区| 欧美三级欧美一级| 暖暖免费高清日本中文| 手机在线观看视频你懂的| 彩虹男gary网站| 国模gogo中国人体私拍视频| 国产男女免费完整版视频| 国产亚洲日韩在线a不卡| 午夜片在线观看| 亚洲深深色噜噜狠狠爱网站| 亚洲一区第一页| 久久国产乱子伦精品免费强| 中文字幕无码不卡免费视频| 久久久不卡国产精品一区二区 | 最好看最新日本中文字幕| 欧美日韩生活片| 日韩无套内射视频6| 性无码专区无码| 国产成人免费片在线视频观看| 人人妻人人澡人人爽人人精品| 久久久久高潮毛片免费全部播放| 18女人腿打开无遮挡网站| 精品国产一区二区三区香蕉| 日韩精品一区二区三区在线观看l 日韩精品一区二区三区毛片 |