2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩44頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  本 科 畢 業(yè) 設(shè) 計(jì)</p><p>  醫(yī)院輸液控制系統(tǒng)的設(shè)計(jì)</p><p>  所在學(xué)院 </p><p>  專業(yè)班級(jí) 電子與信息工程 </p><p>  學(xué)生姓名 學(xué)號(hào) </

2、p><p>  指導(dǎo)教師 職稱 </p><p>  完成日期 年 月 </p><p><b>  摘要</b></p><p>  通過(guò)靜脈輸液治療疾病是臨床醫(yī)學(xué)中諸多治療手段中比較重要的一種,大多數(shù)治療都會(huì)采用靜脈輸液來(lái)進(jìn)行,然而

3、根據(jù)病人不同的病情和人體本身體質(zhì)上的差異以及藥物的不同,需要的輸液速率和劑量都因人而異。但目前在我國(guó)大多數(shù)醫(yī)院及醫(yī)療機(jī)構(gòu)臨床輸液中采取的應(yīng)對(duì)措施都基本是人工操作的,由醫(yī)務(wù)人員、患者或陪侍觀察藥液余量,再通過(guò)轉(zhuǎn)動(dòng)輸液器上的手動(dòng)滑輪來(lái)調(diào)節(jié)輸液速度,這些都是一個(gè)大約值,對(duì)每一個(gè)護(hù)士來(lái)說(shuō)都不能確保它的穩(wěn)定性和安全性。而且也都沒(méi)有實(shí)現(xiàn)自動(dòng)監(jiān)控管理,不僅給醫(yī)護(hù)人員、病人帶來(lái)不便,甚至?xí)绊懖∪说闹委熜Ч?,更不利于病區(qū)的綜合管理和醫(yī)療水平的提升。&l

4、t;/p><p>  本文介紹了基于STC12C5A16S2單片機(jī)的醫(yī)院輸液控制系統(tǒng),用激光檢測(cè)點(diǎn)滴速度、步進(jìn)電機(jī)調(diào)節(jié)輸液速度、MAX485芯片進(jìn)行主站和從站之間通信、液晶屏顯示主從站信息等,詳細(xì)說(shuō)明了基于STC12C5A16S2單片機(jī)的醫(yī)院輸液控制系統(tǒng)設(shè)計(jì)中的關(guān)鍵軟硬件技術(shù),設(shè)計(jì)了該系統(tǒng)的接口電路和系統(tǒng)軟件。使得護(hù)士站主機(jī)(主站)能同時(shí)監(jiān)控上百個(gè)病床(從站),主站能定時(shí)巡檢顯示病床實(shí)時(shí)狀況,當(dāng)某個(gè)病床發(fā)生異常情況時(shí)

5、,主站和該病床都能發(fā)出聲光報(bào)警。病床從機(jī)和護(hù)士站主機(jī)間通訊距離可達(dá)100米以上,且具有很高的可靠性。這樣,醫(yī)護(hù)人員在護(hù)士站主機(jī)就能監(jiān)控所有的病床輸液情況,且不管哪個(gè)病床發(fā)生異常,護(hù)士都能及時(shí)、準(zhǔn)確的提供治療和護(hù)理,減輕了護(hù)士的勞動(dòng)強(qiáng)度,也提高了病人的安全和滿意度。</p><p>  關(guān)鍵詞:靜脈輸液;單片機(jī);激光;監(jiān)控;報(bào)警</p><p><b>  Abstract<

6、/b></p><p>  Intravenous infusion is an important clinical treatment, depending on the patient’s condition and physical differences require different infusion speed and discharge. But most hospitals and m

7、edical institutions, infusion in the clinical response is generally taken by the patient, escort, or medical personnel to monitor liquid cushion the situation observed at any time. Nurses turn the manually pulley on the

8、infusion device to control the infusion rate. These are an imprecise value. Infusion did </p><p>  This article describes the hospital infusion control system based on STC12C5A16S2 SCM. Using laser to detect

9、ive the infusion rate, stepper motor to regulate the infusion rate, the communication between master and slave station by MAX485 chip, LCD screen displays the main and slave station’s information, and so on. Detailed des

10、cription of the key design of the system hardware and software technology, designed the system’s interface circuit and system software. Nurses Station host can simultaneous</p><p>  keywords: Intravenous inf

11、usion; SCM(Single Chip Micyoco) ; Laser; Monitor; Alarm</p><p><b>  目錄</b></p><p><b>  前言1</b></p><p>  第1章 系統(tǒng)方案設(shè)計(jì)2</p><p>  1.1 主站要求2</p&

12、gt;<p>  1.2 從站要求2</p><p>  1.3 主站、從站模塊設(shè)計(jì)3</p><p>  1.4 主站方案設(shè)計(jì)3</p><p>  1.5 從站方案設(shè)計(jì)4</p><p>  第2章 系統(tǒng)硬件設(shè)計(jì)6</p><p>  2.1 控制芯片6</p><p&

13、gt;  2.2 護(hù)士站主站電路設(shè)計(jì)7</p><p>  2.2.1 電源電路7</p><p>  2.2.2 顯示電路8</p><p>  2.2.3 按鍵電路9</p><p>  2.2.4 通信電路10</p><p>  2.2.5 報(bào)警電路11</p><p>  

14、2.3 病床監(jiān)控從站電路設(shè)計(jì)11</p><p>  2.3.1 顯示電路11</p><p>  2.3.2 按鍵電路12</p><p>  2.3.3 通信和報(bào)警電路12</p><p>  2.3.4 滴速檢測(cè)電路12</p><p>  2.3.5 電機(jī)驅(qū)動(dòng)電路13</p><

15、p>  第3章 系統(tǒng)軟件設(shè)計(jì)15</p><p>  3.1 主站程序設(shè)計(jì)15</p><p>  3.1.1 主站程序流程15</p><p>  3.1.2 12864液晶操作19</p><p>  3.1.3 按鍵操作22</p><p>  3.1.4 MAX485芯片操作22</p&

16、gt;<p>  3.1.5 報(bào)警操作23</p><p>  3.2 從站程序設(shè)計(jì)23</p><p>  3.2.1 從站程序流程23</p><p>  3.2.2 12232F液晶操作27</p><p>  3.2.3 點(diǎn)滴速度檢測(cè)30</p><p>  3.2.4 點(diǎn)滴速度控制3

17、1</p><p>  第4章 測(cè)試性能33</p><p><b>  結(jié)論34</b></p><p><b>  致謝35</b></p><p><b>  參考文獻(xiàn)36</b></p><p>  附錄1:主站電路圖37</p&

18、gt;<p>  附錄2:從站電路圖38</p><p>  附錄3:主站PCB39</p><p>  附錄4:從站PCB40</p><p>  附錄5:實(shí)物圖41</p><p><b>  前言</b></p><p>  目前,我國(guó)絕大部分醫(yī)療機(jī)構(gòu)使用的一般都是人工

19、監(jiān)控點(diǎn)滴輸液裝置,將輸液瓶掛在專門的輸液架上,利用勢(shì)能差產(chǎn)生的壓強(qiáng)將藥液通過(guò)靜脈輸入到病人體內(nèi),用軟管夾的滾輪來(lái)控制點(diǎn)滴速度,醫(yī)護(hù)人員根據(jù)不同病人的病情、體質(zhì)的差異以及藥物的不同對(duì)輸液速度進(jìn)行控制,而這也只是憑經(jīng)驗(yàn)和肉眼觀察所得出的不精確的值。因此輸液過(guò)程異常、輸液速度發(fā)生異變或監(jiān)控處理不及時(shí)而引發(fā)醫(yī)療事故的概率較高,例如:當(dāng)輸液完成需要換藥液時(shí),若不及時(shí)處理就會(huì)出現(xiàn)空氣進(jìn)入血管內(nèi)形成空氣栓塞、凝血堵塞針頭等情況,輕則影響治療,重則會(huì)危

20、及病人生命安全,造成醫(yī)療事故。醫(yī)護(hù)人員的工作量大,勞動(dòng)負(fù)擔(dān)重。所以這種手工操作必須用自動(dòng)化監(jiān)控系統(tǒng)來(lái)代替。</p><p>  醫(yī)院輸液控制系統(tǒng)因此被設(shè)計(jì)成能自動(dòng)監(jiān)控輸液速度,并可在50~120(滴/分)之間設(shè)定所需的任意輸液速度。當(dāng)輸液過(guò)程異常,病床和護(hù)士站主機(jī)都會(huì)立即發(fā)出聲光報(bào)警信號(hào),以提醒醫(yī)護(hù)人員及時(shí)進(jìn)行處理。醫(yī)護(hù)人員無(wú)需再在病床間來(lái)回監(jiān)控,在護(hù)士站主機(jī)便可看到各個(gè)病床的輸液情況,通過(guò)護(hù)士站主機(jī)提供的功能鍵

21、便可對(duì)各個(gè)病床的輸液情況按所需進(jìn)行調(diào)節(jié)。這套系統(tǒng)通過(guò)使用光電檢測(cè)技術(shù)、單片機(jī)技術(shù)、通信技術(shù)等方便了病人和醫(yī)護(hù)人員的及時(shí)聯(lián)系,對(duì)提高醫(yī)務(wù)質(zhì)量起著極其重要的作用,同時(shí)也減少了醫(yī)護(hù)人員的工作強(qiáng)度和失誤,提高了治療質(zhì)量、病人的安全以及病人對(duì)醫(yī)護(hù)人員及醫(yī)院的滿意度等,實(shí)現(xiàn)了醫(yī)院護(hù)理自動(dòng)化和智能化。</p><p>  本文將介紹基于STC12C5A16S2單片機(jī)的醫(yī)院輸液控制系統(tǒng)的設(shè)計(jì),以便安裝和維護(hù)該系統(tǒng)時(shí)的查詢和操作。

22、</p><p>  第1章 系統(tǒng)方案設(shè)計(jì)</p><p>  本次設(shè)計(jì)要求設(shè)計(jì)一套用于醫(yī)院病床的輸液監(jiān)控系統(tǒng),它由一個(gè)護(hù)士站主機(jī)和128個(gè)從站病房輸液監(jiān)控器兩部分組成。考慮到目前醫(yī)院里都有很多的病床,為了對(duì)每個(gè)病床進(jìn)行監(jiān)控,設(shè)計(jì)了如圖1.1所示的病房輸液監(jiān)控系統(tǒng)框圖:</p><p>  圖1.1 病房輸液監(jiān)控系統(tǒng)框圖</p><p> 

23、 根據(jù)上面的系統(tǒng)框圖可以看出,多個(gè)病床監(jiān)控器通過(guò)數(shù)據(jù)線連接到護(hù)士站主機(jī),由護(hù)士站主機(jī)處理及控制從站(病床監(jiān)控器)的數(shù)據(jù)交互。由一個(gè)主機(jī)站來(lái)監(jiān)控多個(gè)從站,這樣醫(yī)護(hù)人員只要通過(guò)一個(gè)終端就可以方便有效及時(shí)的處理多個(gè)病床的信息,而不用再在各個(gè)病床之間來(lái)回巡視檢查,可以提高醫(yī)務(wù)人員的工作效率并降低無(wú)謂的體力勞動(dòng)。</p><p><b>  1.1 主站要求</b></p><p&

24、gt;  主站主要負(fù)責(zé)接收并處理各個(gè)從站的信息,通過(guò)顯示模塊顯示給醫(yī)護(hù)人員,讓醫(yī)護(hù)人員能實(shí)時(shí)監(jiān)控各個(gè)病床的情況。</p><p><b>  主站具體要求如下:</b></p><p>  (1)主站能巡回顯示各從站的編號(hào)、設(shè)定點(diǎn)滴速度和當(dāng)前點(diǎn)滴速度。巡回時(shí)間(3-10秒)可由主站任意設(shè)定。</p><p> ?。?)收到從站發(fā)來(lái)的報(bào)警信號(hào)后,

25、主站能聲光報(bào)警并顯示相應(yīng)的從站號(hào),并可用手動(dòng)方式解除報(bào)警狀態(tài)。</p><p> ?。?)從站直流電源由主站集中供給,主站和從站間的通信協(xié)議自定,但應(yīng)盡可能得減少主站和從站間連接線數(shù)量,通信距離要求大于30米。</p><p>  (4)任一從站的輸液點(diǎn)滴速度均可由主站設(shè)定。</p><p><b>  1.2 從站要求</b></p&g

26、t;<p>  每一個(gè)從站都可以看作一個(gè)獨(dú)立的終端,所要完成的工作都是相同的。即檢測(cè)病床輸液點(diǎn)滴的滴速及時(shí)的反饋給主站,同時(shí)可以通過(guò)判斷滴速或者按照主站的命令抑或人為的方式來(lái)自動(dòng)調(diào)節(jié)滴速以及發(fā)出報(bào)警、解除報(bào)警等應(yīng)急措施。</p><p><b>  從站具體要求如下:</b></p><p>  (1)具有站號(hào)和點(diǎn)滴速度等參數(shù)的輸入設(shè)定功能,在顯示器上能

27、同時(shí)顯示站號(hào)、設(shè)定點(diǎn)滴速度和當(dāng)前實(shí)際點(diǎn)滴速度。</p><p> ?。?)在滴斗處檢測(cè)點(diǎn)滴速度,并能動(dòng)態(tài)顯示點(diǎn)滴速度(滴/分)。</p><p> ?。?)自動(dòng)控制點(diǎn)滴速度,點(diǎn)滴速度設(shè)定范圍為50 ~ 120(滴/分),控制誤差范圍為設(shè)定值±10%。</p><p> ?。?)調(diào)整時(shí)間≤3min(從改變?cè)O(shè)定值起到點(diǎn)滴速度基本穩(wěn)定,能人工讀出數(shù)據(jù)為止)。&l

28、t;/p><p>  (5)輸液結(jié)束(滴速為零),應(yīng)在3秒內(nèi)發(fā)出聲光報(bào)警信號(hào)。</p><p>  1.3 主站、從站模塊設(shè)計(jì)</p><p>  根據(jù)以上要求,設(shè)計(jì)主站和從站的基本模塊如圖1.2所示。</p><p>  圖1.2 主站、從站模塊組成框圖</p><p>  主站主要由5個(gè)部分組成:電源模塊、顯示模塊、

29、按鍵模塊、通信模塊、報(bào)警模塊。</p><p>  從站主要由6個(gè)部分組成:顯示模塊、按鍵模塊、通信模塊、報(bào)警模塊、滴速檢測(cè)模塊、電機(jī)調(diào)速模塊。</p><p>  1.4 主站方案設(shè)計(jì)</p><p> ?。?)從站的電源是由主站來(lái)供給的,所以將電源模塊設(shè)計(jì)集成到主站設(shè)計(jì)的一部分。因?yàn)閱纹瑱C(jī)、LCD、LED、蜂鳴器等元器件所需要的電壓并不高,只有用來(lái)調(diào)節(jié)滴速的電機(jī)

30、需要較高的電壓,考慮電源的穩(wěn)定性和持久性,選擇通過(guò)變壓器將220V的交流電轉(zhuǎn)換為合適的直流電壓之后再給整個(gè)系統(tǒng)供電。</p><p> ?。?)主站的顯示器上要巡回顯示各從站的編號(hào)、設(shè)定點(diǎn)滴速度和當(dāng)前實(shí)際點(diǎn)滴速度,當(dāng)從站有報(bào)警發(fā)生時(shí),還要顯示從站的報(bào)警信息,信息量較大,選擇用12864液晶顯示器來(lái)進(jìn)行信息的顯示。</p><p> ?。?)主站的人機(jī)交互操作通過(guò)幾個(gè)按鍵來(lái)實(shí)現(xiàn)控制,聲光報(bào)警

31、選擇用蜂鳴器和LED來(lái)實(shí)現(xiàn)。</p><p>  (4)主站和從站之間的通信,考慮到主站要和128個(gè)從站進(jìn)行通信,而且要求主站和從站之間的連接線數(shù)量越少越好,選擇使用高傳輸速率、低功耗的MAX485通信芯片來(lái)完成這一工作,而且由于該芯片具有四分之一單位負(fù)載的接收器輸入阻抗,使得總線上最多可以有128個(gè)MAX485收發(fā)器。即可以通過(guò)讓每個(gè)從站配備一塊MAX485芯片,讓主站通過(guò)尋址操作來(lái)確定與哪個(gè)從站通信,以此達(dá)到

32、主站監(jiān)控多個(gè)從站的效果。</p><p>  1.5 從站方案設(shè)計(jì)</p><p> ?。?)從站只需顯示本站的編號(hào),設(shè)定點(diǎn)滴速度和當(dāng)前實(shí)際點(diǎn)滴速度即可,要顯示信息的比較少,選擇使用12232F液晶顯示器來(lái)進(jìn)行顯示。</p><p>  (2)從站的按鍵、報(bào)警采用和主站一樣的設(shè)計(jì)。</p><p>  (3)從站需要對(duì)點(diǎn)滴的滴速進(jìn)行檢測(cè),而點(diǎn)

33、滴滴速檢測(cè)可利用液滴的折射特性[6]來(lái)實(shí)現(xiàn),利用此原理的檢測(cè)方法有紅外線對(duì)管[6]、激光檢測(cè)等。因?yàn)辄c(diǎn)滴測(cè)速很容易受外界的干擾,為了提高檢測(cè)的可靠性和抗干擾性,選擇采用比紅外線穩(wěn)定性更好的激光檢測(cè)。檢測(cè)的原理為:在滴斗處安裝一個(gè)激光發(fā)射管和一個(gè)激光接收管,平時(shí)沒(méi)有液滴低落時(shí),激光接收管能接收到激光發(fā)射管發(fā)射的激光信號(hào),而當(dāng)液滴滴落時(shí),激光被液滴所折射,偏離原先的軌道,激光接收管就不能收到激光發(fā)射管發(fā)射的激光信號(hào),一次液滴滴落就能產(chǎn)生一個(gè)

34、激光脈沖,單片機(jī)只要通過(guò)對(duì)激光脈沖的計(jì)數(shù)就能實(shí)時(shí)的計(jì)算出點(diǎn)滴的滴速。原理圖如圖1.3所示。</p><p>  圖1.3 液滴裝置結(jié)構(gòu)示意圖</p><p> ?。?)由于液壓會(huì)隨著高度的增加而增大,而壓強(qiáng)的增大滴速也隨之加快,所以可通過(guò)電機(jī)拖動(dòng)使儲(chǔ)液瓶上下移動(dòng)來(lái)調(diào)節(jié)滴速,機(jī)械結(jié)構(gòu)示意圖如圖1.3所示。而電機(jī)的特性直接影響到點(diǎn)滴速度的調(diào)節(jié)時(shí)間和穩(wěn)定性,故選擇使用精確性好的步進(jìn)電機(jī)來(lái)進(jìn)行調(diào)

35、速控制,通過(guò)步進(jìn)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)可拖動(dòng)儲(chǔ)液瓶上升或者下降,從而實(shí)現(xiàn)滴速的增加或減慢。</p><p>  第2章 系統(tǒng)硬件設(shè)計(jì)</p><p>  本章具體介紹醫(yī)院輸液控制系統(tǒng)中各個(gè)模塊的電路實(shí)現(xiàn)和接口設(shè)計(jì)。</p><p><b>  2.1 控制芯片</b></p><p>  本次設(shè)計(jì)的醫(yī)院輸液監(jiān)控系統(tǒng)采用的單片機(jī)

36、型號(hào)為STC12C5A16S2,它屬于STC12C5A60S2系列單片機(jī),有16K用戶應(yīng)用程序空間,1280字節(jié)片上集成RAM,是高速、低功耗、超強(qiáng)抗干擾的新一代8051單片機(jī)。內(nèi)部集成有MAX810專用復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換(250K/S,即25萬(wàn)次/秒)。</p><p>  STC12C5A60S2系列單片機(jī)的內(nèi)部結(jié)構(gòu)框圖如圖2.1所示。STC12C5A60S2單片機(jī)中包含中央處理器

37、(CPU)、程序存儲(chǔ)器(Flash)、數(shù)據(jù)存儲(chǔ)器(SRAM)、定時(shí)/計(jì)數(shù)器、UART串口、I/O接口、高速A/D轉(zhuǎn)換、SPI接口、PCA、看門狗及片內(nèi)R/C振蕩器和外部晶體振蕩電路等模塊。STC12C5A60S2系列單片機(jī)幾乎包含了數(shù)據(jù)采集和控制中所需的所有單元模塊,可稱得上一個(gè)片上系統(tǒng)。</p><p>  圖2.1 STC12C5A60S2系列內(nèi)部結(jié)構(gòu)框圖</p><p>  STC

38、12C5A60S2系列單片機(jī)引腳如圖2.2所示。</p><p>  圖2.2 STC12C5A60S2系列單片機(jī)管腳圖(PDIP-40封裝)</p><p>  其中P0口既可以作為輸入/輸出口,也可以作為地址/數(shù)據(jù)復(fù)用總線使用。P1口是用戶專用8位準(zhǔn)雙向I/O口,具有通用輸入/輸出功能,每一位都能獨(dú)立地設(shè)定為輸入或輸出。P2口是8位準(zhǔn)雙向I/O口。外接I/O設(shè)備時(shí),可作為擴(kuò)展系統(tǒng)的地

39、址總線,輸出高8位地址,與P0口一起組成16位地址總線。P3口與P1、P2口內(nèi)部差別不大,都為準(zhǔn)雙向口,它除了可以作為標(biāo)準(zhǔn)I/O口外,還有比較重要的第二功能,如外部中斷輸入、定時(shí)器/計(jì)數(shù)器輸入、串行數(shù)據(jù)收發(fā)、外部RAM讀寫等,可根據(jù)實(shí)際情況確定它進(jìn)入第一功能狀態(tài)還是第二功能狀態(tài)。</p><p>  另外,STC12C5A60S2系列單片機(jī)提供了10個(gè)中斷請(qǐng)求源,它們分別是外部中斷0、定時(shí)器中斷0、外部中斷1、定

40、時(shí)器中斷1、串口1中斷、A/D轉(zhuǎn)換中斷、低壓檢測(cè)中斷、PCA中斷、串口2中斷及SPI中斷。所有中斷都具有四個(gè)中斷優(yōu)先級(jí)別。用戶可以使用中斷允許寄存器IE或者中斷相應(yīng)的允許位來(lái)屏蔽或允許某個(gè)對(duì)應(yīng)中斷,使用中斷優(yōu)先級(jí)控制寄存器IP設(shè)置各個(gè)中斷源的優(yōu)先級(jí)別。中斷請(qǐng)求的響應(yīng)遵從兩個(gè)基本規(guī)則:1、低優(yōu)先中斷可被高優(yōu)先級(jí)別中斷所中斷,反之不能;2、任何一種中斷(不管優(yōu)先級(jí)別高低),一旦得到響應(yīng),不會(huì)再被它的同級(jí)中斷所中斷。</p>&

41、lt;p>  基于以上這些性能特色,本次設(shè)計(jì)的醫(yī)院輸液控制系統(tǒng)的主站、從站都采用STC12C5A16S2單片機(jī)為核心,對(duì)檢測(cè)的信號(hào)進(jìn)行處理和分析,并控制相應(yīng)的電路進(jìn)行運(yùn)作。</p><p>  2.2 護(hù)士站主站電路設(shè)計(jì)</p><p>  2.2.1 電源電路</p><p>  電源電路通過(guò)一個(gè)變壓器將220V的交流電轉(zhuǎn)換為12V,再通過(guò)一個(gè)整流橋可輸出1

42、2V電壓給從站的步進(jìn)電機(jī)使用,再通過(guò)一個(gè)穩(wěn)壓管后可輸出5V電壓給主站、從站供電。電路如圖2.3所示。</p><p>  圖2.3 電源電路</p><p>  2.2.2 顯示電路</p><p>  12864液晶顯示器是一種顯示分辨率為128×64、具有多種接口方式的點(diǎn)陣圖形液晶顯示模塊。集成中文字庫(kù)的12864液晶內(nèi)置含8192個(gè)漢字的16

43、15;16點(diǎn)陣漢字庫(kù),和含128個(gè)字符的16×8點(diǎn)陣ASCII字符集。可以顯示8×4行16×16點(diǎn)陣的漢字,以及顯示圖形界面。該模塊具有靈活的接口方式和簡(jiǎn)單、方便的操作指令,與外部CPU接口可采用4位/8位并行方式或者2線/3線串行方式。不論硬件電路結(jié)構(gòu)或顯示程序,由該模塊構(gòu)成的液晶顯示方案相比同類型的圖形點(diǎn)陣液晶顯示模塊都要簡(jiǎn)潔的多,而且低電壓低功耗,價(jià)格也相對(duì)低廉。</p><p&g

44、t;  12864液晶接口信號(hào)說(shuō)明如表2.1所示。</p><p>  表2.1 12864液晶接口信號(hào)</p><p>  因?yàn)橹髡疽矙z多個(gè)從站的信息并進(jìn)行顯示,對(duì)數(shù)據(jù)的實(shí)時(shí)性要求比較高,故用STC12C5A16S2單片機(jī)的P0口和P2口對(duì)12864液晶顯示器進(jìn)行8位并行控制。</p><p>  電路連接如圖2.4所示。</p><p&g

45、t;  圖2.4 12864液晶與單片機(jī)并行連接電路</p><p>  2.2.3 按鍵電路</p><p>  主站按鍵電路主要是監(jiān)控從站,能隨時(shí)查看從站信息并相應(yīng)的控制。主站按鍵只有三個(gè),一個(gè)是功能鍵,兩個(gè)是選擇鍵。能對(duì)從站滴速控制和巡回檢查。三個(gè)按鍵分別與P2.0、P2.1、P2.2這三個(gè)I/O口相連,電路如圖2.5所示。</p><p>  圖2.5

46、主站按鍵電路</p><p>  2.2.4 通信電路</p><p>  主站和從站的通信采用MAX485芯片, MAX485芯片是用于RS-485與RS-422通信的低功耗收發(fā)器,每個(gè)器件中都內(nèi)置有一個(gè)驅(qū)動(dòng)器和一個(gè)接收器,并且MAX485的驅(qū)動(dòng)器擺率不受限制,可以實(shí)現(xiàn)最高2.5Mbps的傳輸速率。最主要該芯片具有很長(zhǎng)的通信距離。</p><p>  MAX485

47、芯片工作電壓為+5V,額定電流為300 μA,通訊方式為半雙工,功能為實(shí)現(xiàn)TTL電平轉(zhuǎn)換為RS-485電平。</p><p>  MAX485芯片的結(jié)構(gòu)簡(jiǎn)單引腳少,操作起來(lái)非常容易。內(nèi)置的驅(qū)動(dòng)器的輸入端為DI端口,接收器的輸出端為RO端口。在與單片機(jī)進(jìn)行連接時(shí),只需將這兩個(gè)端口與單片機(jī)接收、發(fā)送數(shù)據(jù)用的RXD、TXD端口相連即可。</p><p>  RE和DE端口是用來(lái)控制接收和發(fā)送使能

48、的使能端口,往RE端口寫0可使器件工作于接收狀態(tài);往DE端口寫1可使器件工作于發(fā)送狀態(tài)。因?yàn)镸AX485芯片工作在半雙工狀態(tài),所以只需用單片機(jī)的一個(gè)通用I/O口來(lái)控制這兩個(gè)管腳即可。即一般可以直接將RE端口接地,使MAX485芯片在平時(shí)處于接收狀態(tài),當(dāng)要發(fā)送數(shù)據(jù)時(shí),通過(guò)單片機(jī)引腳將DE端口拉高,來(lái)使MAX485芯片工作于發(fā)送狀態(tài),數(shù)據(jù)發(fā)送完畢后再拉低DE端口,讓MAX485芯片繼續(xù)處于接收狀態(tài)。</p><p>

49、  MAX485芯片的A端口和B端口分別為接收和發(fā)送的差分信號(hào)端,即當(dāng)A端口的電平高于B端口時(shí),MAX485芯片發(fā)送的數(shù)據(jù)為1;反之,當(dāng)A端口的電平低于B端口時(shí),MAX485芯片發(fā)送的數(shù)據(jù)為0。通過(guò)單片機(jī)來(lái)對(duì)MAX485芯片進(jìn)行控制的操作同樣非常簡(jiǎn)單,只需要一個(gè)信號(hào)控制MAX485芯片的接收和發(fā)送即可。同時(shí)為了提高穩(wěn)定性和精確性,可以考慮在A端口和B端口之間加匹配電阻,一般可選100Ω的電阻。</p><p> 

50、 具體電路如圖2.6所示。</p><p>  圖2.6 MAX485與單片機(jī)連接電路</p><p>  2.2.5 報(bào)警電路</p><p>  當(dāng)發(fā)生異常情況時(shí),采用聲光報(bào)警。聲音報(bào)警采用蜂鳴器,光報(bào)警采用發(fā)光二極管。單片機(jī)接收到異常信號(hào),驅(qū)動(dòng)蜂鳴器和發(fā)光二極管工作,來(lái)提醒護(hù)士。</p><p>  通過(guò)單片機(jī)的P2.3口來(lái)驅(qū)動(dòng)蜂鳴器

51、和發(fā)光二極管,具體電路如圖2.7所示。</p><p>  圖2.7 聲光報(bào)警電路</p><p>  2.3 病床監(jiān)控從站電路設(shè)計(jì)</p><p>  2.3.1 顯示電路</p><p>  12232F液晶顯示器是一種主要由行驅(qū)動(dòng)器、列驅(qū)動(dòng)器及122×32全點(diǎn)陣液晶組成的圖形點(diǎn)陣液晶顯示器。集成中文字庫(kù)的12232F液晶內(nèi)置

52、含8192個(gè)漢字的16×16點(diǎn)陣漢字庫(kù),和含128個(gè)字符的16×8點(diǎn)陣ASCII字符集??赏瓿蓤D形顯示,也可顯示7.5×2個(gè)(16×16點(diǎn)陣)漢字。與外部CPU接口可采用并行或串行方式控制。</p><p>  從站并不需要主站那么高的實(shí)時(shí)性,而且考慮到從站在使用時(shí)設(shè)計(jì)的體積越小越方便安裝,故只用STC12C5A16S2單片機(jī)的P0.0、P0.1、P0.2對(duì)12232F液晶

53、進(jìn)行串行控制。</p><p>  12232F液晶串行接口信號(hào)說(shuō)明如表2.2所示。</p><p>  表2.2 12232F液晶串行接口信號(hào)</p><p>  電路連接如圖2.8所示。</p><p>  圖2.8 12232F與單片機(jī)串行連接電路</p><p>  2.3.2 按鍵電路</p>

54、<p>  從站按鍵電路主要是設(shè)定從站的點(diǎn)滴速度以及報(bào)警,從站按鍵也只有3個(gè),一個(gè)是報(bào)警鍵,兩個(gè)是選擇鍵。三個(gè)按鍵分別與P2.0、P2.1、P2.2這三個(gè)I/O口相連,電路同主站按鍵電路圖。</p><p>  2.3.3 通信和報(bào)警電路 </p><p>  因主站的通信系統(tǒng)和報(bào)警系統(tǒng)也同樣適合于從站,故通信系統(tǒng)和報(bào)警系統(tǒng)采用與主站一樣的硬件電路。</p>&

55、lt;p>  2.3.4 滴速檢測(cè)電路</p><p>  激光檢測(cè)電路分為兩個(gè)部分,一個(gè)為發(fā)射電路,一個(gè)為接收電路。單片機(jī)可通過(guò)采集接收電路所檢測(cè)到得激光脈沖來(lái)計(jì)算點(diǎn)滴速度。</p><p>  電路圖如圖2.9和圖2.10所示。</p><p>  圖2.9 激光發(fā)射電路</p><p>  圖2.10 激光接收電路</p

56、><p>  2.3.5 電機(jī)驅(qū)動(dòng)電路</p><p>  步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)橄鄳?yīng)角位移或線位移的開(kāi)環(huán)控制元件[7]。這種電磁機(jī)械裝置具有快速啟、停能力,在電機(jī)的負(fù)荷不超過(guò)它能提供的動(dòng)態(tài)轉(zhuǎn)矩時(shí),可以通過(guò)輸入脈沖來(lái)控制它在一瞬間的啟動(dòng)或停止。而且在非超載情況下,電機(jī)的轉(zhuǎn)速、步距角、停止的位置只和輸入的脈沖信號(hào)的頻率和脈沖數(shù)有關(guān),和環(huán)境溫度、氣壓、振動(dòng)無(wú)關(guān),也不受電網(wǎng)電壓的波動(dòng)和負(fù)載變化

57、的影響。給電機(jī)加一個(gè)脈沖信號(hào),電機(jī)則轉(zhuǎn)過(guò)一個(gè)步距角。這一線性關(guān)系的存在,加上步進(jìn)電機(jī)只有周期性的誤差而無(wú)累積誤差等特點(diǎn),步進(jìn)電機(jī)多應(yīng)用在需要精確定位的場(chǎng)合,其在速度、位置等控制領(lǐng)域的控制操作非常簡(jiǎn)單。</p><p>  步進(jìn)電機(jī)有三線式、五線式和六線式,但其控制方式均相同,都要以脈沖信號(hào)電流來(lái)驅(qū)動(dòng)。假設(shè)每旋轉(zhuǎn)一圈需要200個(gè)脈沖信號(hào)來(lái)勵(lì)磁,可以計(jì)算出每個(gè)勵(lì)磁信號(hào)能使步進(jìn)電機(jī)前進(jìn)1.8°,其旋轉(zhuǎn)角度與脈

58、沖的個(gè)數(shù)成正比。步進(jìn)電機(jī)的正、反轉(zhuǎn)由勵(lì)磁脈沖產(chǎn)生的順序來(lái)控制。本次醫(yī)院輸液監(jiān)控系統(tǒng)的設(shè)計(jì)中采用的是六線式四相步進(jìn)電機(jī),它的等效控制電路如圖2.11所示。它有4條勵(lì)磁信號(hào)引線A,B,C,D,通過(guò)控制這4條引線上勵(lì)磁脈沖產(chǎn)生的時(shí)刻,即可控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)。每出現(xiàn)一個(gè)脈沖信號(hào),步進(jìn)電機(jī)只走一步。因此,只要依序不斷送出脈沖信號(hào),步進(jìn)電機(jī)就能實(shí)現(xiàn)連續(xù)轉(zhuǎn)動(dòng)。</p><p>  圖2.11 步進(jìn)電機(jī)的控制等效電路</

59、p><p>  步進(jìn)電機(jī)的驅(qū)動(dòng)有多種方法可選。</p><p>  (1)利用三極管自己搭建驅(qū)動(dòng)電路,不過(guò)這樣會(huì)非常麻煩,可靠性也無(wú)法保證。</p><p> ?。?)選用專用的電機(jī)驅(qū)動(dòng)模塊,如FT5754,L298等,這類驅(qū)動(dòng)模塊接口簡(jiǎn)單,操作方便,它們既可以驅(qū)動(dòng)步進(jìn)電機(jī),也可驅(qū)動(dòng)直流電機(jī)。</p><p> ?。?)使用達(dá)林頓驅(qū)動(dòng)器ULN28

60、03,該芯片單片最多可一次驅(qū)動(dòng)八線步進(jìn)電機(jī),當(dāng)然如果只有四線或六線制的也是沒(méi)有問(wèn)題的。</p><p>  本次設(shè)計(jì)中采用的為使用達(dá)林頓驅(qū)動(dòng)器ULN2803與六線制四相步進(jìn)電機(jī)的連接方法。電路如圖2.12所示。JP4為電機(jī)六線接口,其中JP4的第3、4引腳連接在一起與電機(jī)的公共端相連,對(duì)應(yīng)圖2.11中黑白兩條線,JP4的第一引腳對(duì)應(yīng)步進(jìn)電機(jī)的A,JP1的第2引腳對(duì)應(yīng)步進(jìn)電機(jī)的B,JP4的第5引腳對(duì)應(yīng)步進(jìn)電機(jī)的C,

61、JP4的第六引腳對(duì)應(yīng)步進(jìn)電機(jī)的D。這四條驅(qū)動(dòng)線通過(guò)ULN2803后與單片機(jī)的P1.0~P1.3引腳相連。</p><p>  電路如圖2.12所示。</p><p>  圖2.12 步進(jìn)電機(jī)與單片機(jī)連接電路</p><p>  第3章 系統(tǒng)軟件設(shè)計(jì)</p><p>  3.1 主站程序設(shè)計(jì)</p><p>  主站要

62、完成的功能主要是對(duì)從站進(jìn)行定點(diǎn)檢測(cè)和巡回檢測(cè),并和從站通過(guò)MAX485芯片進(jìn)行數(shù)據(jù)交換。主站通過(guò)MAX485芯片獲得從站的信息,顯示到液晶顯示模塊上,并對(duì)從站的報(bào)警進(jìn)行及時(shí)響應(yīng)。</p><p>  3.1.1 主站程序流程</p><p>  主站程序主要是驅(qū)動(dòng)MAX485芯片獲得各個(gè)從站的信息,然后驅(qū)動(dòng)12864液晶顯示出所需信息,然后就循環(huán)檢測(cè)按鍵是否被按下,以及是否有從站報(bào)警,有就

63、進(jìn)行相應(yīng)處理,否則繼續(xù)檢測(cè)。</p><p>  部分主程序代碼如下:</p><p><b>  /*主程序*/</b></p><p>  void main()</p><p><b>  {</b></p><p><b>  FM = 1;</b&

64、gt;</p><p>  UART_init();//UART初始化</p><p>  lcd_init();//初始化LCD</p><p>  disp_alphbelt(slave_index,0);</p><p>  LCD_line_write(3,"查詢從站");</p><p&g

65、t;<b>  while(1)</b></p><p><b>  {</b></p><p>  if(key_reg1 != K1) //add key</p><p><b>  {</b></p><p><b>  /*按鍵處理略*/</b>&

66、lt;/p><p><b>  }</b></p><p>  if(key_reg2 != K2) //dec key</p><p><b>  {</b></p><p><b>  /*按鍵處理略*/</b></p><p><b>  }

67、</b></p><p>  if(key_reg3 != K3) //mod key</p><p><b>  {</b></p><p><b>  /*部分處理略*/</b></p><p>  if(work_st == 0) </p><p>  {L

68、CD_line_write(3,"查詢從站");disp_alphbelt(slave_index,0);}</p><p>  else if(work_st == 1) </p><p>  {LCD_line_write(3,"巡檢從站");disp_alphbelt(slave_index,0);}</p><p> 

69、 else if(work_st == 2) </p><p>  {LCD_line_write(3,"設(shè)置從站");disp_alphbelt(slave_index,0);}</p><p>  else if(work_st == 3) </p><p>  {LCD_line_write(3,"設(shè)置巡檢時(shí)間");di

70、sp_set_time(check_time);}</p><p><b>  }</b></p><p>  if(work_st == 1) //巡檢</p><p><b>  {</b></p><p>  main_count++;</p><p>  if(mai

71、n_count>(check_time*999))</p><p><b>  {</b></p><p>  main_count = 0;</p><p>  slave_index = (slave_index+1)%128;</p><p>  disp_alphbelt(slave_index,0);&l

72、t;/p><p><b>  }</b></p><p><b>  }</b></p><p>  if(RI) //報(bào)警操作</p><p><b>  {</b></p><p>  if(!pack_receive(&sla_addr,&am

73、p;sla_instr,&temp1,&temp2))</p><p><b>  {</b></p><p>  if(sla_instr==SLAVE_ALARM)</p><p><b>  {</b></p><p><b>  FM = 0;</b>&

74、lt;/p><p>  int2string(sla_addr,disp_ram,'0');</p><p>  str_add_str(disp_ram," 號(hào)從站報(bào)警");</p><p>  LCD_line_write(3,disp_ram);</p><p><b>  }</b>

75、;</p><p><b>  }</b></p><p><b>  }</b></p><p>  delay_1ms(1);</p><p><b>  }</b></p><p><b>  }</b></p>

76、<p>  主站程序流程圖見(jiàn)圖3.1,12864液晶、MAX485芯片操作等具體處理詳見(jiàn)以下各章節(jié)說(shuō)明。</p><p>  圖3.1 主站程序流程圖</p><p>  3.1.2 12864液晶操作</p><p>  12864液晶并行寫操作時(shí)序圖如圖3.2所示。</p><p>  圖3.2 12864液晶并行寫操作時(shí)

77、序</p><p>  12864液晶并行讀操作時(shí)序圖如圖3.3所示。</p><p>  圖3.3 12864液晶并行讀操作時(shí)序</p><p>  12864并行基本操作時(shí)序解釋如下:</p><p>  讀狀態(tài)輸入:RS = L,R/W = H, E = H輸出:D0 ~ D7 = 狀態(tài)字。</p><p&g

78、t;  讀數(shù)據(jù)輸入:RS = H,R/W = H, E = H輸出:無(wú)。</p><p>  寫指令輸入:RS = L,R/W = L, D0~D7=指令碼,E=高脈沖 輸出:D0 ~ D7 = 數(shù)據(jù)。</p><p>  寫數(shù)據(jù)輸入:RS = H,R/W = L, D0~D7=數(shù)據(jù),E=高脈沖 輸出:無(wú)。</p><p>  12864液晶指令說(shuō)明如表

79、3.1所示。</p><p>  表3.1 12864液晶指令表</p><p>  另外,當(dāng)RE=1時(shí),還有一些擴(kuò)充指令可設(shè)定液晶功能,如待機(jī)模式、卷動(dòng)地址開(kāi)關(guān)開(kāi)啟、反白顯示、睡眠、控制功能設(shè)定、繪圖模式、設(shè)定繪圖RAM地址等,由于本次設(shè)計(jì)中并沒(méi)有涉及到,這里不再詳細(xì)解釋。</p><p><b>  部分源代碼如下:</b></p&

80、gt;<p><b>  /*端口定義*/</b></p><p>  #define LCD_DATA P0//數(shù)據(jù)口</p><p>  sbit LCD_RS = P2^7;//寄存器選擇輸入</p><p>  sbit LCD_RW = P2^6;//液晶讀/寫控制</p><p>  sb

81、it LCD_EN = P2^5;//液晶使能控制</p><p>  sbit LCD_PSB = P2^4;//串/并方式控制</p><p>  /*寫指令數(shù)據(jù)到LCD*/</p><p>  /*RS=L,RW=L,E=高脈沖,D0-D7=指令碼。*/</p><p>  void write_cmd(uchar cmd)<

82、/p><p><b>  {</b></p><p>  LCD_RS = 0;</p><p>  LCD_RW = 0;</p><p>  LCD_EN = 0;</p><p><b>  P0 = cmd;</b></p><p>  delay

83、_1ms(5);</p><p>  LCD_EN = 1;</p><p>  delay_1ms(5);</p><p>  LCD_EN = 0;</p><p><b>  }</b></p><p>  /*寫顯示數(shù)據(jù)到LCD*/</p><p>  /*RS=H

84、,RW=L,E=高脈沖,D0-D7=指令碼。*/</p><p>  void write_dat(uchar dat)</p><p><b>  {</b></p><p>  LCD_RS = 1;</p><p>  LCD_RW = 0;</p><p>  LCD_EN = 0;<

85、;/p><p><b>  P0 = dat;</b></p><p>  delay_1ms(5);</p><p>  LCD_EN = 1;</p><p>  delay_1ms(5);</p><p>  LCD_EN = 0;</p><p><b>  

86、}</b></p><p>  /*LCD初始化設(shè)定*/</p><p>  void lcd_init()</p><p><b>  {</b></p><p>  LCD_PSB = 1;//并口方式</p><p>  write_cmd(0x30);//基本指令操作<

87、;/p><p>  delay_1ms(5);</p><p>  write_cmd(0x02);//地址歸位</p><p>  delay_1ms(5);</p><p>  write_cmd(0x04);//進(jìn)入點(diǎn)設(shè)定</p><p>  delay_1ms(5);</p><p> 

88、 write_cmd(0x0C);//顯示開(kāi),關(guān)光標(biāo)</p><p>  delay_1ms(5);</p><p>  write_cmd(0x01);//清楚LCD的顯示內(nèi)容</p><p>  delay_1ms(5);</p><p>  write_cmd(0x80);//設(shè)定DDRAM地址</p><p&

89、gt;  delay_1ms(5);</p><p><b>  }</b></p><p>  3.1.3 按鍵操作</p><p>  按鍵操作比較簡(jiǎn)單,當(dāng)單片機(jī)在掃描P2口時(shí),若沒(méi)有按鍵按下,P2口默認(rèn)為高電平,P2口得到的結(jié)果為1,如果有按鍵按下,接地導(dǎo)通,對(duì)應(yīng)的端口位變?yōu)榈碗娖剑琍2口對(duì)應(yīng)的端口位得到0.然后,單片機(jī)對(duì)掃描結(jié)果做相應(yīng)處

90、理即可。</p><p>  3.1.4 MAX485芯片操作</p><p>  根據(jù)2.2.4通信電路所述,MAX485芯片只需通過(guò)一個(gè)I/O口來(lái)控制芯片的接收和發(fā)送即可。</p><p><b>  部分源代碼如下:</b></p><p>  sbit RS485TE = P3^6;//定義控制端口</p

91、><p><b>  /*發(fā)送數(shù)據(jù)*/</b></p><p>  void pack_send(uchar addr,uchar instr,uchar dat1,uchar dat2)</p><p><b>  {</b></p><p>  RS485TE = 1;</p><

92、;p>  delay_1ms(1);</p><p>  putchar(addr);</p><p>  putchar(instr);</p><p>  putchar(dat1);</p><p>  putchar(dat2);</p><p>  delay_1ms(2);</p>&l

93、t;p>  RS485TE = 0;</p><p><b>  }</b></p><p><b>  /*接收數(shù)據(jù)*/</b></p><p>  uchar pack_receive(uchar *addr,uchar *instr,uchar *dat1,uchar *dat2)</p><

94、;p><b>  {</b></p><p>  uchar i,j;</p><p>  uchar rec[4];</p><p>  for (i = 0; i < 4; i++)</p><p><b>  {</b></p><p>  for(j =

95、0; !RI; j++)</p><p><b>  {</b></p><p>  if (j>100) return (i+1);</p><p>  delay_1ms(1);</p><p><b>  }</b></p><p>  rec[i] = getc

96、har();</p><p><b>  }</b></p><p>  *addr = rec[0];</p><p>  *instr = rec[1];</p><p>  *dat1 = rec[2];</p><p>  *dat2 = rec[3];</p><p&

97、gt;<b>  return 0;</b></p><p><b>  }</b></p><p>  3.1.5 報(bào)警操作</p><p>  如2.2.5報(bào)警電路中電路圖所示,通過(guò)單片機(jī)相應(yīng)I/O口輸出低電平(即相應(yīng)端口置0)便可點(diǎn)亮LED燈和鳴響蜂鳴器,實(shí)現(xiàn)聲光報(bào)警。要取消報(bào)警只需相應(yīng)端口輸出高電平。</p&

98、gt;<p>  3.2 從站程序設(shè)計(jì)</p><p>  從站和主站通過(guò)MAX485芯片進(jìn)行數(shù)據(jù)交換,并對(duì)按鍵進(jìn)行掃描,根據(jù)鍵盤輸入和MAX485芯片進(jìn)行數(shù)據(jù)交換并進(jìn)行相應(yīng)的操作。同時(shí),從站還要實(shí)現(xiàn)點(diǎn)滴速度檢測(cè)、控制功能,和報(bào)警功能。按鍵掃描、通信、報(bào)警程序設(shè)計(jì)與主站類似,不再?gòu)?fù)述。</p><p>  3.2.1 從站程序流程</p><p>  

99、從站程序主要是通過(guò)外部中斷檢測(cè)出點(diǎn)滴速度,再驅(qū)動(dòng)12232F液晶顯示滴速,需要的時(shí)候控制電機(jī)調(diào)節(jié)滴速,循環(huán)檢測(cè)是否有按鍵操作、是否需要報(bào)警以及通過(guò)MAX485芯片和主站通信。</p><p>  部分主程序代碼如下:</p><p><b>  /*主程序*/</b></p><p>  void main()</p><p

100、><b>  {</b></p><p>  UART_initia();//UART初始化</p><p>  lcd_init();//初始化LCD</p><p>  disp_drop();</p><p>  disp_alphbelt(~P0);</p><p><b&

101、gt;  while(1)</b></p><p><b>  {</b></p><p>  if(key_reg1 != K1) //add key</p><p><b>  {</b></p><p><b>  /*按鍵處理略*/</b></p>

102、;<p><b>  }</b></p><p>  if(key_reg2 != K2) //dec key</p><p><b>  {</b></p><p><b>  /*按鍵處理略*/</b></p><p><b>  }</b&g

103、t;</p><p>  if(key_reg3 != K3) //BUZZER stop</p><p><b>  {</b></p><p><b>  /*按鍵處理略*/</b></p><p><b>  }</b></p><p>  if(

104、RI) //處理主站發(fā)送的命令</p><p><b>  {</b></p><p>  if(!pack_receive(slave_addr,&instr,&temp1,&temp2))</p><p><b>  {</b></p><p>  switch(inst

105、r)</p><p><b>  {</b></p><p>  case SLAVE_READ:</p><p>  delay_ms(5);</p><p>  pack_send(slave_addr,SLAVE_ACK_READ,</p><p>  set_speed,drop_spee

106、d);</p><p><b>  break;</b></p><p>  case SLAVE_WRITE:</p><p>  set_speed = temp1;</p><p>  disp_drop();</p><p><b>  break;</b></

107、p><p>  case STOP_ALARM:</p><p><b>  FM = 1;</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b><

108、;/p><p><b>  }</b></p><p>  if(t1_ovf != (T1HH==28)) //alarm</p><p><b>  {</b></p><p>  t1_ovf = (T1HH==28);</p><p>  if(t1_ovf)</p

109、><p><b>  {</b></p><p>  drop_speed = 0;</p><p><b>  FM = 0;</b></p><p>  pack_send(slave_addr,SLAVE_ALARM,0,0);</p><p><b>  }&l

110、t;/b></p><p><b>  }</b></p><p>  drop_control();</p><p><b>  }</b></p><p><b>  }</b></p><p>  從站程序流程圖見(jiàn)圖3.4所示,12232F液

111、晶、點(diǎn)滴速度檢測(cè)、控制操作等具體處理詳見(jiàn)以下各章節(jié)說(shuō)明。</p><p>  圖3.4 從站程序流程圖</p><p>  3.2.2 12232F液晶操作</p><p>  12232F液晶串行讀/寫操作時(shí)序如圖3.5所示。</p><p>  圖3.5 12232F液晶串行讀/寫操作時(shí)序</p><p>  

112、12232F串行時(shí)序解釋如下:</p><p> ?。?)CS——液晶的片選信號(hào)線,每次在進(jìn)行數(shù)據(jù)操作時(shí)都必須將CS端口拉高。</p><p> ?。?)SCLK——串行同步時(shí)鐘線,每操作一位數(shù)據(jù)都要有一個(gè)SCLK跳變沿,而且在這里是上升沿有效。也就是說(shuō),每次SCLK由低電平變?yōu)楦唠娖降乃查g,液晶控制器將SID上的數(shù)據(jù)讀入或輸出。</p><p> ?。?)SID—

113、—串行數(shù)據(jù),每一次操作都由三個(gè)字節(jié)數(shù)據(jù)組成,第一字節(jié)向控制器發(fā)送命令控制字,告訴控制器接下來(lái)是什么操作,若為寫指令則發(fā)送11111000,若為寫數(shù)據(jù)則發(fā)送11111010。第二字節(jié)的高4位發(fā)送指令或數(shù)據(jù)的高4位,第二字節(jié)的低4位補(bǔ)0。第三字節(jié)的高4位發(fā)送指令或數(shù)據(jù)的低4位,第三字節(jié)的低4位同樣補(bǔ)0。</p><p>  12232F液晶指令說(shuō)明如表3.2所示。</p><p>  表3.2

114、 12232F液晶指令表</p><p>  另外,當(dāng)RE=1時(shí),還有一些擴(kuò)充指令可設(shè)定液晶的一些功能,這些功能同12864液晶類似,若有興趣了解可查閱相關(guān)資料,這里不再贅述。</p><p><b>  部分源代碼如下:</b></p><p><b>  /*端口定義*/</b></p><p&g

115、t;  sbit CS = P0^2;//片選,高電平有效</p><p>  sbit SID = P0^1;//串行數(shù)據(jù)輸入端</p><p>  sbit SCLK = P0^0;//串行同步時(shí)鐘</p><p>  /*寫指令數(shù)據(jù)到LCD*/</p><p>  void send_command(uchar command_d

116、ata)</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p>  uchar i_data;</p><p>  i_data=0xf8;</p><p><b>  CS=1;</b></

117、p><p><b>  SCLK=0;</b></p><p>  for(i=0;i<8;i++)</p><p><b>  {</b></p><p>  SID=(bit)(i_data&0x80);</p><p><b>  SCLK=0;&l

118、t;/b></p><p><b>  SCLK=1;</b></p><p>  i_data=i_data<<1;</p><p><b>  }</b></p><p>  i_data=command_data;</p><p>  i_data&a

119、mp;=0xf0;</p><p>  for(i=0;i<8;i++)</p><p><b>  {</b></p><p>  SID=(bit)(i_data&0x80);</p><p><b>  SCLK=0;</b></p><p><b&

120、gt;  SCLK=1;</b></p><p>  i_data=i_data<<1;</p><p><b>  }</b></p><p>  i_data=command_data;</p><p>  i_data<<=4;</p><p>  for

121、(i=0;i<8;i++)</p><p><b>  {</b></p><p>  SID=(bit)(i_data&0x80);</p><p><b>  SCLK=0;</b></p><p><b>  SCLK=1;</b></p>&

122、lt;p>  i_data=i_data<<1;</p><p><b>  }</b></p><p><b>  CS=0;</b></p><p>  delay_ms(10);</p><p><b>  }</b></p><p&

123、gt;  /*寫顯示數(shù)據(jù)到LCD*/</p><p>  void send_data(uchar command_data)</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p>  uchar i_data;</p><

124、p>  i_data=0xfa;</p><p><b>  CS=1;</b></p><p>  for(i=0;i<8;i++)</p><p><b>  {</b></p><p>  SID=(bit)(i_data&0x80);</p><p&g

125、t;<b>  SCLK=0;</b></p><p><b>  SCLK=1;</b></p><p>  i_data=i_data<<1;</p><p><b>  }</b></p><p>  i_data=command_data;</p>

126、;<p>  i_data&=0xf0;</p><p>  for(i=0;i<8;i++)</p><p><b>  {</b></p><p>  SID=(bit)(i_data&0x80);</p><p><b>  SCLK=0;</b></

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論