基于單片機的便攜式心率測試儀的設(shè)計_第1頁
基于單片機的便攜式心率測試儀的設(shè)計_第2頁
基于單片機的便攜式心率測試儀的設(shè)計_第3頁
基于單片機的便攜式心率測試儀的設(shè)計_第4頁
基于單片機的便攜式心率測試儀的設(shè)計_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本科學(xué)生畢業(yè)設(shè)計基于單片機的便攜式心率測試儀的設(shè)計院部名稱:專業(yè)班級:學(xué)生姓名:指導(dǎo)教師:職稱:講師PortableHeartRateMeasuringInstrumentBasedonMCUMeasurement&controltechnologyandinstruments隨著生物醫(yī)學(xué)工程技術(shù)的發(fā)展,醫(yī)學(xué)信號測量儀器日新月異。生物醫(yī)學(xué)測量與臨床醫(yī)學(xué)和保健醫(yī)療的聯(lián)系日益緊密。通過對人體各種生理信號的檢測,能更好的認識人體的生命現(xiàn)象。脈象包含豐富的人體健康狀況信息,脈診技術(shù)應(yīng)客觀化、定量化。本設(shè)計利用光電式傳感器,設(shè)計脈搏信號獲取的方法。本設(shè)計主要是基于單片機的便攜式脈搏測試儀的具體實現(xiàn)方法,利用光電傳感器產(chǎn)生脈沖信號,經(jīng)過放大整形后,輸入單片機內(nèi)進行相應(yīng)的控制,從而測量出一分鐘內(nèi)的脈搏跳動次數(shù),快捷方便。通過觀測脈搏信號,可以對人體的健康進行檢查,通常被用于保健中心和醫(yī)院。本設(shè)計所設(shè)計的基于單片機的便攜式心率測試儀對推進脈診技術(shù)客觀化的實現(xiàn)具有積極的促進作用。ABSTRACT

Keywords:MCU;TOC\o"1-4"\h\z\u摘要 IAbstract……………………II第1章引言 11.1概述 11.2基于單片機的心率測試儀的發(fā)展與應(yīng)用 21.3本設(shè)計的主要內(nèi)容 3第2章整體方案分析 42.1任務(wù) 42.2要求 42.3設(shè)計時要考慮的問題 42.3.1環(huán)境光對脈搏傳感器測量的影響 42.3.2電磁干擾對脈搏傳感器的影響 42.3.3測量過程中運動噪聲的影響 52.4系統(tǒng)基本方案 52.4.1脈搏傳感器的選擇 52.4.2單片機部分的選擇…………72.4.3顯示部分的選擇 72.5整體方案 72.6本章小結(jié)……………………...…..8第3章硬件電路設(shè)計分析 93.1控制器 93.1.1AT89S51簡介……………..………………93.1.2AT89S51的特點…..……93.1.3AT89S51的結(jié)構(gòu) 103.2脈搏信號采集 123.2.1光電傳感器的結(jié)構(gòu)及原理 123.2.2信號采集電路 133.3信號放大電路 133.4波形整形電路 143.5單片機處理電路 153.6顯示電路 163.7報警電路 173.8本章小結(jié) 17第4章軟件系統(tǒng) 184.1主程序流程 184.2定時器中斷程序流程 194.3INT中斷程序流程 204.4顯示程序流程 204.5蜂鳴器報警流程 214.6本章小結(jié) 22結(jié)束語 23參考文獻 25致謝 27附錄 28附錄A整體硬件電路圖 28附錄B程序 29附錄C外文翻譯 34心腦血管疾病是當(dāng)今全球死亡率最高的疾病,是21世紀人類健康的頭號殺手。多年來,心率測試儀在心腦血管疾病的研究和診斷方面發(fā)揮出顯著的作用,它記錄的心臟活動時的生物電信號,已成為臨床診斷的重要依據(jù)。臨床上使用的心電監(jiān)護儀雖然功能強大,測量精度高,但因為價格高昂,不利于家庭的普及。就算是在醫(yī)院,護士每天監(jiān)控病人病情而進行的心率測試也是常用手測。正常人的心率和脈搏跳動的次數(shù)是一樣的,因此可以用測脈搏的方法來測心率。醫(yī)院的護士每天都要給住院的病人把脈,并記錄病人每分鐘脈搏數(shù),從而達到測試心率的目的,他們一般的方法是用手按在病人腕部的動脈上,根據(jù)脈搏的跳動進行計數(shù)。為了節(jié)省時間,一般不會作1分鐘的測量,通常是測量10秒鐘時間內(nèi)心跳的數(shù),再把結(jié)果乘以6即得到每分鐘的心跳數(shù),即使這樣做還是比較費時,而且精度也不高。隨著科技發(fā)展的不斷提高,生命科學(xué)和信息科學(xué)的結(jié)合越來越緊密,出現(xiàn)了各種新穎的脈搏測量儀器,特別是電子脈搏儀的出現(xiàn),使脈搏測量變得非常方便。從脈搏波中提取人體的生理病理信息作為臨床診斷和治療的依據(jù),歷來都受到中外醫(yī)學(xué)界的重視。幾乎世界上所有的民族都用過“摸脈”作為診斷疾病的手段。脈搏波所呈現(xiàn)出的形態(tài)(波形)、強度(波幅)、速率(波速)和節(jié)律(周期)等方面的綜合信息,在很大程度上反映出人體心血管系統(tǒng)中許多生理病理的血流特征,因此對脈搏波采集和處理具有很高的醫(yī)學(xué)價值和應(yīng)用前景。本系統(tǒng)采用AT89S51單片機為核心而制作的一種實用型脈搏測量儀。采用光電脈搏傳感器作為傳感器對人體的脈搏進行數(shù)據(jù)采集。得到的信號送入AT89S51單片機進行處理。單片機將采集到的脈搏數(shù)在數(shù)碼管上實時顯示出來,同時還設(shè)置了脈搏測量儀的上下限報警電路。本設(shè)計首先描述本設(shè)計的整體思路,然后介紹各個部分設(shè)計中的細節(jié)問題,最后提出一些完善本設(shè)計的改進意見。便攜式心率測試儀攜帶方便并且能準(zhǔn)確快速地測試心率,這是我們在家中就可以測試心率從而能檢測是否患有一些心血管疾病,做到早發(fā)現(xiàn)。他還可以供運動員使用以檢測身體狀態(tài),當(dāng)能護士使用它可以節(jié)省大量的時間并大大的提高了測試心率的準(zhǔn)確性。人體心室周期性的收縮和舒張導(dǎo)致主動脈的收縮和舒張,是血流壓力以波的形式從主動脈根部開始沿著整個動脈系統(tǒng)傳播,這種波成為脈搏波。從脈搏波中提取人體的心理病理信息作為臨床診斷和治療的依據(jù),歷來都受到中外醫(yī)學(xué)界的重視。脈搏波所呈現(xiàn)出的形態(tài)(波形)、強度(波幅)、速率(波速)和節(jié)律(周期)等方面的綜合信息,在很大程度上反映出人體心血管系統(tǒng)中許多生理病理的血流特征,因此對脈搏波采集和處理具有很高的醫(yī)學(xué)價值和應(yīng)用前景。隨著科學(xué)技術(shù)的發(fā)展,脈搏測量技術(shù)也越來越先進,對脈搏的測量精度也越來越高,國內(nèi)外先后研制了不同類型的脈搏測量儀,而其中關(guān)鍵是對脈搏傳感器的研究。而由于脈搏傳感器的不同,現(xiàn)今市場上的脈搏測試儀的脈率采集主要有三種方法:采用一對紅色發(fā)光二極管實現(xiàn)、采用反射式的紅外管實現(xiàn)和采用壓電陶瓷芯片實現(xiàn)。近年來國內(nèi)外致力于開發(fā)無創(chuàng)非接觸式的傳感器,這類傳感器的重要特征是測量的探測部分不侵入機體,不造成機體創(chuàng)傷,能夠自動消除儀表自身系統(tǒng)的誤差,測量精度高,通常在體外,尤其是在體表間接測量人體的生理和生化參數(shù)。本設(shè)計采用的光電式脈搏傳感器是根據(jù)光電容積法制成的脈搏傳感器。它是采用一對紅色發(fā)光二極管進行脈率的采集,而它的測量位置一般是耳垂或手指。通過對手指末端透光度的監(jiān)測,間接檢測出脈搏信號。具有結(jié)構(gòu)簡單、無損傷、精度高、可重復(fù)使用等優(yōu)點。雖然手指上的汗腺較多,指夾常年使用,污染可能會使測量靈敏度下降,但只要注意清理,測量的準(zhǔn)確性還是非常高的;耳脈測量比較干凈,傳感器使用環(huán)境污染少,容易維護。但因耳脈較弱,尤其是當(dāng)季節(jié)變化時,所測信號受環(huán)境溫度影響明顯,造成測量結(jié)果不準(zhǔn)確。脈搏測量儀的發(fā)展主要向以下幾個趨勢發(fā)展:1、自動測量脈搏并且對所得到的脈搏進行自動分析目前很多脈搏測量儀都具有檢測血氧等其他的功能,但是對這些信號的分析和診斷還需要一些有經(jīng)驗的醫(yī)生觀察,進行分析后才能確認結(jié)果,浪費大量的人力,且由人為引入的誤差較大。因此,未來脈搏自動檢測的內(nèi)容將更加詳細,自動分析診斷功能也更強大。2、數(shù)字化技術(shù)等先進技術(shù)的應(yīng)用隨著數(shù)字科學(xué)技術(shù)的發(fā)展,脈搏測量儀集成度將更高,更便于攜帶。數(shù)字信號處理的運用將使干擾更小,測量更為準(zhǔn)確。3、多功能化越來越明顯目前的脈搏測量儀,一般都具有測試血氧,心電圖等等功能,單純的脈搏測量儀已經(jīng)很少見。隨著電子技術(shù)的發(fā)展,脈搏測量儀必然可以實現(xiàn)更多的功能。本設(shè)計以單片機為核心,由光電傳感器采集脈搏信號。經(jīng)過前置放大電路、濾波電路、積分和比較電路后得到與脈搏相關(guān)的脈沖信號。該脈沖信號作為中斷信號交由單片機進行買長周期的計算。然后得到每分鐘的脈搏搏動次數(shù)(即心率),并在數(shù)碼管上顯示心率。

本設(shè)計的工作是圍繞著光電傳感器檢測脈搏波而單片機進行控制進行的。本設(shè)計的設(shè)計內(nèi)容安排如下:

第一章為引言。簡要介紹了心率測試儀設(shè)計的目的和意義,并對基于單機的便攜式心率測試儀的現(xiàn)狀和應(yīng)用以及未來的發(fā)轉(zhuǎn)走勢做了簡單的闡述,指出了本設(shè)計的主要技術(shù)內(nèi)容,即心率的測試。

第二章為整體方案的分析。顧名思義第二章是對整個方案的詳細的對比與選擇并確定最終方案。在確定方案之前我必須先明確本設(shè)計的任務(wù)與要求,之后是各個部分的對比選擇。第三章是本設(shè)計的核心。在這里給出了整體的硬件電路設(shè)計思路,并且對電路的各個部分進行分析與解釋。

第四章敘述程序的編程方案,給出程序的框架結(jié)構(gòu)圖并對整個設(shè)計進行總結(jié),而且對以后的設(shè)計工作進行了展望?;趩纹瑱C的便攜式心率測試儀的設(shè)計。本設(shè)計以單片機為核心,由光電傳感器采集脈搏信號。經(jīng)過前置放大電路、濾波電路、積分和比較電路后得到與脈搏相關(guān)的脈沖信號。該脈沖信號作為中斷信號交由單片機進行買長周期的計算。然后得到每分鐘的脈搏搏動次數(shù)(即心率),并在數(shù)碼管上顯示心率,并且在超出設(shè)定的正常脈搏跳動范圍時,驅(qū)動蜂鳴器報警。(1)通過脈搏傳感器采樣脈搏信號,設(shè)計脈搏波檢測電路,通過譯碼管來顯數(shù)脈搏次數(shù)。(2)將脈沖波送入單片機,采用單片機構(gòu)成脈搏波檢測儀,要求實現(xiàn)脈搏波次數(shù)超出設(shè)定時限時驅(qū)動蜂鳴器報警。設(shè)計時要考慮的問題環(huán)境光對脈搏傳感器測量的影響在光電式脈搏傳感器中,光敏器件接收到的光信號不僅包含脈搏信息的透射光的信號,而且包含測量環(huán)境下的背景光信號,由于動脈波動引起的光強變化比背景光的變化微弱得多,因此在測量過程當(dāng)中要保持測量背景光的恒定,減少背景光的干擾。測量環(huán)境下的背景光包含環(huán)境光和在測量過程中引起的二次反射光。為了減少環(huán)境光對脈搏信號測量的影響,同時考慮到傳感器使用的方便性,采用密封的指套式包裝方式,整個外殼采用不透光的介質(zhì)和顏色,盡量減小外界環(huán)境光的影響,為了避免測量過程中的二次反射光的影響,在指套式傳感器的內(nèi)層表面涂上一層吸光材料,這樣能有效減少二次反射光的干擾。加上指套式外殼后的脈搏傳感器測量到的脈搏波形比較平滑。這是因為加指套式的脈搏傳感器中環(huán)境光在測量過程中基本不受外界環(huán)境光的影響,而且能夠有效減少二次反射光,使照射到手指上的光波長單一,所以得到的脈搏信號較為穩(wěn)定,沒有明顯的重疊雜波信號,能夠很好的體現(xiàn)出脈搏波形的特征。電磁干擾對脈搏傳感器的影響通過光電轉(zhuǎn)換得到的包含脈搏信息的電信號一般比較微弱,容易受到外界電磁信號的干擾,在傳統(tǒng)的光電式脈搏傳感器電路中,由于光敏器件和放大電路是分離的,那么在信號的傳遞過程就很容易受到外界電磁干擾,通常在一級放大電路采用電磁屏蔽的方式來消除電磁干擾。本系統(tǒng)采用了新型的光敏器件,在芯片內(nèi)部集成光敏器和一級放大電路,有效地抑制了外界電磁信號對原始脈搏信號的干擾。工頻干擾是電路中最常見的干擾,脈搏信號變化緩慢,特別容易受到工頻信號的干擾,因此對工頻信號干擾的抑制是保證脈搏信號測量精度的主要措施之一。通常脈搏信號的頻率范圍在0.3-30Hz之間,小于工頻50Hz,因此通過低通濾波器可以有效濾除工頻干擾,這在信號調(diào)理電路中容易實現(xiàn);同時可以在控制電路中對光源進行脈沖調(diào)制,這樣不但能夠降低系統(tǒng)的功耗,而且能夠在一定程度上減小外界的電磁干擾,在脈搏信號數(shù)據(jù)采集后,可以通過數(shù)據(jù)處理法方法進一步濾除工頻信號的干擾。2.3.3測量過程中運動噪聲的影響測量過程中,通常情況下手指和光電式脈搏傳感器可能產(chǎn)生相對的運動,這樣會使脈搏的測量產(chǎn)生誤差,可以通過兩個方面減少運動噪聲誤差:一是改善指套式傳感器的機械運動性,比如說使指套能夠更緊的套在手指上,不易松動;二是從脈搏處理的角度,通過算法來減少誤差。對于本設(shè)計的傳感器的設(shè)計來說,采用的是第一個途徑。根據(jù)題目的要求系統(tǒng)模塊可以基本劃分為:脈搏傳感器部分、單片機處理電路部分、顯示電路部分和報警電路。為實現(xiàn)各模塊的功能,分別做了幾種不同的設(shè)計方案并進行了論證。脈搏傳感器的選擇傳感器又稱為換能器、變換器等。脈搏傳感器是脈搏檢測系統(tǒng)中重要的組成部分。(1)光電式傳感器血液是高度不透明的液體,光照在一般組織中的穿透性要比血液中大幾十倍,據(jù)此特點,采用光電效應(yīng)手指脈搏傳感器來拾取脈搏信號。反向偏壓的光敏二極管,它的反向電流具有隨光照強度增加而增加的光電效應(yīng)特性,在一定光強范圍內(nèi),光敏二極管的反向電流與光強呈線性關(guān)系。指端血管的容積和透光度隨心搏改變時,將使光電三極管極管收到不同的光強,并由此產(chǎn)生的光電流均隨之作相應(yīng)變化。常用檢測脈搏的光電傳感器分為紅外對管和紅外放射管。采用紅外對管。將對管夾于手指端部,通過手指的血液濃度會隨著心臟的跳動發(fā)生變化,紅外對管對應(yīng)的信號便會發(fā)生相應(yīng)的變化,采集此信號經(jīng)過放大,濾波,比較等處理便可以得到理想的信號。采用反射式的紅外管?,F(xiàn)在市場上的心率計普遍采用這種傳感器來采集信號,因為此紅外管接收和發(fā)射都在手指的同一側(cè),因此便不用考慮每個人手指情況不同所造成的麻煩。接收的是血液漫反射回來的光,此信號可以精確地測得血管內(nèi)容積變化。光電式傳感器具有靈敏度高,易于操作,響應(yīng)速度快,結(jié)構(gòu)簡單等優(yōu)點。雖然外部光源的變化對測量結(jié)果的影響較大,但我們進行測量的地方一般都是在室內(nèi),有穩(wěn)定的光源,所以在正常的操作過程中只要稍微注意下光源的問題就可以了。(2)壓電式傳感器目前常用的是一次性心電電極,它是用印刷方法制得的Ag/Agcl傳感器。這種傳感器采用接扣與敏感區(qū)分離的方法,能明顯的減少由于人體運動產(chǎn)生的干擾。電極的好壞對采集到的心電信號質(zhì)量起著至關(guān)重要的作用,采用的電極應(yīng)有貼力強,能緊附在人體表面,柔軟、吸汗、極化電壓低、導(dǎo)電性良好等特點。當(dāng)選用電極傳感器時,需要3個電極分別置于左右手和左腿,構(gòu)成標(biāo)準(zhǔn)導(dǎo)聯(lián)。臨床上為了統(tǒng)一和便于比較所獲得的脈搏信號,在檢測脈搏信號時,對電極的位置,引線與放大器的連接方式都有嚴格的統(tǒng)一規(guī)定。目前市場上有一種采用新型高分子壓電材料聚偏氟乙烯研制的壓電傳感器,其靈敏度高,頻帶范圍好,結(jié)構(gòu)簡單,便于使用。當(dāng)手指前端受到輕微的壓力時,可以感覺到手指前端在血壓的作用下有一張一弛的感覺,將這個信號用傳感器提取出來,轉(zhuǎn)變?yōu)殡娦盘?,通過指脈的波形檢測,就可以獲得人體的脈搏信號。壓電式傳感器有著結(jié)構(gòu)簡單,實時性好,工作頻帶寬,應(yīng)用電路簡單等諸多優(yōu)點,并且價格低廉。但壓電式傳感器直接與人體相接觸,容易因為人體肌肉的顫動等而產(chǎn)生干擾。而肌肉的顫動不是人能主動控制的,所以說這部分的誤差很難控制。并且使用壓電式傳感器測脈搏還容易受到外界其他信號的干擾。(3)集成傳感器當(dāng)前,市面上有很多類型的集成心電傳感器,其靈敏度高,集成度高,直接就可以反映出心率的變化,且已包含了濾波等抗干擾電路,波形經(jīng)過放大可以直接處理使用。缺點是價格非常昂貴,一般均在五百元以上,就本次設(shè)計來說,考慮到經(jīng)費以及鍛煉自己的目的,不選擇使用該型傳感器。綜合考慮種種情況,結(jié)合本系統(tǒng)的設(shè)計要求以及經(jīng)費的考慮,本設(shè)計采用光電式傳感器。單片機的選擇AT89S51是一種低功耗、高性能的CMOS8位微控制器,具有8K的系統(tǒng)可編程Flash存儲器。使用Atmel公司的高密度非易失性存儲技術(shù)制造,與工業(yè)80S51產(chǎn)品指令和引腳完全兼容。片上的Flash允許程序存儲在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S51在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。顯示部分的選擇根據(jù)題目要求,設(shè)計出來的系統(tǒng)是可以設(shè)定報警的范圍的。在單片機的應(yīng)用系統(tǒng)中,為了便于人們觀察和監(jiān)視單片機的運行情況,常常需要用顯示器顯示運行的中間結(jié)果、狀態(tài)等信息,因此顯示器也是不可缺少的外部設(shè)備之一。顯示器的種類很多,從液晶顯示、發(fā)光二極管顯示到CRT顯示器,都可以與微機配接。在單片機應(yīng)用系統(tǒng)中常用的顯示器主要有發(fā)光二極管數(shù)碼顯示器,簡稱LED顯示器。LED顯示器具有耗電省、成本低廉、配置簡單靈活、安裝方便、耐振動、壽命長等優(yōu)點。但與LCD相比顯示內(nèi)容有限,不能顯示圖形,因而其應(yīng)用有局限性。LED數(shù)碼管顯示器是由發(fā)光的二極管顯示字段組成的。在單片機應(yīng)用系統(tǒng)中使用最多的就是七段LED數(shù)碼管,有共陰極和共陽極兩種。七段LED數(shù)碼管顯示器有8個發(fā)光二極管,其中從a~g管腳輸入顯示代碼,可顯示不同的數(shù)字或字符,Dp顯示小數(shù)點。共陰極LED數(shù)碼管顯示器的公共端為發(fā)光二極管陰極,通常接地,當(dāng)發(fā)光二極管的陽極為高電平時,發(fā)光二極管點亮。共陽極的LED數(shù)碼管顯示器的公共端為發(fā)光二極管的陽極,通常接+5V電源,當(dāng)發(fā)光二極管的陰極為低電平時,發(fā)光二極管點亮。通過比較,我們可以發(fā)現(xiàn)LED動態(tài)顯示更加適合本設(shè)計,所以就采用此方法。對脈搏的檢測的基本原理:隨著心臟的搏動,人體組織半透明度隨之改變。當(dāng)血液送到人體組織時,組織的半透明度減??;當(dāng)血液流回心臟,組織的半透明度增大。這種現(xiàn)象在人體組織較薄的手指尖、耳垂等部位最為明顯。因此,本設(shè)計所設(shè)計的基于單片機的便攜式脈搏測量儀將紅外發(fā)光二極管產(chǎn)生的紅外線照射到人體的上述部位,并用裝在該部位另一側(cè)或旁邊的紅外光電管來檢測機體組織的透明程度并把它轉(zhuǎn)換成電信號。由于此信號的頻率與人體每分鐘的脈搏次數(shù)成正比,故只要把它轉(zhuǎn)換成脈沖并進行整形、計數(shù)和顯示,就能實現(xiàn)實時檢測脈搏次數(shù)的目的,再通過報警電路可實現(xiàn)報警功能。本設(shè)計結(jié)構(gòu)硬件框圖如圖2.1所示。圖2.1硬件框圖本章主要介紹了常見的用于脈搏檢測的三種傳感器,并對這三種感器的優(yōu)缺點進行了比較。本設(shè)計采用的單片機芯片的型號是AT89S51,在本章主要介紹了它的一些特點。最后,給出了最終的設(shè)計方案和硬件框圖。3.1控制器經(jīng)過第2章的敘述已經(jīng)確定了完成本設(shè)計所需要的主要元器件,所以本章開始講述基于單片機的便攜式心率測試儀的設(shè)計的硬件電路的設(shè)計。在這里,單片機要實現(xiàn)對脈搏信號的處理。為了能夠在不到10s的時間內(nèi),測量出一分鐘的脈搏,可以使用單片機的定時器來實現(xiàn)。在檢測到第一個脈沖到達時,開啟定時器,然后在下一個脈沖到達時,關(guān)閉計時器,如此就可以求得一次心跳所需要的時間,然后由該周期就可以得到一分鐘的脈搏數(shù)。考慮到單片機要實現(xiàn)以上功能,選擇使用AT89S51來構(gòu)成電路。AT89S51AT89S51是一種低功耗、高性能的CMOS8位微控制器,具有8K的系統(tǒng)可編程Flash存儲器。使用Atmel公司的高密度非易失性存儲技術(shù)制造,與工業(yè)80S51產(chǎn)品指令和引腳完全兼容。片上的Flash允許程序存儲在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S51在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。AT89S51的特點:1、兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80S51引腳結(jié)構(gòu)2、4k字節(jié)可重擦寫Flash閃速存儲器3、128bytes的隨機存取數(shù)據(jù)存儲器(RAM)4、32個外部雙向輸入/輸出(I/O)口5、5個中斷優(yōu)先級、2層中斷嵌套中斷6、2個全雙工串行通信口7、片內(nèi)振蕩器和時鐘電路8、2個16位定時/計數(shù)器9、6個中斷源10、看門狗(WDT)電路11、全靜態(tài)工作:0Hz-33MHz12、三級程序存儲器保密鎖定13、可編程串行通道14、低功耗空閑和掉電模式AT89S51的結(jié)構(gòu)此次設(shè)計所使用的AT89S51的封裝形式是PDIP。DIP管腳圖如圖3.1所示。圖3.1DIP管腳圖AT89S51與51系列中各種型號芯片的引腳互相兼容。目前多采用40只引腳雙列直插,如圖3.1所示。引腳按其功能可分為如下3類:1、電源及時鐘引腳——VCC、VSS;XTAL1、XTAL2;2、控制引腳——、、、和;3、I/O口引腳——P0、P1、P2、P3,為4個8位I/O口。1、電源及時鐘引腳(1)電源引腳VCC:5V電壓。GND:接地。(2)外接晶體引腳XTAL1:接外部晶體振蕩器的一端。當(dāng)使用芯片內(nèi)部時鐘時,此腳用于外接石英晶體振蕩器和微調(diào)電容;當(dāng)使用外部時鐘時,對于HMOS單片機,此引腳接地;對于CMOS單片機,此引腳作為外部振蕩信號的輸入端。XTAL2:接外部晶體振蕩器的另一端,當(dāng)使用芯片內(nèi)部時鐘時,此腳用于外接石英晶體振蕩器和微調(diào)電容。當(dāng)使用外部時鐘時,對于HMOS單片機,此引腳接外部振蕩源;對于CMOS單片機,此引腳懸空不接。89S51晶體振蕩器頻率可在6MHZ~40MHZ之間選擇,常選6MHz或12MHz的石英晶體。電容的值沒有嚴格要求,但其取值對振蕩器的頻率輸出的穩(wěn)定性、大小、振蕩電路起振速度稍有影響,C1、C2可在20pF~100pF之間選擇。當(dāng)外接晶體振蕩器時,電容可選30pF±10pF;外接陶瓷振蕩器時,電容可選40pF±10pF。2、控制引腳:復(fù)位端。當(dāng)輸入的復(fù)位信號持續(xù)2個以上機器周期(個晶體振蕩周期)高電平即為有效,用于完成單片機的復(fù)位初始化操作。正常工作時,此腳電平應(yīng)≤0.5V。在VCC發(fā)生故障、降低到電平規(guī)定值掉電期間,此引腳可接備用電源VPD(電源范圍5V±0.5V),由VPD向內(nèi)部RAM供電,以保持內(nèi)部RAM中的數(shù)據(jù)。:地址鎖存使能。ALE(AddressLatchEnable);PROG(Program)為CPU訪問外部程序存儲器或外部數(shù)據(jù)存儲器提供地址鎖存信號,將低8位地址鎖存在片外的地址鎖存器中。引腳第二功能,對片內(nèi)Flash編程,為編程脈沖輸入端。:(ProgrammerSavingENable),外部程序存儲器讀選通信號。在讀外部程序存儲器時有效(低電平),以實現(xiàn)外部程序存儲器單元的讀操作。在訪問外部數(shù)據(jù)存儲器、訪問內(nèi)部程序存儲器時無效。:(EnableAddress/VoltagePulseofProgramming),訪問程序存儲控制信號。當(dāng)=“0”時,表示讀外部程序存儲器。只讀取外部的程序存儲器中的內(nèi)容,讀取的地址范圍為0000H~FFFFH(64KB),片內(nèi)的4KBFlash程序存儲器不起作用。當(dāng)=“1”時,表示對程序存儲器的讀操作是從內(nèi)部程序存儲器開始,并可延至外部程序存儲器。在PC值不超出0FFFH(即不超出片內(nèi)4KBFlash存儲器的地址范圍)時,單片機讀片內(nèi)程序存儲器(4KB)中的程序,但當(dāng)PC值超出0FFFH(即超出片內(nèi)4KBFlash地址范圍)時,將自動轉(zhuǎn)向讀取片外60KB(1000H-FFFFH)程序存儲器空間中的程序。對于EPROM(或FLASH)型單片機,在EPROM編程期間,此引腳需加12.75V或21V的編程電壓。3、I/O口引腳P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8個TTL邏輯門電路,對端口寫“1”可作為高阻抗轉(zhuǎn)入端用。Pl口:P1是—個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。P2口:P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。P3口:①可以作為輸入/輸出口,外接輸入/輸出設(shè)備。②作為第二功能使用,每一位功能定義如表3.1所示。表3.1P3口的第二功能端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0(外中斷0)P3.3INT1(外中斷1)P3.4T0(定時/計數(shù)器0)P3.5T1(定時/計數(shù)器1)P3.6WR(外部數(shù)據(jù)存儲器寫選通)P3.7RD(外部數(shù)據(jù)存儲器讀選通)脈搏信號采集3.2.1光電傳感器的結(jié)構(gòu)及原理傳感器由發(fā)光二級管和光敏二極管組成,其工作原理是:發(fā)光二極管發(fā)出的光透射過手指,經(jīng)過手指組織的血液吸收和衰減,由光敏二極管接收。由于手指動脈血在血液循環(huán)過程中呈周期性的脈動變化,所以它對光的吸收和衰減也是周期性脈動的,于是光敏二極管輸出信號的變化也就反映了動脈血的脈動變化。3.2.2信號采集電路圖3.3是脈搏信號的采集電路,U3是紅外發(fā)射接收裝置,C8、C9串聯(lián)組成的雙極性耦合電容把它隔斷。C8、C9加到線性放大輸入端。圖3.3信號采集電路3.3信號放大本設(shè)計采用的放大器是LM324。LM324是四運放集成電路,它采用14腳雙列直插塑料封裝.它的內(nèi)部包含四組形式完全相同的運算放大器,除電源共用外,四組運放相互獨立。由于LM324四運放電路具有電源電壓范圍寬,靜態(tài)功耗小,可單電源使用,價格低廉等優(yōu)點,因此被廣泛應(yīng)用在各種電路中。由于通過光電式脈搏傳感器檢測到的脈搏波的信號非常微弱,所以在單片機接受處理前需要進行信號的放大處理。按人體截止頻率為:按人體的脈搏跳動為200次/分鐘時的頻率是3.3Hz考慮,低頻特性是令人滿意的。經(jīng)過低通放大后輸出的信號是疊加有噪聲的脈動正弦波。波形整形電路當(dāng)有輸入信號時,U2A在比較器輸入信號的每個后沿到來時輸出高電平,使C7通過R32充電。大約持續(xù)20ms之后,因C7充電電流減小而使U2A同相輸入端的電位降低到低于反相輸入端的電位(尖脈沖已過去很久),于是U2A改變狀態(tài)并再次輸出低電平。這長的脈沖是與脈搏同步的,并由紅色發(fā)光二極管DS3的閃亮指示出來。即發(fā)光二極管作脈搏測量狀態(tài)顯示,脈搏每跳動一次發(fā)光二極管就亮一次。同時,該脈沖電平通過R24送到單片機/INTO腳,進行對心率的計算和顯示。圖3.5整形電路單片機處理電路本部分運用了ATMEL公司的89S51單片機作為核心元件,在這里運用單片機能更快更準(zhǔn)確地對數(shù)據(jù)進行運算,而且可以根據(jù)實際情況進行編程,所用外圍元件少,輕巧省電,故障率低。單片機外圍電路包括復(fù)位電路和振蕩電路。本設(shè)計采用自激蕩方式,使內(nèi)部振蕩器按照石英晶振的頻率振蕩產(chǎn)生時鐘信號。石英晶振選擇頻率為11.0592MHz,電容選擇30pf如圖3.6中振蕩電路所示。經(jīng)計算得單片機工作機器周期為:。時鐘電路工作后,在REST管腳上加兩個機器周期(12個晶振周期)以上的高電平,芯片內(nèi)部開始進行初始復(fù)位。接到P0口的單排電阻是上拉電阻。來自傳感和整形輸出電路的脈沖電平輸入單片機89S51的INTO腳,單片機設(shè)為負跳變中斷觸發(fā)模式,故每次脈沖下降沿到達時觸發(fā)單片機產(chǎn)生中斷并進行計時,來一個脈沖脈搏次數(shù)就加一;定時器中斷主要完成一分鐘的定時功能。單片機對一分鐘內(nèi)的脈沖次數(shù)進行累加,通過P0、P2口把測量過程和結(jié)果送到數(shù)碼管顯示出來。本設(shè)計的顯示采用LED數(shù)碼管動態(tài)掃描來顯示。兩個3位的共陽極LED數(shù)碼管組成8位顯示,其中0、1兩位顯示測量中的時間,3、4兩位顯示測量中的脈搏次數(shù),6、7兩位用來顯示上次測量的數(shù)據(jù)。單片機的P0口控制顯示字型,P2控制顯示字位。顯示電路如圖3.7所示。圖3.7顯示電路根據(jù)圖3.8報警電路本章是本設(shè)計的核心。在這里給出了整體的硬件電路設(shè)計思路,并且對電路的各個部分進行分析與解釋。主要介紹了AT89S51單片機的結(jié)構(gòu)與引腳功能、光電傳感器采集脈搏波原理和LED等的原理。4.1主程序流程YNYNYN初始化是否有外部中斷?YNYNYN初始化是否有外部中斷?啟動計數(shù)器開始變量加1計數(shù)器清零等待計數(shù)器是否溢出?檢測到外部中斷?關(guān)閉計數(shù)器計算結(jié)果結(jié)束圖4.1主程序流程圖系統(tǒng)主程序控制單片機系統(tǒng)按預(yù)定的操作方式運行,它是單片機系統(tǒng)程序的框架。系統(tǒng)上電后,對系統(tǒng)進行初始化。初始化程序主要完成對單片機內(nèi)專用寄存器、定時器工作方式及各端口的工作狀態(tài)的設(shè)定。系統(tǒng)初始化之后,進行定時器中斷、外部中斷、顯示等工作,不同的外部硬件控制不同的子程序。定時器中斷程序流程定時器中斷程序流程如圖4.2所示。圖4.2定時器中斷程序流程定時器中斷服務(wù)程序由一分鐘計時、按鍵檢測、有無測試信號判斷等部分組成。當(dāng)定時器中斷開始執(zhí)行后,對一分鐘開始計時,1s計時到之后繼續(xù)檢測下1s,直到60s到了再停止并保存測得的脈搏次數(shù)。同時可以對按鍵進行檢測,只要復(fù)位測試值就可以重新開始測試。主要完成一分鐘的定時功能和保存測得的脈搏次數(shù)。INT中斷程序流程INT中斷程序流程如圖4.3所示。圖4.3INT中斷程序流程外部中斷服務(wù)程序完成對外部信號的測量和計算。外部中斷采用邊沿觸發(fā)的方式,當(dāng)處于測量狀態(tài)的時候,來一個脈沖脈搏次數(shù)就加一,由單片機內(nèi)部定時器控制一分鐘,累加得出一分鐘內(nèi)的脈搏次數(shù)。沒有處于檢測狀態(tài)時,按下按鍵檢測開始,進行脈搏數(shù)的累加。顯示程序流程顯示程序包括顯示上次的脈搏次數(shù)、本次測量中的時間和脈搏的次數(shù)。從中斷程序中取得結(jié)果后,先顯示上次的脈搏次數(shù),經(jīng)過10ms的延時后再顯示測試中的脈搏次數(shù),再經(jīng)過10ms的延時顯示測試中的時間。本設(shè)計的顯示采用LED數(shù)碼管動態(tài)掃描來顯示。兩個4位的共陽極LED數(shù)碼管組成8位顯示,其中0、1兩位顯示測量中的時間,3、4兩位顯示測量中的脈搏次數(shù),6、7兩位用來顯示上次測量的數(shù)據(jù)。單片機的P0口控制顯示字型,P2口控制顯示字。顯示程序流程如圖4.4所示。圖4.4顯示程序流程圖4.5蜂鳴器報警流程根據(jù)對報警電路的分析,可通過對P1.6的置位來控制蜂鳴器發(fā)出聲音和關(guān)閉。當(dāng)P1.6管腳為低電平時,與非門輸出高電平,三極管導(dǎo)通,這樣蜂鳴器的電路形成回路,發(fā)出聲音;當(dāng)P1.6管腳為高電平時,與非門輸出低電平,三極管截止,這樣蜂鳴器中無法形成電流回路,蜂鳴器不出聲。根據(jù)醫(yī)學(xué)數(shù)據(jù),圖4.5蜂鳴器報警流程圖4.6本章小結(jié)本章節(jié)主要是程序的編寫,要想系統(tǒng)能正常的工作,除了要有合理的硬件之外還要有一個合理的軟件系統(tǒng)。軟件程序采用C語言編寫,可讀性非常好。的誤差。本設(shè)計主要是51單片機在脈搏測試系統(tǒng)中的應(yīng)用。重點介紹了單片機的最小系統(tǒng),通過單片機最小系統(tǒng)實現(xiàn)了脈搏的測量系統(tǒng),由光電傳感器采集到脈沖信號,經(jīng)過信號的放大、濾波和整形電路將輸出的信號通過單片機的外部中斷獲取并最終在數(shù)碼管上顯示。而且本設(shè)計所設(shè)計的便攜式心率測試儀還有報警功能,在脈搏次數(shù)超出設(shè)定值時報警電路會驅(qū)動蜂鳴器鳴叫。利用單片機自身的定時中斷、外部中斷、計數(shù)等功能,不僅能顯示出此次脈搏測量的次數(shù),還能自動儲存這個數(shù)據(jù)。本次所設(shè)計的測量儀系統(tǒng)實現(xiàn)簡單、功能穩(wěn)定、使用方便,應(yīng)用廣泛,具有實際意義。由于時間比較短,同時本人掌握的知識有限,本次設(shè)計雖已完成,但其中有很多不足,如程序不夠簡練,論文說明書不夠好,光電傳感器靈敏度不夠高,數(shù)碼管顯示部分不夠完美等,同時此次設(shè)計的測量儀功能比較單一,沒有如語音系統(tǒng)實現(xiàn)自動讀出脈搏次數(shù)等人性化功能,且在設(shè)計過程中使用的運放數(shù)量也較多,加大了電源管理的復(fù)雜度。然而科技的進步勢必會使測量儀的功能日益強大和完善,其應(yīng)用領(lǐng)域?qū)⒉粩鄶U大,將會給我們的生活帶來更多的方便和精彩。為了更好的進行電脈搏測量儀的設(shè)計,在近一個學(xué)期的時間里,認真收集有關(guān)資料,并做相關(guān)的整理和閱讀,為這次的設(shè)計做好充分的準(zhǔn)備。通過此次的設(shè)計,使我知道了無論做什么事都應(yīng)該事先做好充分的準(zhǔn)備,不應(yīng)該盲目的只為了完成任務(wù)而被動的學(xué)習(xí);通過此次的設(shè)計,使我了解了脈搏測量儀在國內(nèi)外發(fā)展之迅速、應(yīng)用領(lǐng)域之廣、市場前景之大;通過此次的設(shè)計,使我對硬件設(shè)計和各模塊的功能有了更深的了解,同時提高了動手能力;通過次次的設(shè)計,使我體會到堅持不懈的毅力對完成一件事情起著巨大的作用。李靜老師對我李靜老師)(美)MarkD.Birnbaum.電子設(shè)計自動化基礎(chǔ)[M].北京:機械工業(yè)出版社.2005:32-39.OzawaYukioKasamakiYuji.Transmissionandnon-transimissionportableECGinhomecaremedicine.RinshoByori[J].Tokyo.2006.Apr.AcceleratedC++.PracticalProgrammingbyExamplePearsonEduction4-1,2006,812-34.本論文是在李靜老師的悉心指導(dǎo)下完成的。從開始進入課題到論文的順利完成,她都始終給予我耐心的指導(dǎo)和不懈的支持。李靜老師認真的教學(xué)態(tài)度,嚴謹?shù)闹螌W(xué)精神,以及對學(xué)生無微不至的關(guān)愛,都深深地感染和激勵著我。在大學(xué)期間,有幸得到李靜老師的指點,使我受益終生。感謝劉鑫磊和王亮同學(xué),在畢業(yè)設(shè)計期間,和我共同探討,提出很多寶貴意見和建議。感謝答辯組的老師在中期答辯以及成果演示的過程中,對我的設(shè)計的不足之處給予提醒,對設(shè)計的步驟和規(guī)范方面給我以正確的引導(dǎo),使我能夠很快進入狀態(tài),圓滿完成設(shè)計任務(wù)。在此還要感謝測控08-1班的全體同學(xué),在短暫的大學(xué)四年生活中,我們彼此間建立了深厚的友誼,祝愿我們大家庭中的每一位成員事業(yè)有成,一帆風(fēng)順。最后,還要感謝父母對我多年的教導(dǎo)和養(yǎng)育之恩,他們每天的支持和厚愛是我努力學(xué)習(xí)的動力,我將以優(yōu)異的成績作為獻給他們最好的禮物。附錄A整體硬件電路圖脈搏測量儀的信號采集、處理、顯示的程序#include<reg51.h>#defineuint8unsignedchar#defineuint16unsignedint#defineTIMER0_HIGHT0xDC //設(shè)置定時器0工作方式1自動裝載初值,定時10ms,F(xiàn)osc=11.059200MHZ#defineTIMER0_LOW0x00sbitkeyin=P3^1; //按鍵輸入bitstarttest; //啟動測脈搏標(biāo)志uint16cnt10ms; //10ms計數(shù)器uint8cnt1s; //1秒計數(shù)器uint8Pulsecnt; //脈搏次數(shù),計數(shù)器uint8Pulsenum; //上次測試脈搏的次數(shù)uint8codeDispCode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//共陽數(shù)碼管段碼表voidInit_Extint(void);voidTimerInitProc();voidinitvar();voidInit_System(void);voidDisplay(uint8chose_dat,uint8dat);voidShowDisp(uint8tPulsenum,uint8tPulsecnt,uint8tcnt1s);voidDelayMs(uint8Ms);voidmain(){ Init_System(); //初始化 while(1) { ShowDisp(Pulsenum,Pulsecnt,cnt1s); //顯示 }}/*********************************************************************函數(shù)名:Exti0_interrupt*函數(shù)功能:/INT0引腳下降沿進入中斷*入口參數(shù):無*返回:無*******************************************************************************/voidExt0_interrupt(void)interrupt0{ if(starttest==1) //處在測試狀態(tài) { Pulsecnt++; //來一次中斷脈搏計數(shù)器加1 }}/********************************************************************函數(shù)功能:定時器/計數(shù)器0中斷處理入口參數(shù):null返回:null備注:null********************************************************************/voidTimer0IntProc()interrupt1{ TH0=TIMER0_HIGHT; //設(shè)置定時器0高字節(jié)初值 TL0=TIMER0_LOW; //設(shè)置定時器0低字節(jié)初值 if(++cnt10ms==100) //1s計時到 { cnt10ms=0; if(starttest==1) //處在測試狀態(tài) { if(++cnt1s==60) //一分鐘時間到 { starttest=0; //一次檢測完畢,等待下一次檢測 Pulsenum=Pulsecnt; //保存測得脈搏值 } } } if(keyin==0) //檢測按鍵 { if(starttest==1) //處在測試狀態(tài) { cnt10ms=0; //復(fù)位測試值,重新開始測試 cnt1s=0; Pulsecnt=0; } else //不在測試狀態(tài),開始新的一次測試 { starttest=1; cnt10ms=0; } }}/////////////////////////EndofTimer0IntProc////////////////////////voidInit_Extint(void){IT0=1;//外部中斷1設(shè)置為下降沿觸發(fā)IE0=0;//標(biāo)志位清0EX0=1;//允許外部中斷1}/********************************************************************函數(shù)功能:定時器/計數(shù)器初始化入口參數(shù):null返回:null備注:null********************************************************************/voidTimerInitProc(){ TMOD&=0xF0; TMOD|=0x01; //設(shè)置定時器0,方式1:16位定時器 TH0=TIMER0_HIGHT; //設(shè)置定時器0高字節(jié)初值 TL0=TIMER0_LOW; //設(shè)置定時器0低字節(jié)初值 TR0=1; //啟動定時器0ET0=1; //開定時器0中斷 EA=1; //開總中斷}/////////////////////////EndofTimerInitProc////////////////////////voidinitvar(){ starttest=0; cnt10ms=0; cnt1s=0; Pulsecnt=0; Pulsenum=0;}voidInit_System(void){Init_Extint();TimerInitProc(); initvar();}/*******************************************************************************函數(shù)名:Display(ucharchose_dat,uchardat)*函數(shù)功能:數(shù)碼管顯示*入口參數(shù):chose_dat數(shù)碼管顯示字位,dat顯示字型*返回:無*******************************************************************************/voidDisplay(uint8chose_dat,uint8dat){P0=dat;//送顯示字型 P2=~(0x01<<chose_dat);//送顯示字位DelayMs(1);//延時1MS P2=0xFF;//關(guān)閉顯示}voidShowDisp(uint8tPulsenum,uint8tPulsecnt,uint8tcnt1s){ Display(6,DispCode[tPulsenum%10]);//顯示上次測量的脈搏 tPulsenum=tPulsenum/10; Display(7,DispCode[tPulsenum%10]); Display(3,DispCode[tPulsecnt%10]);//顯示測試中的脈搏 tPulsecnt=tPulsecnt/10; Display(4,DispCode[tPulsecnt%10]); Display(0,DispCode[tcnt1s%10]);//顯示測試中的時間 tcnt1s=tcnt1s/10; Display(1,DispCode[tcnt1s%10]);}/********************************************************************函數(shù)功能:延時ms入口參數(shù):MS返回:null備注:null********************************************************************/voidDelayMs(uint8Ms){unsignedchari,j;do{for(i=5;i>0;i--)for(j=98;j>0;j--);}while(--Ms); //Testfor12M}///////////////////////////EndofDelayMs////////////////////////////附錄C:外文翻譯TheAT89S51isalow-power,high-performanceCMOS8-bitmicrocontrollerwith4KbytesofIn-SystemProgrammableFlashmemory.ThedeviceismanufacturedusingAtmel’shigh-densitynonvolatilememorytechnologyandiscompatiblewiththeindus-try-standard80C51instructionsetandpinout.Theon-chipFlashallowstheprogrammemorytobereprogrammedin-systemorbyaconventionalnonvolatilememorypro-grammer.Bycombiningaversatile8-bitCPUwithIn-SystemProgrammableFlashonamonolithicchip,theAtmelAT89S51isapowerfulmicrocontrollerwhichprovidesahighly-flexibleandcost-effectivesolutiontomanyembeddedcontrolapplications.TheAT89S51providesthefollowingstandardfeatures:4KbytesofFlash,128bytesofRAM,32I/Olines,Watchdogtimer,twodatapointers,two16-bittimer/counters,afive-vectortwo-levelinterruptarchitecture,afullduplexserialport,on-chiposcillator,andclockcircuitry.Inaddition,theAT89S51isdesignedwithstaticlogicforoperationdowntozerofrequencyandsupportstwosoftwareselectablepowersavingmodes.TheIdleModestopstheCPUwhileallowingtheRAM,timer/counters,serialport,andinterruptsystemtocontinuefunctioning.ThePower-downmodesavestheRAMcon-tentsbutfreezestheoscillator,disablingallotherchipfunctionsuntilthenextexternalinterruptorhardwarereset.Port0isan8-bitopendrainbi-directionalI/Oport.Asanoutputport,eachpincansinkeightTTLinputs.When1sarewrittentoport0pins,thepinscanbeusedashigh-impedanceinputs.Port0canalsobeconfiguredtobethemultiplexedlow-orderaddress/databusduringaccessestoexternalprogramanddatamemory.Inthismode,P0hasinternalpull-ups.Port0alsoreceivesthecodebytesduringFlashprogrammingandoutputsthecodebytesdur-ingprogramverification.Externalpull-upsarerequiredduringprogramverification.Port1isan8-bitbi-directionalI/Oportwithinternalpull-ups.ThePort1outputbufferscansink/sourcefourTTLinputs.When1sarewrittentoPort1pins,theyarepulledhighbytheinter-nalpull-upsandcanbeusedasinputs.Asinputs,Port1pinsthatareexternallybeingpulledlowwillsourcecurrent(IIL)becauseoftheinternalpull-ups.Port1alsoreceivesthelow-orderaddressbytesduringFlashprogrammingandverification.Port2isan8-bitbi-directionalI/Oportwithinternalpull-ups.ThePort2outputbufferscansink/sourcefourTTLinputs.When1sarewrittentoPort2pins,theyarepulledhighbytheinter-nalpull-upsandcanbeusedasinputs.Asinputs,Port2pinsthatareexternallybeingpulledlowwillsourcecurrent(IIL)becauseoftheinternalpull-ups.Port2emitsthehigh-orderaddressbyteduringfetchesfromexternalprogrammemoryanddur-ingaccessestoexternaldatamemorythatuse16-bitaddresses(MOVX@DPTR).Inthisapplication,Port2usesstrong

溫馨提示

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

評論

0/150

提交評論