超聲波液位計研發的探討 二十八
PCA 包括一個專用的16 位計數器/定時器時間基準和5 個可編程的捕捉/比較模塊。每個捕捉/比較模塊都有6 種工作方式:邊沿觸發捕捉、軟件定時器、高速輸出、8 位脈沖寬度調制器、頻率輸出、16 位脈沖寬度調制器。時間基準的時鐘可以是下面的六個時鐘源之一:系統時鐘/12、系統時鐘/4、定時器0溢出、外部時鐘輸入(ECI)、系統時鐘和外部振蕩源頻率/8。PCA 捕捉/比較模塊的I/O 和外部時鐘輸入可以通過數字交叉開關連到MCU 的端口I/O 引腳。
綜上所述,利用C8051F020 片內提供的功能強大、種類繁多的模擬與數字功能部件,可以省去許多外圍硬件電路,極大的簡化了系統的硬件設計,節省了硬件成本,有利于儀器的集成化,這便是選擇它的主要原因。
§2-6 鍵盤及顯示電路
本課題依據實際需要,設計了包含七個按鍵的鍵盤電路和四個LED 數碼管組成的顯示電路,以實現人機交互的功能。用戶通過鍵盤可以對超聲波液位計進行一些參數的預設置、調整以及相關功能的控制,例如液位計的開啟和關斷、數據的顯示、儀表的各種參數校正等;顯示電路則可以提供儀表的許多實時信息等。鍵盤有編碼鍵和非編碼鍵兩種,本文采用非編碼鍵盤設計方式。鍵盤電路如圖2.24 所示。
多數鍵盤的按鍵均采用機械彈性開關。由于機械觸點的彈性作用,當鍵被按下和放開時,可能會出現電平狀態反復變化,稱作鍵盤抖動,若不作處理會引起按鍵盤命令錯誤,所以要進行去抖動處理,以讀取穩定的鍵盤狀態為準。通常有兩種方法去抖:一是用RC 濾波電路,合理選擇R 和C 即可取得較好的果。因此,當按鍵的個數較多時,不僅增加了電路的成本,而且會降低系統的可靠性。因此,通常選用軟件消抖的辦法。鍵盤機械抖動的時間約在10ms 一40ms 之間,用軟件延時的方法等待抖動自動消失,
然后再確認該鍵的狀態是否改變,實質上它是以占用CPU 的時間為代價來實現的。本課題采用的是第二種軟件去抖方法。
本系統設計了7 個按鍵,在實際的按鍵操作中,若同時按下兩個以上的按鍵,本系統則認為這幾個按鍵的操作均無效。若先后按下兩個以上的按鍵,則只發送最先按下鍵的碼值。當有鍵按下的時候,中斷服務子程序中進行掃描并讀入鍵碼,判斷是哪一個鍵被按下,然后執行相應的操作。軟件上,采用中斷查詢的方式,進行鍵盤處理程序的設計。
超聲波液位計