適合于國內(nèi)血糖儀的微處理器全方面解析方案
系統(tǒng)軟件設(shè)計
系統(tǒng)軟件采用C語言編寫。其主程序框架如圖4所示。
圖4 主程序框圖
對于便攜式設(shè)備,電池壽命至關(guān)重要;設(shè)計時應(yīng)盡量降低功耗,使系統(tǒng)盡可能長時間停留在低功耗狀態(tài)。因此,考慮設(shè)備在適當(dāng)?shù)臅r候自動關(guān)機(jī)。這里采用了一個定時器。當(dāng)定時器大于0時,系統(tǒng)處于開機(jī)狀態(tài);當(dāng)定時器倒數(shù)到0時,系統(tǒng)自動關(guān)機(jī)。這個定時器是由單片機(jī)中的Basic Timer實(shí)現(xiàn)的。通過軟件對Basic Timer控制寄存器進(jìn)行設(shè)置,將信號源設(shè)為輔助時鐘,大小為32KHz,并進(jìn)行256分頻,再對中斷定時間隔控制位進(jìn)行設(shè)置,使得中斷每秒進(jìn)行一次,并且每次到來時都對定時器減1,這樣就實(shí)現(xiàn)了定時器每秒減1的功能。具體操作是這樣:開機(jī)時,對定時器初始化一個大于0的值,比如30,并且在每按一次有效鍵時,系統(tǒng)重新初始化這個值。因此,當(dāng)沒有按任何有效鍵時,30秒后就會自動關(guān)機(jī),從而實(shí)現(xiàn)省電目的。
系統(tǒng)也具有實(shí)時時鐘功能,它的實(shí)現(xiàn)方式與上述的定時器類似。只是將“每秒減1”改為“每秒加1”;具體操作:每次中斷時都對秒變量進(jìn)行加1,當(dāng)秒變量的值變?yōu)?0時,就對分鐘變量加1,而秒變量又重新從0開始計數(shù);同樣,當(dāng)分鐘變量累加到60時,就對小時變量加一,而自身又從0開始計數(shù)。依次類推,就可以實(shí)現(xiàn)實(shí)時時鐘和日期功能。
為滿足個性化需要,還增加了時鐘和單位設(shè)置、平均值和溫度顯示等功能。這里就不再贅述了。下面主要介紹一下測量模塊。首先,初始化各個端口以及ADC寄存器;然后等待滴血。當(dāng)檢測到足量血時,斷電并等待若干秒,使之與試條上的酶充分反應(yīng)。隨后加電并在一秒后迅速讀取。圖5是與本血糖儀配套使用的試條在不同濃度的血糖與酶反應(yīng)若干秒后再加電產(chǎn)生的電流的變化曲線。由圖不難看出,加電后一秒曲線就較為平穩(wěn),這也是本設(shè)計采用“加電一秒”后即可讀取的原因。
計算公式
這部分無疑是本設(shè)計的關(guān)鍵。表1是使用本設(shè)計的樣機(jī)測得的部分?jǐn)?shù)據(jù)。由表中的數(shù)據(jù)不難看出,血糖儀和血糖試條的測量重復(fù)性較好——CV3%,遠(yuǎn)遠(yuǎn)高于國家標(biāo)準(zhǔn)7.5%的要求。
表1 部分實(shí)驗(yàn)數(shù)據(jù)
濃度(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
評論