基于單片機的血沉自動測試儀的設計課程設計論文_第1頁
基于單片機的血沉自動測試儀的設計課程設計論文_第2頁
基于單片機的血沉自動測試儀的設計課程設計論文_第3頁
基于單片機的血沉自動測試儀的設計課程設計論文_第4頁
基于單片機的血沉自動測試儀的設計課程設計論文_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1 / 31基于單片機的血沉自動測試儀的設計基于單片機的血沉自動測試儀的設計摘摘 要要 近年來,隨著電力電子技術、控制技術以與傳感器技術的水平的提高,各種醫(yī)療儀器逐漸由以前的人工操作和測量改進為全自動或者半自動檢測。本文所設計的血沉自動測試儀能有效地解決人工操作帶來的測量誤差等問題,因此具有廣闊的應用前景。本文將自動控制技術應用在血沉值測試中,對血沉值的測試原理與其應用進行了理論分析,利用單片機作為系統(tǒng)的中央控制芯片,設計了信號采集電路、步進電機驅動電路、多路選擇開關電路、電壓比較器電路、鍵值采集電路、液晶顯示電路、串行通信電路等硬件電路并對其工作原理進行了分析。利用 C 語言編寫了系統(tǒng)的控制

2、程序,包括系統(tǒng)的初始化程序、數據采集和處理程序、運行狀態(tài)和結果的顯示程序、鍵值采集程序、步進電機驅動程序、結果的打印程序等。最后對本文所設計的硬件電路和軟件部分進行了總體調試,并選取四組血樣進行了重復測試,得到的結果與實際結果具有很好的可比性,證明了本設計的可行性,而且它具有檢測速度快、測量準確等優(yōu)點可以使醫(yī)護人員更快更直接的得到測量結果,確保給病人快速準確的診斷。關鍵詞關鍵詞:血沉自動測試儀,步進電機,信號采集,多路選擇開關. 2 / 31目錄第一章緒論第一章緒論 3 31-1 血沉的機理介紹 31-2 血沉的臨床意義與測試方法 41-3 本課題的選題意義與研究現狀 6第二章血沉自動測試儀的

3、原理與構成第二章血沉自動測試儀的原理與構成 7 72-1 血沉自動測試儀原理介紹 72-2 血沉自動測試儀基本構成 92-2-1 紅外對管介紹 92-2-2 電壓比較器介紹 102-2-3 多路選擇開關介紹 112-2-4 步進電機介紹 132-2-5 數據通信 132-2-6 信號傳輸時序 152-3 本章小結 16第三章血沉自動測試儀硬件系統(tǒng)的設計第三章血沉自動測試儀硬件系統(tǒng)的設計 1717第四章血沉自動測試儀軟件系統(tǒng)的設計第四章血沉自動測試儀軟件系統(tǒng)的設計 18184-1 軟件系統(tǒng)設計原理 184-2 軟件系統(tǒng)流程圖簡介 204-3 本章小結 26第五章硬軟件調試與結果分析第五章硬軟件調

4、試與結果分析 272751 硬軟件調試 2752 測試結果分析 29第六章全文總結第六章全文總結 3030參考文獻參考文獻 31313 / 31第一章第一章 緒論緒論1-11-1 血沉的機理介紹血沉的機理介紹血沉現象的出現是由于人體的血液是由血細胞、血小板和血漿構成。取一定的血樣,在其中加入抗凝劑,過一段時間后就和大多的沉淀現象一樣,血樣會出現分層現象,血細胞密度較大會逐漸沉淀到最底端,血漿則在最上端。血液沉降速率的快慢是由于在血流中的紅細胞, 因胞膜表面的唾液所具有的負電荷等因素而互相排斥使細胞間距離為約為 25nm,故彼此分散懸浮而下沉緩慢。如血漿或紅細胞本身發(fā)生改變,則可使血沉發(fā)生變化。

5、在循環(huán)著的血液中紅細胞懸浮于血漿中而不下沉。這種懸浮穩(wěn)定性取決于紅細胞膜和血漿的特性,當用抗凝劑防止血液凝固,并將抗凝的血液放在一定的刻度管中,觀察一定時間紅細胞下沉的速度(用下沉距離表示)叫做“紅細胞沉降率” ,簡稱“血沉” (ESR) 。通常以第 1 小時末血沉管血漿高度為標準,血沉愈快則表示紅細胞的懸浮穩(wěn)定性愈差。血沉測定所得數據將隨儀器與試劑的不同而變化。臨床上通常采用氏法,正常值成年男子為 015mm/第 1 小時末,成年女子為 020mm/第 1 小時末。小兒血沉較成人慢。血沉有生理性增快,見于婦女月經期與妊娠期。此外多為病理性增快,見于結核病進行期或病情惡化、風濕病活動期或腫瘤以

6、與全身性炎癥病例,如急性肺炎等,故測定血沉有輔助診斷的意義。血沉快慢的關鍵,在于紅細胞是否易于發(fā)生疊連現象。紅細胞疊連指紅細胞彼此以凹面相貼而重疊成串錢狀。由于紅細胞與血漿間的摩擦力為紅細胞下沉的阻力,而疊連紅細胞的表面積與容積比減小,也即是和血漿接觸面積減小,彼此摩擦力也就減小,疊連紅細胞就隨單位面積的重量增大而加速下降。當正常人的紅細胞放置在血沉增快的患者血漿中,紅細胞疊連度和血沉正常。由此證明,影響紅細胞疊連的主要因素在血漿中。進一步研究又證明這與血漿蛋白總量無關,而當球蛋白、纖維蛋白原等(帶正電荷)增多時會促進疊連。有人分析紅細胞表面存在帶負電荷的唾液蛋白、白蛋白增多會促使疊連減慢。由

7、于同電相斥,致使紅細胞保持懸浮穩(wěn)定性,當某些因素使血漿中帶正電荷的蛋白質增多或降低紅細胞表面負電荷量時,4 / 31則疊連增快,其詳細機理還不清楚。另外,血漿脂類中膽固醇增多時,可使疊連和血沉加速,卵磷脂則阻止疊連而使血沉減慢。1-21-2 血沉的臨床意義與測試方法血沉的臨床意義與測試方法血沉是一項非特異性的化驗項目。這就是說,血沉加快并不能確定患有哪種病,血沉正常也不意味著沒有病。測定血沉可以了解疾病和觀察疾病的發(fā)展和變化,需要與其他化驗結果和臨床資料結合分析,才能對疾病診斷有所幫助。血沉是一項有效的疾病預警指標,并在一些特殊的情況下可作為一項非常有用的疾病預兆指標。判斷血沉結果的正常與否需

8、按性別區(qū)分,參考圍(氏法):男性為 015mm/h,女性為 020mm/h。血沉增快在臨床上更為常見。氏法無論男女其血沉值達到 25mm/h,為輕度增快;達到 50mm/h 為中度增快;大于 50mm/h 為重度增快。氏法無論男女血沉達到20mm/h 者均為增快。血沉增快的臨床意義如下:生理性增快:婦女月經血沉略增快,可能與子宮膜破傷與出血有關,妊娠 3 個月以上血沉逐漸增快,可達 30mm/h 或更多,直到分娩后 3 周,如無病發(fā)癥則逐漸恢復正常。其增快可能與生理性貧血、纖維蛋白原量逐漸增高、胎盤剝離、產傷等有關。60 歲以上的高齡者因血漿纖維原蛋白量逐漸增高等。也常見血沉增快。小兒的血沉也

9、可略快于參考圍,此時可能與疾病無關。病理性增快:各種炎癥:細菌性急性炎癥時,血中急性反應相物質(acutephase reactant)迅速增多,包括 1 抗胰蛋白酶(-antirypsin) 、2 巨蛋白(2-mactoglobulin) 、C 反應蛋白(C reactiveprotein) 、肝珠蛋白(haptoglobin )、運鐵蛋白(transferrin)、纖維蛋白原(fibrinogen)等,主要因為釋放增多甚至制造加強所致。以上成分或多或少地均能促進紅細胞的線狀聚集,故炎癥發(fā)生后 2-3 天即可見血沉增快。風濕熱的病理改變結締組織性炎病癥,其活動期血沉增快。慢性炎癥如結核病時,

10、纖維蛋白原與免疫球蛋白含量增加,血沉明顯增快。臨床上常用血沉來觀察結核病與風濕熱有無活動性與其動態(tài)變化。各種原因導致的高球蛋白血癥(hyperglobuinemia):亞急性感染性心膜炎、黑熱病、系統(tǒng)性紅斑狼瘡等所致的高球蛋白血癥時,血沉常明顯增快。各種原因引起的相對性球蛋白增高如慢性腎炎、肝硬化時血沉也常增快。多發(fā)性骨髓瘤、巨球蛋白血癥時,漿細胞的惡性增殖致使血漿病理性球蛋白高達 40-100g/L 或更高,故血沉增快。巨球蛋白癥病人,血漿中 5 / 31IgM 增多,其血沉理應增快,但若 IgM 明顯增多而使血漿沾稠度增高即高沾綜合癥時,反而抑制血沉,可得出一個正常甚至減慢的結果。另外惡性

11、腫瘤、組織損傷與壞死、貧血、高膽固醇積壓癥均可導致血沉增快。血沉加快常與以下疾病有關:炎癥性疾病,如急性細菌性炎癥,23 個小時就會出現血沉加快的現象;惡性腫瘤,迅速增長的惡性腫瘤常使血沉增快,而良性腫瘤血沉多正常;各種急性全身性或局部性感染,如活動性結核病、腎炎、心肌炎、肺炎、化膿性腦炎、盆腔炎等;各種膠原性疾病,如類風濕性關節(jié)炎、系統(tǒng)性紅斑狼瘡、硬皮病、動脈炎等;組織損傷和壞死,如大圍的組織壞死或損傷、大手術導致的損傷,心肌梗死、肺梗死、骨折、嚴重創(chuàng)傷、燒傷等疾病亦可使血沉加快;患有嚴重貧血、血液病、慢性肝炎、肝硬化、多發(fā)性骨髓瘤、甲亢、重金屬中毒、惡性淋巴瘤、巨球蛋白血癥、慢性腎炎等疾病

12、時,血沉也可呈現明顯加快趨勢。血沉加快對發(fā)展速度較快的惡性腫瘤具有提示價值:手術將腫瘤切除,或化療、放療治療有效時,血沉可減慢;腫瘤復發(fā)或出現轉移時,血沉還可再加快。良性腫瘤一般血沉不加快或出現減慢現象,因此可以通過這個項目協助初步判斷腫瘤的性質。血沉減慢臨床意義較小,可因紅細胞數量明顯增多與纖維蛋白原含量嚴重減少所致,見于各種原因所至的脫水、血濃縮、真性紅細胞增多癥、彌漫性血管凝血、低纖維蛋白原血癥和球形紅細胞增多癥等。血沉的快慢還可輔助觀察病情的變化。如風濕病、結核病血沉加快的程度常與病情輕重有關?;顒悠谘良涌?;病情好轉時血沉速度減緩;非活動期血沉可以恢復到參考圍。因此,測定血沉可大致推

13、測疾病的發(fā)展與觀察治療效果。例如,紅斑狼瘡病人的血沉從平穩(wěn)到加快表明病情進入活動期,長期穩(wěn)定在參考圍就說明病情得到了控制。有關血沉的臨床應用,已在風濕病診斷中廣泛證實。有報道,正常動脈炎在短時間發(fā)生率僅在0.2% ,而僅有 4.0% 的動脈炎患者血沉小于 30 mm 。觀察發(fā)現,多發(fā)性肌炎 ESR 與疼痛密切相關,為疾病活動性的重要標志物。除風濕病外,近年臨床還觀察到在鐮狀細胞貧血、骨髓炎在診斷上也有價值。而且 ESR 對腦卒中與急性冠狀動脈炎的病程進展也有參考價值,還可預測死亡率。并可評估是否因炎癥所致血小板破壞與血栓形成。因此,從臨床的角度看, 血沉是一項值得推廣的實驗方法。既然血沉作為一

14、項非特異性的指標對人的生理病理有如此重要的臨床意義,如何迅速而準確的得到血樣的血沉值,就成為全世界關注的問題。血沉值測定的方法有多種,有氏法(Westergren 法) 、庫氏法(Coulter 法、 ) 、溫氏法(Wintobe-landsbrey 法) 、氏法。過去一直使用國際血液學6 / 31標準委員會(ICSH)推薦的氏法,也是該委員會推薦的唯一的血沉測定法。國際血液學標準化委員會(ICSH)要求血沉報告必須采用氏法結果。我國在 1983 年全國臨床檢驗方法學學術會議上推薦氏法作為血沉值測定的參考方法。氏法的操作過程是:患者于清晨空腹抽取靜脈血 1.6ml,按照 4:1 與 109mo

15、l/L 的枸椽酸鈉溶液(抗凝劑)0.4ml 混勻,然后吸入清潔、干燥的標注氏血沉管中,并調至零刻度處。讓后將血沉管插入血沉架中,血沉管要求在室溫下嚴格垂直放置,避免直射、振動和血液外溢。一小時以后讀出血漿凹液面底部至沉降紅細胞柱頂部之間距離數,即為血沉結果。1-31-3 本課題的選題意義與研究現狀本課題的選題意義與研究現狀生命對于每個人來說都是最寶貴的。隨著社會的發(fā)展和科技的進步,人民文化水平和整體素質的提高,越來越多的人開始關注健康問題。血沉作為一個具有重要臨床意義的指標也同樣受到越來越多人的關注。紅細胞沉降率( ESR )是一項傳統(tǒng)而又應用圍比較廣的古老的實驗技術。自瑞典醫(yī)師 Fabrae

16、us(8) 。1921 年首創(chuàng)以來,手工原始的氏法(Westergren)在一個多世紀以來修改很少,氏法(Westergren)作為國際參考的方法之一,至今仍被廣泛應用,但是由于氏法采用的是人工定時目測法,整個流程采用的是人工操作,因此易于出現技術錯誤,實際測試工作中血沉管的清潔度、放置位置是否垂直、室外溫度的高低、判斷時間是否嚴格以與觀察血沉管的角度等因素均會影響血沉測定的結果。而且需要專門的醫(yī)護人員進行操作,操作過程較為繁瑣,浪費了不少人力和物力資源,雖然被多數實驗室和醫(yī)院采用,但是效果都不太理想。80 年代以來,隨著電力電子技術,控制技術、傳感器技術和光電技術的發(fā)展和應用,以與人們對血沉

17、檢測時間和檢測精度的要求越來越高,隨之在國外的一些國家如:美國、意大利、日本、西班牙等產生了由單片機或其他微處理器控制的血沉自動測試儀。它是把光電技術與計算機技術運用在傳統(tǒng)測試中,將人工操作的部分利用光電傳感器來完成,動態(tài)分析紅細胞的沉降過程,由于采用計算機進行數據采集和處理,它的可靠性遠遠大于傳統(tǒng)的氏測量法,大大降低了操作過程中各種人為因素給測試結果帶來的誤差,并且由計算機自動打印測試結果,同時避免了人為目測讀取結果引起的偏差,為臨床測試提供了很大的方便。血沉自動測試儀一般采用一次性的血沉管,可以提高測試結果的準確性并避免了血樣之間的交叉影響,有利于臨床的推廣使用。綜上所述,血沉自動測試儀成

18、為近年來血沉測量的發(fā)展趨勢,隨著檢驗醫(yī)學的飛速發(fā)展,血沉自動測試儀在國外已有不少產品,國外一些醫(yī)院和實驗室已經開始使用自動血沉測試儀進行血沉值的測量,其測量結果和氏法相7 / 31比較有良好的相關性和準確性,基本滿足臨床的需要,值得臨床的推廣和使用。我國是一個人口大國,國大大小小的醫(yī)院數不勝數,可以說血沉自動測試儀在我國有著與其廣闊的市場前景。從查閱到的國公開的文獻資料來看,目前我國使用的血沉自動測試儀大多是從國外進口的產品或是引進國外的技術自己加工生產,國自主設計生產的血沉自動測試儀相關報道不是很多。但是從國外進口的儀器一般價格比較昂貴,而且由于操作和顯示部分大都采用的是全英文形式,這樣對一

19、些醫(yī)護人員進行快速準確的操作有相當的難度,大大延長了血沉測試的周期,降低了醫(yī)院的工作效率;同時因為血沉的測量對血沉管的測量比較嚴格,血沉管的粗細長短都影響最終測定的血沉值,不同型號的血沉自動測試儀配套的血沉管都是不一樣的,每個血沉管的使用周期比較短,因此購買與儀器配套的血沉管也成為醫(yī)院面臨的一個比較麻煩的問題。為了有效地解決進口血沉自動測試儀帶來的上述問題,滿足國大多數醫(yī)院的需要,以達到快速、準確地測定血沉值的目的,本課題基于氏法的原理,對血沉自動測試儀進行了設計,論文主要研究容如下:1 設計了血沉自動測試儀的硬件電路。設計合理的硬件電路來實現所需要的測量功能,其中包括數據采集和處理電路的設計

20、、存儲器接口電路的設計、人機接口電路的設計、串行通信電路的設計等。2 利用 C 語言編寫了針對該血沉自動測試儀的控制系統(tǒng)。包括采樣控制程序、步進電機驅動程序、數據處理程序、串行通信程序、鍵盤掃描程序、液晶顯示程序、打印驅動程序等。最終實現儀器的自動控制。3 制作血沉自動測試儀的硬件電路板,在 keil Uvision3 的編程環(huán)境下對血沉自動測試儀的硬軟件進行調試,實現自動測定血沉值的目的。4 利用該血沉自動測試儀對幾組特定的血樣進行測試,將測試結果與氏法測得的結果進行分析比較。第二章 血沉自動測試儀的原理與構成。第二章第二章 血沉自動測試儀的原理與構成血沉自動測試儀的原理與構成2-12-1

21、血沉自動測試儀原理介紹血沉自動測試儀原理介紹血沉自動測試儀采用傳統(tǒng)的氏測量方法的原理,在本設計中,把人工測量血漿段環(huán)節(jié)改由利用紅外對管進行。首先,將紅外對管和步進電機固8 / 31定在一起,然后再利用步進電機的上下移動來實現紅外對管的上下移動。由于血樣出現分層后血漿部分比較清澈透光性好,而血細胞部分透光性差,利用紅外對管掃描時就可以很容易識別出哪里是血細胞哪里是血漿。所有的測量和數據處理是由一個單片機所控制的。當紅外對管識別出血細胞和血漿后,利用電壓比較器把測量的信號轉化為單片機可以識別的高低電平,然后傳給單片機進行處理;在單片機控制步進電機上下移動時通過單片機部的記數器來計算步進脈沖的個數以

22、確定步進電機的移動距離最后計算出試管血細胞的沉降位置。本自動血沉自動測試儀設計為每四分鐘掃描一次,為了能夠同時測量多組血樣,在本設計中采用了兩個 8 路的多路選擇開關來控制多個試管插孔,這樣可以實現同時測量十六組血樣。因此就可以把該血沉自動測試儀分為以下幾個模塊,分別是:采集模塊、中心控制模塊、串行通信模塊、鍵盤模塊、顯示模塊和打印模塊。其基本工作電路圖如下所示:9 / 312-22-2 血沉自動測試儀基本構成血沉自動測試儀基本構成采集模塊血沉自動測試儀的采集部分由兩個多路選擇開關,十六組紅外對管,一個電壓比較器和一個步進電機組成。它的基本采集流程是,首先利用安裝在步進電機上的紅外對管來采集試

23、管的液面信號,然后通過電壓比較器將采集到的液面信號轉化為單片機可以識別的高低電平信號,再將高低電平信號傳給單片機進行分析。血沉自動測試儀設計了兩排測試孔,每排有八個孔,為了方便測試,用兩個多路選擇開關來控制每個測試孔位。下面逐一進行介紹。2-2-12-2-1 紅外對管介紹紅外對管介紹實驗所用的紅外對管由一個紅外發(fā)射二極管和一個紅外接收二極管組成,并將其與步進電機固定在一起。其基本原理如下圖所示。當紅外發(fā)射管與紅外接收管之間沒有障礙物時,紅外接收二極管由于接收到紅外光輻射而導通,輸出電平為低;當紅外發(fā)射管與紅外接收管之間有障礙物時,紅外接收二極管截止,輸出電平為高。因而,利用其輸出電平的高低很容

24、易判斷出紅外對管之間有無障礙物。因為血漿和血細胞具有不同的折射系數和反射能力以與透光能力,當用血漿和血細胞分別來遮擋紅外發(fā)射管發(fā)出的紅外輻射時,接收管接收到的信號將發(fā)生很大變化,因此利用紅外接收管輸出電平的高低變化便可以判斷出測到的是血細胞還是血漿。10 / 312-2-22-2-2 電壓比較器介紹電壓比較器介紹電壓比較器是對輸入信號進行鑒幅與比較的電路,它的輸入信號是模擬電壓,輸出信號一般只有高電平和低電平兩個穩(wěn)定狀態(tài)的電壓。本系統(tǒng)中利用電壓比較器將紅外接收管輸出的電壓信號與設定的閥值電壓進行比較,從而輸出單片機可以識別的高低電平,以便單片機進行數據的分析和處理。1、 電壓比較器的原理圖。2

25、.電壓比較器傳輸特性11 / 312-2-32-2-3 多路選擇開關介紹多路選擇開關介紹由于單片機工作速度很快,而本系統(tǒng)中被測參數的變化比較慢,所以一個單片機可供十幾幾十個回路同時使用。但是,單片機在某一時刻只能接收一個通道的信號,因此必須通過多路開關進行轉換,以便完成由多到一的轉換。本系統(tǒng)中要求對十六個通道的信號進行采集,這樣必須通過多通道動態(tài)信息采集來實現。電子集成技術的發(fā)展和計算機技術的進步使得程控放大器和抗混濾波一體化,數據采集可編程化成為現實,大大提高了動態(tài)信號處理的水平精度。電壓比較電路任一時刻只能對一路信號進行處理,為了實現對多路輸入信號進行處理,必須采用多路切換技術,對多路輸入

26、信號進行輪流切換,以使電壓比較器能分時對每一路信號進行處理,多路選擇開關就是為了實現這一功能而設計的電路。為了對十六路模擬輸入信號進行切換,本系統(tǒng)采用了兩片八選一模擬開關芯片 CD4051B 來組成多路選擇開關電路。CD4051B 芯片部含有三組單刀雙擲開關,三組開關具體接通哪一通道,由輸入地址碼 ABC 來決定,具體的對應關系見下表。其引腳分布見下圖。12 / 3113 / 312-2-42-2-4 步進電機介紹步進電機介紹步進電機是一種作為控制用的特種電機, 它的旋轉以固定的角度(稱為“步距角”)一步一步運行,其特點是沒有積累誤差, 所以廣泛應用于各種開環(huán)控制。步進電機的運行要有一電子裝置

27、進行驅動, 這種裝置就是步進電機驅動器, 它是把控制系統(tǒng)發(fā)出的脈沖信號轉化為步進電機的角位移, 或者說控制系統(tǒng)每發(fā)一個脈沖信號, 通過驅動器就使步進電機旋轉一步距角。所以步進電機的轉速與脈沖信號的頻率成正比。所以,控制步進脈沖信號的頻率,可以對電機精確調速;控制步進脈沖的個數,可以對電機精確定位目的。步距角表示控制系統(tǒng)每發(fā)一個步進脈沖信號,電機所轉動的角度。電機出廠時給出了一個步距角的值,如 86BYG250A 型電機給出的值為 0.9/1.8(表示半步工作時為 0.9、整步工作時為 1.8) ,這個步距角可以稱之為電機固有步距角 ,它不一定是電機實際工作時的真正步距角,真正的步距角和驅動器有

28、關,參見下表:主要功能特性: 基于 MCS-51 核和指令系統(tǒng) 可外接 64kB 外部程序存儲器 ROM 32 個雙向 I/O 口 128x8bit 部 RAM(可擴充 64kB 外部存儲器) 3 個 16 位可編程定時/計數器 8k OTP 程序存儲器 6 個中斷源 時鐘頻率 0-33MHz 電源空閑和掉電模式 2.7-5.5V 工作電壓圍 3 位位(OTP ROM) 4 層優(yōu)先級中斷嵌套 雙數據指示器 外中斷喚醒電源掉電模式 全雙工增強 UARL 通道 異步端口復位 幀數據錯誤檢測 可編程時鐘輸出 自動地址識別 布爾處理器14 / 312-2-52-2-5 數據通信數據通信數據通信的基本方

29、式可分為并行通信與串行通信兩種方式:并行通信是指利用多條數據線將一個數據的各位同時傳送;串行通信是指利用一條數據線將數據一位一位的順序傳送。并行通信的特點是傳輸速度快適用于短距離通信,串行通信的特點是通信線路簡單,利用線路或電報線路就可以進行通信,降低成本,適用于遠距離通信,但是通信速度慢。由于本系統(tǒng)的資源有限,而且對速率的要求也不高因此串行通信是最佳選擇。串行通信又分為同步通信和異步通信兩種。同步通信的數據傳輸速率相對異步通信較高,但是同步通信的缺點是要求發(fā)送時鐘和接收時鐘保持嚴格同步,故發(fā)送時鐘除應和發(fā)送的波特率保持一致外,還要求把它同時傳送道接收端去。因此在本系統(tǒng)的設計中采用異步通信。串

30、行接口總是和串行數據傳輸聯系在一起,而串行數據的傳輸通常又被人們習慣的稱為“串行通信” 。可見,為了實現串行通信必須設計和使用相應的串行接口。所以在討論串行接口之前,首先介紹一下串行通信的基本概念。數據傳輸方式在串行通信中,數據是在兩個不同的站之間傳送的。按照數據傳送的方向,串行通信可分為 3 種制式,即單工、半雙工、和全雙工。單工制式這種方式只允許數據按一個固定的方向傳送,如圖,圖中 A 方式只能發(fā)送,叫發(fā)送器;B 方式只能接受,叫接收器。數據只能從發(fā)送器 A 傳到接受器 B 而不能反過來。(2)半雙工方式如圖,數據既能從 A 傳到 B 也能從 B 傳到 A,因此 A 方、B 方都既可作發(fā)送

31、器又可作接收器,通常稱之為收發(fā)器。從這個意義上說,這種方式屬雙向工作方式。但是 A、B 之間只有一根傳輸線,信號只能分時在兩個方向傳輸,不能同時雙向傳輸,所以稱之為半“雙工”方式。在這種方式下工作時,要么 A 發(fā)送 B 接收,要么 B 發(fā)送 A 接收,不能同時工作,一般讓 A、B 都處于接受方式以便隨時響應對方的呼叫,組成一個單15 / 31方向傳輸的通信線路。全雙工制式如圖,A、B 雙方既都是發(fā)送器又都是接收器,且由于相互間有兩根信號傳送線,A 方、B 方可以同時發(fā)送或接收。顯然為了實現這種全雙工傳輸,兩個方向的資源必須完全獨立,A 方和 B 方必須具有獨立的發(fā)送器和接收器,兩個方向的數據通

32、道必須完全打開。這樣,在 A、B 方控制邏輯的協調下才可以同時 A 向 B 發(fā)送,B 向 A 發(fā)送。這種全雙工方式在通信線路和通信機理上都相當于將兩個方向相反的單工方式組合在一起。這三種傳輸方式盡管在收發(fā)控制上有差別,但作為數據發(fā)送和接收的基本原理是一樣的。2-2-62-2-6 信號傳輸時序信號傳輸時序信號傳輸時序圖:16 / 31寄存器讀寫狀態(tài):忙標志位為“”時,表示部操作正在進行,即處于忙狀態(tài)而不接受新的指令,所以,每次接受新指令前,都要讀取標志,只有當其為“”時才可接受。2-32-3 本章小結本章小結本章首先對血沉自動測試儀的原理進行了簡單的介紹,在對原理理解和掌握的基礎上設計了血沉自動

33、測試儀的總體方案,將血沉自動測試儀分為數據采集模塊、中央控制模塊、串行通信模塊,鍵盤輸入和顯示模塊等幾個模塊,并對構成各個模塊的硬件電路進行了介紹和分析。17 / 31第三章第三章 血沉自動測試儀硬件系統(tǒng)的設計血沉自動測試儀硬件系統(tǒng)的設計血沉自動測試儀各個模塊的硬件電路信號采集電路由于本系統(tǒng)要求對十六路模擬輸入信號進行切換,所以本設計中采用兩片八選一模擬開關芯片 CD4051B 來實現,為了節(jié)約系統(tǒng)的資源,設計了一種簡單并且實用的選擇電路,如圖分別是本設計中兩塊 CD4051B 芯片的外圍電路。18 / 31第四章第四章 血沉自動測試儀軟件系統(tǒng)的設計血沉自動測試儀軟件系統(tǒng)的設計要研制一個單片機

34、的實時系統(tǒng),一般包括三個階段:硬件電路設計與印刷電路板的制作,系統(tǒng)軟件流程的設計,系統(tǒng)硬軟件調試。硬件電路設計與電路板的制作是保證應力測試儀實現測量功能的前提;軟件流程設計是決定血沉自動測試儀能實現哪些功能;系統(tǒng)硬軟件調試協調軟件設計與硬件所能實現功能之間的沖突,最后實現血沉自動測試儀所需的功能。本章主要介紹系統(tǒng)的軟件流程設計。4-14-1 軟件系統(tǒng)設計原理軟件系統(tǒng)設計原理在進行軟件編程時,考慮到單片機的特點,充分利用其計算、存儲和19 / 31控制功能以與查表指令帶給它的查表功能,充分發(fā)揮軟件的作用,以達到簡化硬件電路結構,提高系統(tǒng)性能的要求。全部程序由主程序、步進電機驅動子程序、采樣子程序

35、和液晶驅動子程序等組成,力現軟件模塊化。從軟件的功能來看,主要是執(zhí)行軟件,它能完成各種實質性的功能,如檢測、計算、顯示、輸出控制等。軟件任務分析時,應將各執(zhí)行模塊一一列出,并為每一個執(zhí)行模塊進行功能定義和接口定義(輸入、輸出定義)。整個系統(tǒng)軟件可分為后臺程序和前臺程序。后臺程序指主程序與其調用的子程序,這類程序對實時性要求不高,故通常將監(jiān)控程序(鍵盤解釋程序) 、顯示程序等與操作者打道的程序放在后臺程序中來執(zhí)行。而前臺程序安排一些實時性要求較高的容,如定時系統(tǒng)和外部中斷。系統(tǒng)中各個執(zhí)行模塊之間有著各種因果關系,互相之間要進行各種信息傳遞。各模塊之間的關系體現在他們的接口條件上,即輸入條件和輸出

36、結果上。必須嚴格規(guī)定好各個接口條件。在程序編寫過程中,這樣解決這個問題:將每一個執(zhí)行模塊要用到的參數和要輸出的結果列出來,對于與不同模塊都有關的參數,只取一個名稱,以保證同一個參數只有一種格式。然后為每一個參數規(guī)劃一個數據類型。上述各準備工作都完成之后,就可以進行編程了。軟件設計有兩種方法,一種是自上而下,逐步細化;另一種是自下而上,先設計出每一個具體的模塊(子程序) ,然后再慢慢擴大,最后組成一個系統(tǒng)。第二種方法調試比較方便,每設計好一個程序模塊,就能立刻進行調試并看到實際效果,所以課題的軟件設計采用了第二種方法。由于 C 語言可讀性好、易于移植,對于以后軟件的修改和維護更加方便,因此本程序

37、采用 C 語言編寫,同時采用模塊化程序結構方案,使工藝流程清晰明了。為使程序具有很好的可讀性和易于操作,軟件編寫工程中利用了以下幾種編程技術。 軟件延時程序的設計它是一種常用的延時子程序。采用 FOR 循環(huán)語句完成,延時周期較長時采用 FOR 語句嵌套。延時時間與應用程序的晶振和采用的語句有關。在發(fā)送數據時,數據的傳輸過程需要一定的時間,這時調用一個延時子程序,等待數據正確傳輸完成之后,再執(zhí)行下一步指令操作。 子程序的透明性設計子程序在執(zhí)行后,除了完成指定的功能外,不留下任何額外的痕跡。子程序只利用與主程序無關的工作單元,從而保護主程序的各種現場。 子程序的清晰度設計無論是鍵盤輸入的,還是從串

38、行口傳輸過來的命令和數據,在相應子程序中被確定完類型后,只是置相應的標志,即返回主程序。在主20 / 31程序中再根據檢測到的標志,執(zhí)行不同的操作。這樣,程序會很清晰,不容易出錯,即使程序運行出現問題,也很容易找到問題的根源。本課題軟件開發(fā)使用的開發(fā)軟件是德國 keil 公司開發(fā)的基于Windows 的軟件開發(fā)平臺,有功能強大的編輯器、項目管理器和制作工具。Uvision3 支持 8051 所有的 keil 工具,包括 C 編譯器、宏匯編器、器/定位器和目標文件至 HEX 格式的轉換器 Uvision3 提供了以下功能,加速嵌入式應用開發(fā)過程,即非常有特色的源碼編輯器;器件數據庫:配置開發(fā)工具

39、的設置;項目管理器:創(chuàng)建和維護項目;集成制作工具:可以匯編、編譯和嵌入式應用;所有開發(fā)工具的設置都是對話框形式的;真正集成的源碼級調試器,帶高速 CPU 和外圍器件模擬器;AGDI 接口,可在硬件目標中調試軟件,以與連接到 Monitor-51;Uvision3 軟件有菜單欄、可以快速選擇命令按鈕的工具欄、源代碼文件窗口、對話框窗口和信息顯示窗口。Uvision3 允許同時打開多個源碼文件。由于 keil 本身是一個純軟件,還不能直接進行硬件仿真,必須掛接硬件仿真器才可以進行仿真。使用 keil Uvision3 開發(fā)環(huán)境一般是按照下面的流程來完成開發(fā)任務的:建立工程,為工程選擇目標器件;設置

40、工程的配置參數;打開/建立程序文件;編譯和連接工程;糾正程序中的書寫和語法錯誤,并重新編譯連接;對程序中某些純軟件的部分使用軟件仿真驗證;使用硬件仿真器對應用程序進行硬件仿真;將生成的 HEX 文件燒寫到 ROM 中運行測試。4-24-2 軟件系統(tǒng)流程圖簡介軟件系統(tǒng)流程圖簡介本課題系統(tǒng)軟件主要由以下幾個部分組成:系統(tǒng)的初始化、數據采集和處理程序、運行狀態(tài)和結果的顯示程序、鍵盤的輸入掃描程序、步進電機驅動程序、結果的打印程序等。其中系統(tǒng)的初始化是對單片機部資源以與液晶顯示塊進行初始化,數據采集和處理是對紅外對管采集到的電壓信號進行分析處理,鍵盤掃描是對輸入的按鍵進行掃描顯示處理,步進電機驅動是使

41、步進電機帶動紅外對管在特定的時間上下運動。主程序流程圖如圖所示:21 / 31主程序路程圖:22 / 31根據各自功能和執(zhí)行操作的不同,將系統(tǒng)分為幾個主要的功能模塊,這樣既增強了程序的可讀性又易于程序的移植。下面對各個模塊分別進行介紹。初始化流程圖:23 / 3124 / 311、系統(tǒng)初始化25 / 31系統(tǒng)初始化包括:定時器/計數器 0 的初始化、定時器/計數器 2 的初始化、串行口的初始化、外部中斷 1 的初始化、CPU 開中斷、液晶顯示屏的初始化等。2、數據采集和處理 數據的采集和處理是本系統(tǒng)的一個重要環(huán)節(jié)。主要包括:控制步進電機上下運動利用紅外對管檢測試管中液面的位置、將采集到的數據經

42、過電壓比較器送到單片機進行處理、計算試管中液面的高度。數據采集和處理流程圖:3、測量結果的顯示和打印通過鍵盤輸入血樣的位置號,將存儲在單片機與該位置號對應的血樣測量結果通過液晶屏顯示并將結果進行打印。本鍵盤設有 1、3、9 三個功能鍵,它們的功能分別是:輸入血樣的 ID 號、打印結果、顯示結果。“IN”鍵是確認鍵,它是用來確認一個操作或是確認數據的輸入。 “ESC”鍵是刪除鍵,用來刪除輸入有誤的數據,長按此鍵將取消所有操作并返回主顯示界面。26 / 31按鍵判斷流程圖:4-34-3 本章小結本章小結本章首先對系統(tǒng)軟件部分的設計原理進行了說明,對本軟件開發(fā)環(huán)境 keil Uvision3 進行了

43、簡單介紹;該系統(tǒng)的軟件采用了模塊化形式,將軟27 / 31件部分劃分為幾個模塊并進行了介紹,說明了系統(tǒng)的總體流程圖,對初始化、數據采集和處理、結果顯示和打印部分的軟件模塊用流程圖進行了解釋。第五章第五章 硬軟件調試與結果分析硬軟件調試與結果分析551 1 硬軟件調試硬軟件調試在硬件設計、軟件設計完成以后,血沉自動測試儀能不能用,最終還要進行調試才能確定,在方便調試的前提下,使用 TKS-52B 仿真器進行調試。TKS-52B 仿真器的仿真頭有 40 引腳,與 P87C52 的引腳位置完成匹配,所以直接將仿真器插到 P87C52 所在的 DIP 插座上就可以代替 P87C52 進行硬件調試。同時

44、仿真器配合 keil Uvision3 編程環(huán)境就可以進行軟件調試,非常方便。因為軟件調試主要是根據流程圖編程實現血沉自動測試儀的功能,所以這里就不對軟件調試進行過多敘述了,本節(jié)主要介紹硬件調試。硬件調試階段首先要做如下細致的常規(guī)檢查:上電以前,先用肉眼觀察有無短路和斷路情況發(fā)生,再用萬用表檢查電源、地以與一些關鍵的信號線,如讀、寫、復位、片選等是否正確。上電以后,先用手檢查有無異常:用手感覺是否有些芯片特別熱。如果發(fā)現有些芯片燙得很厲害,一般是有問題,需掉電檢查確認無誤或排除故障后再重新上電。如果是電源和接地接錯或發(fā)生短路,那么芯片的損害是很難避免的,需查出錯誤所在,排除后,更換芯片,才能重

45、新上電工作。排除上述問題后,認為系統(tǒng)中無致命的錯誤,接下來可檢查時鐘能否長時間穩(wěn)定的工作。時鐘輸出波形的毛刺水平是否能保證工作可靠。這主要是通過用示波器來觀察晶振輸出波形的質量和精度來檢驗的。檢查復位是否正常,按復位按鈕用示波器觀察其輸出復位脈沖的電平和脈寬是否正28 / 31常。檢查 P87C52 的 ALE 輸出的頻率電平是否正常、穩(wěn)定。關上電源,接上仿真接口。插仿真器接口時,要注意引腳的方向并保證接線正確。上電運行仿真器應該能在屏幕上看到用戶界面。如果出現警告信息,一般是未上電或接線不正確造成的。仔細檢查引腳的連接是否正確,如果正確,仿真接口由于連續(xù)的插拔可能接觸不好,這時應該緊固接口,

46、才能繼續(xù)使用。另外,還有一種可能是配置文件不正確造成的。檢查完畢后,確保無誤后就可以分步地進行硬件的調試了。本課題中最關鍵的一步就是液面數據信號的采集,其他部分的調試在程序運行以后,用肉眼觀察或用萬用表測量某些信號就可以確定硬軟件是否運行正常。確定硬件工作正常以后,接下來的工作就是在 keil Uvision3 的編譯環(huán)境里協調軟件各個模塊之間的邏輯,使硬件電路按照設計的功能動作。液面數據信號采集部分的調試,我們可以在 keil Uvision3 編程環(huán)境里編寫一段程序來使紅外對管工作,然后利用一個不透光的物體擋住紅外發(fā)射管,觀察電壓比較器的輸出端電壓信號,然后把不透光的物體拿開,再觀察電壓比較器的輸出端電壓信號。如果兩次產生的輸出電壓一個是高電平一個是低電平,則表示紅外對管采集到的數據是正確的。程序如下:void sampling()bit sampling_value1,sampling_value2;if(motor_status)y4=0 x81;elsey4=0 x01;Delay(150);sampling_value1=sam

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論