閱讀屋>設計> 基於STM32C8T6微控制器的視力檢測儀設計的研究論文

基於STM32C8T6微控制器的視力檢測儀設計的研究論文

基於STM32C8T6微控制器的視力檢測儀設計的研究論文

  摘 要: 隨著時代的發展, 近視人數在增多, 所以人們要求可以更加方便的測試視力。傳統的視力檢測方法需要醫護人員參與到檢測過程中, 對於測試者及其不方便。本文提出了一種基於STM32F103c8t6微控制器的視力測試儀的設計方案, 軟體採用C語言程式設計, 顯示部分採用串列埠屏顯示, 以國際標準視力表“E”字為視標, 每次隨機顯示一個字元。因此本系統可以進行自我視力檢測, 且本產品使用方便, 成本低, 具有較大優勢。

  關鍵詞: 微控制器; 視力檢測儀; 串列埠屏;

  1、 引言

  視力, 常用視角解析度來表示, 指的是人眼辨別細節的能力。而視力的檢測又常用視力表來檢測, 當今世界視力表有很多種, 目前我國常用的視力表是用“E”字作視標。本文提出了一種基於STM32C8T6微控制器的視力檢測儀的設計方案, 該檢測儀以微控制器為控制核心, 串列埠屏為顯示手段, 語音播報為提示手段, 可進行自我視力檢測。

  2、 硬體設計

  本設計硬體由微控制器主控模組、串列埠觸控式螢幕、藍芽模組和鍵盤輸入模組、語音合成模組構成, 硬體結構圖如圖1所示。微控制器CPU控制語音合成模組發出“開始測試”聲音, 引導測試者進行視力檢測;測試者只需將視標開口方向的判斷情況透過鍵盤輸入即可;微控制器對輸入按鍵值進行判斷是否正確, 同時發出語音提示, 最後透過傳送語音告訴測試者視力情況。

  2.1、 微控制器模組

  微控制器主控模組使用STM32微控制器, 他具有效能好、功耗低和成本低的優點, 其程式儲存器容量是64KB, 微控制器主要完成串列埠屏控制, 語音合成控制以及結果判決等過程, 串列埠屏透過藍芽與微控制器串列埠連線, 用於接收微控制器的指令傳輸。

  2.2、 液晶顯示模組

  串列埠屏是指帶微處理器的'液晶屏, 它包括處理器、LCD液晶顯示屏和其他部分。它接收微控制器UART串列埠傳送過來的指令, 完成在液晶屏上顯示漢字圖案的操作。本系統使用的是淘晶馳串列埠屏, 可以使微控制器對液晶屏的控制變得更加簡單, 讓普通的微控制器可以驅動複雜的影象處理。

  2.3、 無線通訊模組

  藍芽是一種支援裝置短距離通訊的無線電技術。藍芽的標準是IEEE802.15, 工作在2.4GHz頻帶。本系統使用的是藍芽模組HC-05, 其RXD接微控制器的PA9埠, TXD連線微控制器的PA10端, 這樣, 就可實現藍芽模組與微控制器的串列埠通訊。

  2.4、 語音合成模組

  本系統使用的是SYN6288語音合成晶片, 其支援BIG5、GB2312、GBK和UNICODE等常見的格式的文字, 具有可靠的、清晰的、標準的中文語音合成效果。工作方式是透過微控制器向串列埠傳送文字, 然後透過微控制器控制該晶片合成語音, 具有使用方便, 開發方便的優點。

  3、 軟體設計

  採用Keil5作為開發平臺, 流程如圖2所示。根據結構化的思想, 軟體可以分為以下模組:隨機數模組、輸入識別模組、語音合成模組、視力等級判別模組。隨機模組可生成0~3的隨機數, 利用這一隨機數可控制螢幕顯示圖示, 輸入識別模組用於輸入的鍵值, 語音合成模組用於語音提示體驗者的選擇是否正確。結果判別模組是將收到的鍵值與微控制器儲存的視力表比較, 得出視力結果, 透過語音播報視力值與近視度數。

  3.1、 隨機數生成模組

  為了避免每次視力測試的“E”圖示的開口具有規律性, 本系統採用了隨機數去控制每一行中“E”的開口方向, 而這隨機數是由可確定的線性同餘函式透過一個種子產生的, 也就是說可以引用標頭檔案“stalib.h”中的rand () 函式, 即t=rand () %4, 因此這些隨機數在閉區間[0, 3]之間分佈, 從而確定了圖示的開口方向。

  3.2、 輸入識別模組

  本模組是將鍵值資訊傳遞給微控制器, 本系統共使用了六個按鍵值, 按鍵功能如表1所示

  表1 按鍵功能

  3.3、 語音合成模組

  當微控制器需要發出語音的時候, 微控制器就會向串列埠UART1傳送需要的中文字元, 然後語音合成函式speech () 就會對其處理, 最後發出語音提示測試者。

  3.4、 視力等級判別模組

  微控制器將獲得的鍵值與程式中的視力表陣列進行對比, 採用的演算法是, 從視力表的首行開始, 每次每行隨機取出三個視標, 參與者答對的話, flag_correct加1, 當flag_correct大於3的時候, 就會直接進入下一行測試。當第一次出現同一行的答錯次數大於3次時, 則返回上一行進行測試, 記錄標誌位flag_return為1.在接下來的測試中再次出現答錯次數大於3次時, 記錄標誌位flag_return為2, 這時輸出結果為當前上行的視力值。

  4、 結束語

  本文設計了一種基於STM32C8T6微控制器的智慧視力測試儀, 相比較古老的、傳統的視力檢驗, 可在無專業人員幫助的情況下, 自我進行對視力測試。透過實驗表明本系統對視力大的檢測確實帶來了方便, 測試結果也較為準確。不足之處在於, 每次透過rand () 函式取得隨機數是否是真正的隨機數, 是否會對視力測試結果造成影響。

  參考文獻:

  [1]姚開麒等。微機化視力檢查系統[J].中國醫療器械, 1992, 16 (06) :340.

  [2]胡忠林。驗光與視力表視力[J].中國眼睛科技, 2006, 12 (12) :104-105.

  [3]邱傑等基於MCS-51微控制器的視力測試儀設計[J], 玉林師範學院學報, 2015, 4 (02) :31-34.

  [4]蔡金川, 張超, 樊麗。基於Zig Bee和GPRS的智慧家居控制系統設計以及感測資料基於時間序列的聚類分析[J].新型工業化, 2017, 7 (03) :52-55.

【基於STM32C8T6微控制器的視力檢測儀設計的研究論文】相關文章: