適合于國內血糖儀的微處理器全方面解析方案
系統軟件設計
系統軟件采用C語言編寫。其主程序框架如圖4所示。
圖4 主程序框圖
對于便攜式設備,電池壽命至關重要;設計時應盡量降低功耗,使系統盡可能長時間停留在低功耗狀態。因此,考慮設備在適當的時候自動關機。這里采用了一個定時器。當定時器大于0時,系統處于開機狀態;當定時器倒數到0時,系統自動關機。這個定時器是由單片機中的Basic Timer實現的。通過軟件對Basic Timer控制寄存器進行設置,將信號源設為輔助時鐘,大小為32KHz,并進行256分頻,再對中斷定時間隔控制位進行設置,使得中斷每秒進行一次,并且每次到來時都對定時器減1,這樣就實現了定時器每秒減1的功能。具體操作是這樣:開機時,對定時器初始化一個大于0的值,比如30,并且在每按一次有效鍵時,系統重新初始化這個值。因此,當沒有按任何有效鍵時,30秒后就會自動關機,從而實現省電目的。
系統也具有實時時鐘功能,它的實現方式與上述的定時器類似。只是將“每秒減1”改為“每秒加1”;具體操作:每次中斷時都對秒變量進行加1,當秒變量的值變為60時,就對分鐘變量加1,而秒變量又重新從0開始計數;同樣,當分鐘變量累加到60時,就對小時變量加一,而自身又從0開始計數。依次類推,就可以實現實時時鐘和日期功能。
為滿足個性化需要,還增加了時鐘和單位設置、平均值和溫度顯示等功能。這里就不再贅述了。下面主要介紹一下測量模塊。首先,初始化各個端口以及ADC寄存器;然后等待滴血。當檢測到足量血時,斷電并等待若干秒,使之與試條上的酶充分反應。隨后加電并在一秒后迅速讀取。圖5是與本血糖儀配套使用的試條在不同濃度的血糖與酶反應若干秒后再加電產生的電流的變化曲線。由圖不難看出,加電后一秒曲線就較為平穩,這也是本設計采用“加電一秒”后即可讀取的原因。
計算公式
這部分無疑是本設計的關鍵。表1是使用本設計的樣機測得的部分數據。由表中的數據不難看出,血糖儀和血糖試條的測量重復性較好——CV3%,遠遠高于國家標準7.5%的要求。
表1 部分實驗數據
濃度(mg/dl)
電流(uA) 50 100 200 300 400
1 3.003 6.752 13.101 16.861 19.836
2 3.028 6.678 12.368 17.130 19.621
3 2.918 6.800 13.272 16.764 20.366
4 2.893 6.910 13.028 17.179 20.622
5 3.064 7.081 13.614 17.574 20.341
6 2.881 7.106 13.211 17.264 20.268
7 3.075 6.703 12.905 17.628 19.645
8 2.905 6.849 13.150 17.029 20.158
9 2.991 7.130 13.233 17.081 20.024
10 2.901 7.240 12.964 16.838 20.952
均值 2.9659 6.9249 13.0846 17.1348 20.1833
均方差 0.0746 0.2001 0.3200 0.2924 0.4218
CV(%) 2.5153 2.8896 2.4456 1.7065 2.0898
評論