freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的電子脈搏血壓計(jì)的設(shè)計(jì)doc(完整版)

2025-08-23 01:22上一頁面

下一頁面
  

【正文】 測對象的脈搏數(shù)了。脈搏測量包括瞬時(shí)脈搏測量和平均脈搏測量。 the serial interface 目 錄1 引言 12 總體設(shè)計(jì)思路 1 方案設(shè)計(jì)與選取 1 總體流程圖 1 方案選擇 1 總體電路圖 23 硬件電路結(jié)構(gòu)模塊 4 單片機(jī)的選取 4 STC89C52引腳功能說明 4 振蕩電路 5 復(fù)位電路 5 AD轉(zhuǎn)換電路模塊 6 ADC0809引腳功能 6 ADC0809主要特性 7 ADC0809工作過程 7 ADC0809與單片機(jī)接口電路 8 ADC0809與PC機(jī)連接 9 傳感器的選取 104 軟件程序設(shè)計(jì) 13 脈搏計(jì)數(shù)模塊的設(shè)計(jì) 13 脈搏計(jì)數(shù)程序方案的選取 13 脈搏計(jì)數(shù)代碼設(shè)計(jì) 14 LED數(shù)碼管顯示模塊設(shè)計(jì) 15 顯示模塊的選取 15 LED數(shù)碼管與單片機(jī)的接口電路 16 LED數(shù)碼管驅(qū)動(dòng)程序的設(shè)計(jì) 17 AD轉(zhuǎn)換模塊的設(shè)計(jì) 18 串口發(fā)送程序設(shè)計(jì) 19 上位機(jī)程序及界面設(shè)計(jì) 20 上位機(jī)程序的設(shè)計(jì) 20 上位機(jī)界面的設(shè)計(jì) 21 擴(kuò)展血壓計(jì)功能 225 軟硬件調(diào)試 236 結(jié)論 27謝辭 28參考文獻(xiàn) 29附錄 301 引言隨著經(jīng)濟(jì)的飛速發(fā)展和人民生活水平的日益提高,有關(guān)心腦血管疾病的發(fā)病率與死亡率正在呈逐年上升趨勢,這就需要一種方便的方法來測量心腦血管的健康狀況,可以實(shí)時(shí)觀測和評估人體的健康狀況。脈搏測量包括瞬時(shí)脈搏測量和平均脈搏測量。瞬時(shí)脈搏可以反映心率的快慢,同時(shí)能反映心率是否勻齊;平均脈搏測量雖然只能反映心率的快慢,但記錄方便。從古到今中外醫(yī)學(xué)界都重視從脈搏波中提取人體的健康狀況,并作為臨床診斷和治療的依據(jù)。瞬時(shí)脈搏可以反映心率的快慢,同時(shí)能反映心率是否勻齊;平均脈搏測量雖然只能反映心率的快慢,但記錄方便。同時(shí)記錄每一次脈搏跳動(dòng)的間隔和力度,實(shí)時(shí)記錄繪制曲線,分析數(shù)據(jù)。 可用兩個(gè)非門組成的施密特觸發(fā)器對放大后的信號進(jìn)行整形。 將信號送入模數(shù)變換后將模擬信號轉(zhuǎn)變?yōu)閿?shù)字信號送入單片機(jī),為上位機(jī)波形顯示部分做準(zhǔn)備。當(dāng)轉(zhuǎn)換完成后數(shù)據(jù)通過ADC0809的OUT1~~。P0口:8位雙向I/O口線,~。經(jīng)計(jì)算得單片機(jī)工作機(jī)器周期為1μs。上電自動(dòng)復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的。其內(nèi)部有一個(gè)8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個(gè)進(jìn)行AD轉(zhuǎn)換。當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。START上升沿將逐次逼近寄存器復(fù)位。例如ADC0809在時(shí)鐘頻率為500kHz時(shí)轉(zhuǎn)換時(shí)間為128μs,相當(dāng)于12MHz的MCS51單片機(jī)共128個(gè)機(jī)器周期。 ADC0809與PC機(jī)連接本設(shè)計(jì)需要單片機(jī)與PC機(jī)間實(shí)現(xiàn)實(shí)時(shí)通信,PC機(jī)內(nèi)基本上都裝有一個(gè)RS232異步通信適配板,它的主要工作器件是可編程的UART芯片,從而可以使PC機(jī)有能力與其他具有標(biāo)準(zhǔn)RS232串行通信接口的其他設(shè)備進(jìn)行通信。于是本設(shè)計(jì)采用壓電式傳感器采取信號。該產(chǎn)品可用于脈率檢測,主要用于運(yùn)動(dòng)、健身器材中的心率測試。性能指標(biāo)同HK2000B集成化脈搏傳感器。HK2000C集成化數(shù)字脈搏傳感器雖然功能很強(qiáng)大,但同樣價(jià)格也很高,從設(shè)計(jì)成本上考慮太奢侈,不適合于設(shè)計(jì)的應(yīng)用。適合于腕動(dòng)脈、頸動(dòng)脈、下肢淺表動(dòng)脈等不同部位的測量。,程序需要使用兩個(gè)中斷,T0的溢出中斷用于50ms的定時(shí),外部中斷1用來對INT1引腳上的脈沖進(jìn)行計(jì)數(shù),由于程序的主要任務(wù)是對脈沖進(jìn)行計(jì)數(shù),從而計(jì)算出頻率,因此外部中斷1的中斷優(yōu)先級應(yīng)為最高。然后再通過求周期的倒數(shù)便可以得到每分鐘的脈搏數(shù)目。不僅可以精確實(shí)現(xiàn)脈搏的計(jì)數(shù),而且測量時(shí)間短,極大的節(jié)約了測量時(shí)間。 // 允許T0溢出中斷 EX0 = 1。優(yōu)點(diǎn)是價(jià)格便宜,編程簡單,缺點(diǎn)是LED數(shù)碼管顯示數(shù)字存在閃爍情況,觀察脈搏顯示數(shù)目效果不太理想,但可以實(shí)現(xiàn)顯示功能。在實(shí)際應(yīng)用中必須增加譯碼驅(qū)動(dòng)器來進(jìn)行驅(qū)動(dòng),這就增加了硬件電路的復(fù)雜性。 LED數(shù)碼管與單片機(jī)的接口電路LED數(shù)碼管與單片機(jī)的接口電路如圖41所示:圖41 LED數(shù)碼管與單片機(jī)的接口電路由上圖可以看出單片機(jī)的P1口八個(gè)端口分別與LED數(shù)碼管的八段段碼顯示控制端相連接,構(gòu)成了片選控制端,~,當(dāng)程序控制單片機(jī)發(fā)送相應(yīng)的字符時(shí),數(shù)碼管便會(huì)相應(yīng)的點(diǎn)亮,從而實(shí)現(xiàn)每分鐘脈搏數(shù)目的顯示,這就是顯示模塊的設(shè)計(jì)。 //顯示單元數(shù)據(jù)緩沖區(qū),共3個(gè)數(shù)據(jù)緩沖區(qū)。 //定義局部變量k for ( k=0。例如ADC0809在時(shí)鐘頻率為500kHz時(shí)轉(zhuǎn)換時(shí)間為128μs,相當(dāng)于12MHz的MCS51單片機(jī)共128個(gè)機(jī)器周期。 i++ ) 。 //讀取數(shù)據(jù) ad_data = P0 。之后啟動(dòng)定時(shí)/計(jì)數(shù)器1。 //將x送入數(shù)據(jù)緩存區(qū) while ( TI == 0 ) 。 每臺(tái)計(jì)算機(jī)上都配有數(shù)個(gè)USB 接口和兩個(gè)RS232 串行通信端口,通常有 COM1 與 COM2 兩個(gè)端口。由于我用的是筆記本電腦,沒有串口,所以用USB轉(zhuǎn)串口線來連接單片機(jī)和PC機(jī),如設(shè)成1表示對COM1 進(jìn)行操作。InBufferCount:設(shè)置輸入寄存器所存儲(chǔ)的字符數(shù),當(dāng)將其值設(shè)為0時(shí),則輸入寄存器將被清空。根據(jù)以上控件的屬性和事件來編寫相應(yīng)的程序,詳見附錄。舒張壓判斷的確定:也是用最大的振幅法來判定,不過是在脈搏波振幅包絡(luò)線的下降段,就認(rèn)為此時(shí)對應(yīng)的氣袖壓力為舒張壓。如果是匯編的程序,在proteus里可以直接調(diào)試。,我選擇的ADC0809芯片,但下載好程序后不能進(jìn)行仿真,出來的英文顯示說沒有目標(biāo)芯片,于是我上網(wǎng)查找這個(gè)問題發(fā)現(xiàn):ADC0809芯片不能進(jìn)行軟件仿真,需要用其他的模數(shù)轉(zhuǎn)換芯片來代替,于是我選擇用ADC0808芯片來代替進(jìn)行仿真,ADC0808芯片和ADC0809芯片功能和引腳完全一致,在硬件連接時(shí)依然采用ADC0809芯片。這樣就節(jié)約了焊接的時(shí)間,使線路連接更清晰合理,便于改動(dòng)試驗(yàn)調(diào)試。于是我想到了用軟件檢測法來對正弦波識別,但軟件編程調(diào)試需要的工作量大,于是想用放大器將信號瞬間放大到方波,之后進(jìn)行計(jì)數(shù),但后來發(fā)現(xiàn)放大器會(huì)放大脈搏的余波導(dǎo)致對計(jì)數(shù)準(zhǔn)確性的影響,最后選擇了用NE555芯片構(gòu)建一個(gè)施密特觸發(fā)器,將正弦波轉(zhuǎn)變?yōu)榉讲ǎ⒂行б种屏嗣}搏波余波的影響。然后通過外部中斷0和定時(shí)/計(jì)數(shù)器0以及設(shè)計(jì)的軟件程序?qū)λ腿雴纹瑱C(jī)的信號進(jìn)行處理計(jì)算,并且能在三秒鐘內(nèi)測量出一分鐘的心跳數(shù)目,之后將結(jié)果送入LED數(shù)碼管上顯示。通過此次畢業(yè)設(shè)計(jì),使我學(xué)到了許多以前沒有學(xué)到的知識,使我對Proteus、KeilC、C語言、VB等應(yīng)用軟件有了更熟悉更深刻的了解和掌握,讓我通過對各種硬件以及硬件的焊接調(diào)試學(xué)到了很多有用的東西,為我畢業(yè)走向社會(huì)工作崗位打下了很好的基礎(chǔ),加深了對以有知識的理解和運(yùn)用。uint mb=0。 //顯示單元數(shù)據(jù),共6個(gè)數(shù)據(jù)和一個(gè)運(yùn)算暫用void delay_us(uint t) //延時(shí)函數(shù) { for (。//數(shù)據(jù)位送P1口 delay_us(150)。 //啟動(dòng)定時(shí)器1 } /* 向串口發(fā)送一個(gè)字符 */void send_char( unsigned char x){ SBUF=x。 //裝載初值 TL0=T0L。 init_serial()。i++)。 }}VB上位機(jī)程序:Option ExplicitDim NowX As Integer 39。允許使用打開通信端口按鈕End Sub39。設(shè)定通信參數(shù) = True 39。輸入圖形暫時(shí)設(shè)為灰色,表示無狀態(tài)信息進(jìn)入39。清除圖形 (0, ValueStr) 39。由上一次的位置畫至此點(diǎn) End If End If NowX = NowX + 1 39。以下設(shè)定繪圖范圍,(Xmin,YMax)(XMax,YMin) (0, 5)(MaxPlotNo, 0) = 1 39。將此按鈕設(shè)為禁用狀態(tài) = True 39。使用End命令將系統(tǒng)結(jié)束Private Sub cmdEnd_Click() EndEnd Sub39。最長的X軸范圍39。 for(i=0。 display[1]=(mb/10)%10。 // 外部中斷0為為高優(yōu)先級中斷 ET0=1。 TI= 0。 //定時(shí)器1, 方式 2, 8位自動(dòng)重裝 SCON|=0x40。t)。uchar ad_data。謝辭在這次畢業(yè)設(shè)計(jì)的過程中首先要感謝我的指導(dǎo)老師,老師對于我的畢業(yè)設(shè)計(jì)給予了悉心的指導(dǎo)與大力的支持,在我技術(shù)上遇到問題的時(shí)候百忙之中抽出時(shí)間來為我指導(dǎo),在我買硬件不方便時(shí),老師得知這個(gè)情況后拿出了自己的元器件來支持我的畢業(yè)設(shè)計(jì),在此,我向老師表示衷心的感謝!同時(shí)還要感謝老師為我畢業(yè)設(shè)計(jì)所提供的元器件以及焊接設(shè)施,還有老師所提供的實(shí)驗(yàn)器材的支持,同時(shí)還要感謝學(xué)校為我們的畢業(yè)設(shè)計(jì)所提供的實(shí)驗(yàn)室及相關(guān)的硬件設(shè)備,使我們的畢業(yè)設(shè)計(jì)能夠順利的完成。因此這個(gè)脈搏計(jì)可作為病人中心監(jiān)護(hù)系統(tǒng)的一個(gè)模塊來完成心率的檢測和脈搏波形顯示,也可以用在日常生活的對健康狀況的實(shí)時(shí)觀測,家中備有這樣的一款脈搏計(jì),就可以在日常生活中監(jiān)控自己和家人的心率變化,可以有效防止和控制多種疾病的發(fā)生和變化,達(dá)到日常保健的目的。,上位機(jī)接收不到數(shù)字信號。由于硬件的連接直接按照軟件仿真時(shí)來連接的,所以在硬件焊接的過程中遇到的問題不多。因?yàn)槲业某绦蛟O(shè)計(jì)用到了外部中斷0和兩個(gè)定時(shí)計(jì)數(shù)器中斷,我就想是不是這幾個(gè)中斷程序有沖突了,因而導(dǎo)致了不能同時(shí)運(yùn)行。我用的是C語言編程,于是選擇了用keil軟件和proteus聯(lián)合調(diào)試。5 軟硬件調(diào)試在將近半個(gè)學(xué)期的畢業(yè)設(shè)計(jì)過程中,從一開始的軟件仿真設(shè)計(jì)到中期的硬件焊接再到最后的聯(lián)機(jī)調(diào)試,大大小小的遇到了不少問題,首先是軟件仿真設(shè)計(jì)的時(shí)候遇到的問題:,而我對這個(gè)軟件只在兩年前的校內(nèi)實(shí)習(xí)時(shí)接觸過一點(diǎn),對這個(gè)軟件相當(dāng)不熟悉,于是從圖書館借了一些相關(guān)的資料,花了兩三天對這個(gè)軟件進(jìn)行熟悉與了解,并在網(wǎng)上搜索了一些相關(guān)的電路圖進(jìn)行仿制,以便于更加熟悉操作,經(jīng)過幾天的努力,終于對這個(gè)仿真軟件有了更深的了解和更熟練的繪圖操作。此時(shí)串口被打開,之后選擇顯示波形按鍵在黑色區(qū)域便會(huì)繪制實(shí)時(shí)的脈搏波形,右上角的文本框是查看串口所發(fā)送過來的數(shù)據(jù)是多少。InputMode:設(shè)置從輸入寄存器中讀取數(shù)據(jù)的形式,若值為0則表示以文本形式讀取,值為1則表示以二進(jìn)制形式讀取。Setting:對串口通信的相關(guān)參數(shù)進(jìn)行設(shè)置,包括串口通信的比特率、奇偶校驗(yàn)、數(shù)據(jù)位長度、停止位等進(jìn)行設(shè)置,其默認(rèn)值是9600,N,8,1,表示串口比特率是9600bit/s,不作奇偶校驗(yàn),8 位數(shù)據(jù)位,1個(gè)停止位。 上位機(jī)程序的設(shè)計(jì)如果需要通過VB設(shè)計(jì)平臺(tái)與RS232相結(jié)合,則必須會(huì)用到MSComm通信控件。 } //由軟件將TI置0上述串行口發(fā)送子程序中,TI為發(fā)送中斷標(biāo)志位,在TI=0時(shí),當(dāng)CPU執(zhí)行一條向SBUF寫數(shù)據(jù)的指令時(shí),就啟動(dòng)發(fā)送過程。 //定時(shí)器1, 方式 2, 8位自動(dòng)重裝 SCON | = 0x40 。 } 通過上述AD轉(zhuǎn)換子程序,輸入到單片機(jī)的模擬信號將會(huì)被轉(zhuǎn)變成相應(yīng)的數(shù)字信號,讓后就可以通過串口發(fā)送程序?qū)?shù)字信號發(fā)送到上位機(jī)上進(jìn)行實(shí)時(shí)顯示。 //啟動(dòng)AD轉(zhuǎn)換,并使EOC信號為低電平 For ( i = 0 。程序代碼設(shè)計(jì)中首先令START為1,延時(shí)一段時(shí)間后將主次逼近寄存器復(fù)位,然后再令START為0,啟動(dòng)AD轉(zhuǎn)換并延時(shí),隨后EOC輸出信號變低,指示轉(zhuǎn)換正在進(jìn)行。 k++ ) //通過k控制哪個(gè)數(shù)碼管顯示 { Discan = scan_con [ k ]。下面是聲明的延時(shí)子函數(shù),聲明了整型形參t,當(dāng)t大于0時(shí)每一個(gè)機(jī)器周期t的值都會(huì)依次減一,直到t小于等于0時(shí)程序繼續(xù)往下執(zhí)行,它的優(yōu)點(diǎn)在于延時(shí)時(shí)間可以根據(jù)實(shí)際的需要來調(diào)節(jié),方便快捷易懂。由以上分析可以看出掃面顯示函數(shù)和延時(shí)函數(shù)是LED數(shù)碼管驅(qū)動(dòng)程序所必需的部分。數(shù)碼管動(dòng)態(tài)顯示是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,就是將所有的數(shù)碼管的段選線并聯(lián)在一起,用一個(gè)I/O接口控制,公共端不是直接接地或電源,而是通過相應(yīng)的I/O接口線控制。要想讓數(shù)碼管能夠正常工作,數(shù)碼管的各段碼就需要用相應(yīng)的驅(qū)動(dòng)電路來驅(qū)動(dòng),從而顯示出測量的脈搏數(shù)目,根據(jù)不同的數(shù)碼管驅(qū)動(dòng)方式,可以分為靜態(tài)顯示和動(dòng)態(tài)顯示兩類 [13]。 // 啟動(dòng)定時(shí)計(jì)數(shù)器T0工作 EA = 1。設(shè)置完成后即完成了對定時(shí)器T0和外部中斷0初始化,程序代碼如下所示:void ding shi (){TMOD | = 0x02。,可以利用T0工作在方式2,精確定時(shí)200微秒。,第一個(gè)任務(wù)是重新給TL0和TH0賦初值,為下一次的定時(shí)中斷做準(zhǔn)備,第二個(gè)任務(wù)是中斷次數(shù)加1,中斷次數(shù)用numone表示,由于程序設(shè)計(jì)的1m定時(shí)需要記錄20次中斷數(shù)目所以其數(shù)據(jù)類型應(yīng)該設(shè)為無符號的字符型,同樣在初始化程序時(shí)置numone為0。由于ADC0809芯片可處理電壓為0到+5V,所以在傳感器輸
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1