基于51單片機(jī) PCF8591數(shù)字電壓表課程設(shè)計(jì)_第1頁(yè)
基于51單片機(jī) PCF8591數(shù)字電壓表課程設(shè)計(jì)_第2頁(yè)
基于51單片機(jī) PCF8591數(shù)字電壓表課程設(shè)計(jì)_第3頁(yè)
基于51單片機(jī) PCF8591數(shù)字電壓表課程設(shè)計(jì)_第4頁(yè)
基于51單片機(jī) PCF8591數(shù)字電壓表課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程名稱(chēng): 微機(jī)原理課程設(shè)計(jì) 題 目: 數(shù)字電壓表 摘要單片微型計(jì)算機(jī)簡(jiǎn)稱(chēng)單片機(jī),是典型的嵌入式微控制器,常用英文字母的縮寫(xiě)MCU表示單片機(jī),單片機(jī)又稱(chēng)單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。單片機(jī)由運(yùn)算器,控制器,存儲(chǔ)器,輸入輸出設(shè)備構(gòu)成,相當(dāng)于一個(gè)微型的計(jì)算機(jī)(最小系統(tǒng)),和計(jì)算機(jī)相比,單片機(jī)缺少了外圍設(shè)備等。概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格便宜、為學(xué)習(xí)、應(yīng)用和開(kāi)發(fā)提供了便利條件。同時(shí),學(xué)習(xí)使用單片機(jī)是了解計(jì)算機(jī)原理與結(jié)構(gòu)的最佳選擇。它最早是被用在工業(yè)控制領(lǐng)域。其中我們用于學(xué)習(xí)用的最多的是STC89C52單片機(jī),STC

2、89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但也做了很多改進(jìn)使得芯片具有傳統(tǒng)51單片機(jī)不具備的功能。STC89C52具有8k字節(jié)Flash,512字節(jié)RAM,32位I/O口線(xiàn),看門(mén)狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個(gè)16位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級(jí)中斷結(jié)構(gòu),全雙工串行口。本設(shè)計(jì)就是以單片機(jī)STC89C52為核心,附以外圍電路,實(shí)現(xiàn)數(shù)字電壓表的功能,并運(yùn)用軟件Proteus進(jìn)行仿真來(lái)得到實(shí)驗(yàn)結(jié)果。關(guān)鍵詞:STC89C52單片機(jī)、仿真、中斷、數(shù)字電壓

3、表、數(shù)碼管顯示目錄一、任務(wù)要求41.1 設(shè)計(jì)任務(wù)41.2 設(shè)計(jì)要求41.3 發(fā)揮部分41.4 創(chuàng)新部分4二、方案總體設(shè)計(jì)與論證5三、硬件設(shè)計(jì)63.1 單片機(jī)晶振部分63.2 單片機(jī)復(fù)位部分63.3 電源模塊部分73.4 A/D轉(zhuǎn)換部分73.5 數(shù)碼管顯示部分83.6 單片機(jī)STC89C5210四、軟件設(shè)計(jì)134.1 程序設(shè)計(jì)總方案134.2 系統(tǒng)子程序設(shè)計(jì)134.3 A/D轉(zhuǎn)換子程序134.4 中斷14五、系統(tǒng)仿真與調(diào)試15六、設(shè)計(jì)總結(jié)與心得體會(huì)186.1 設(shè)計(jì)總結(jié)186.2 心得體會(huì)18七、參考文獻(xiàn)19一、任務(wù)要求1.1 設(shè)計(jì)任務(wù)使用所學(xué)的單片機(jī)以及編程的知識(shí),利用PCF8591A/D轉(zhuǎn)換芯

4、片把電阻轉(zhuǎn)換為電壓并使用四位數(shù)碼管顯示出來(lái)。1.2 設(shè)計(jì)要求利用所學(xué)的軟硬件知識(shí),使用KEIL uVision4軟件編寫(xiě)能夠?qū)崿F(xiàn)數(shù)字電壓表功能的程序。使用軟件將數(shù)字電壓表的硬件電路的模擬電路在70mm*90mmPCB板模板上繪制出來(lái),然后根據(jù)lochmaster30軟件所繪制的模擬電路在70mm*90mmPCB板上焊接出來(lái)。檢查電路焊接完好后把編寫(xiě)好的程序下載到單片機(jī)內(nèi)驗(yàn)證編寫(xiě)的程序,觀(guān)察數(shù)字電壓表的顯示情況是否與實(shí)驗(yàn)要求相符。1.3 發(fā)揮部分使用PCF8591A/D轉(zhuǎn)換芯片通過(guò)電阻的調(diào)節(jié)改變電壓并在數(shù)碼管上顯示出來(lái),并且使用一個(gè)LED實(shí)時(shí)的把電壓的大小體現(xiàn)出來(lái),電壓變高LED就變亮,電壓變低

5、LED就變暗。1.4 創(chuàng)新部分本實(shí)驗(yàn)需求測(cè)量0-5V電壓,發(fā)揮創(chuàng)新,將測(cè)量電壓的大小增大,設(shè)置成可調(diào)擋的形式??蓽y(cè)量5V、10V、20V電壓等。由于時(shí)間關(guān)系,程序只寫(xiě)了測(cè)量5V電壓的,稍后會(huì)更新程序。本實(shí)驗(yàn)采用的是四路檢測(cè)問(wèn)做法,盡可能發(fā)揮了它的功能。二、方案總體設(shè)計(jì)與論證本次步進(jìn)電機(jī)控制實(shí)驗(yàn)以單片機(jī)為主體,P0口接上拉電阻驅(qū)動(dòng)數(shù)碼管的段碼,P2口連接數(shù)碼管的位碼,P2口的高四位從低到高分別控制第一、二、三、四個(gè)數(shù)碼管亮或者滅。P1.0口和P1.1口分別接PCF8591芯片的SCL和SDA引腳。SCL和SDA引腳分別為I2C總線(xiàn)的時(shí)鐘線(xiàn)、數(shù)據(jù)線(xiàn)。AIN0口接藍(lán)白臥式可調(diào)電阻,當(dāng)可調(diào)電阻滑動(dòng)時(shí),

6、電阻的變化引起電壓的變化,經(jīng)過(guò)PCF8591芯片的實(shí)時(shí)轉(zhuǎn)換,通過(guò)單片機(jī)處理實(shí)時(shí)的在數(shù)碼管上顯示出來(lái)。同時(shí)也能夠通過(guò)外接在芯片的AOUT口的LED體現(xiàn)電壓的大小。AOUT口為芯片的D/A轉(zhuǎn)換輸出端。外加復(fù)位和晶振電路等組成的最小系統(tǒng)。EA引腳接高電平。進(jìn)行本實(shí)驗(yàn)之初具有兩套方案:方案一:使用附加發(fā)光二極管的亮與暗來(lái)體現(xiàn)電壓的大小。此方法擁有體現(xiàn)電壓大小的效果更明確的優(yōu)勢(shì)。但是硬件電路會(huì)復(fù)雜一點(diǎn)。方案二:不使用附加發(fā)光二極管的亮與暗來(lái)體現(xiàn)電壓的大小。此方法具有硬件電路簡(jiǎn)單的優(yōu)勢(shì),節(jié)約了成本。但是體現(xiàn)效果不明顯。經(jīng)過(guò)衡量,覺(jué)得附加LED體現(xiàn)會(huì)使電壓大小的體現(xiàn)效果更加明了。所以選擇方案一。使用數(shù)碼管顯

7、示附加LED來(lái)體現(xiàn)不電壓的大小。設(shè)計(jì)變化框圖如圖1所示:圖1 變化框圖設(shè)計(jì)系統(tǒng)功能圖如圖2所示:圖2 系統(tǒng)功能圖總體方案工作原理:STC89C52是集成40個(gè)I/O口的單片機(jī),擁有12MHZ的晶振周期,電路擁有可控復(fù)位電路。PCF8591芯片可實(shí)現(xiàn)模擬量與數(shù)字量的變化。移動(dòng)滑動(dòng)變阻器,電壓的變化模擬量通過(guò)PCF8591芯片轉(zhuǎn)換為數(shù)字量輸送到單片機(jī)中,通過(guò)單片機(jī)處理,并在數(shù)碼管上顯示出來(lái)。三、硬件設(shè)計(jì)3.1 單片機(jī)晶振部分如圖3所示,為單片機(jī)的晶振電路部分。其中C1、C2為22pF的電容,它是振蕩回路交聯(lián)電容,如果沒(méi)這兩個(gè)電容的話(huà),振蕩部分會(huì)因?yàn)闆](méi)有回路而停振。電路就不能正常工作。Y1就是12M

8、HZ的晶振。一般來(lái)說(shuō)單片機(jī)內(nèi)部有一個(gè)帶反饋的線(xiàn)性反相放大器,外界晶振(或接陶瓷振蕩器)和電容就可組成振蕩器,晶振結(jié)合單片機(jī)內(nèi)部的電路,產(chǎn)生單片機(jī)所必須的時(shí)鐘頻率,單片機(jī)的一切指令的執(zhí)行都是建立在這個(gè)基礎(chǔ)上的??梢哉f(shuō)晶振就是單片機(jī)的心臟,為單片機(jī)工作提供動(dòng)力。圖3 單片機(jī)晶振電路部分3.2 單片機(jī)復(fù)位部分如圖4所示,為單片機(jī)的復(fù)位電路部分。復(fù)位電路,就是利用它把電路恢復(fù)到起始狀態(tài)。當(dāng)電源低于單片機(jī)正常工作電壓,影響單片機(jī)工作;程序跑飛,時(shí)鐘失步等情況下需要使單片機(jī)復(fù)位。該復(fù)位電路為按鍵復(fù)位,按鍵復(fù)位需要人為在復(fù)位輸入端RST上加入高電平。一般采用的辦法是在RST端和正電源VCC之間接一個(gè)按鈕。當(dāng)

9、人為按下按鈕時(shí),則VCC的+5V電平就會(huì)直接加到RST端。按鍵復(fù)位的電路如所示。由于人的動(dòng)作再快也會(huì)使按鈕保持接通達(dá)數(shù)十毫秒,所以,完全能夠滿(mǎn)足復(fù)位的時(shí)間要求。圖4 單片機(jī)復(fù)位電路部分3.3 電源模塊部分如圖5所示,為單片機(jī)的電源模塊部分。電源模塊包括一個(gè)四腳直排針(P0),一個(gè)藍(lán)白自鎖開(kāi)關(guān)(S5),一個(gè)1K限流電阻(R2)和一個(gè)發(fā)光二極管(L0)。電源模塊能夠?yàn)殡娐诽峁╇娫础D5 電源模塊部分3.4 A/D轉(zhuǎn)換部分如圖6所示,為A/D轉(zhuǎn)換部分。其中R3為藍(lán)白臥式電位器,調(diào)節(jié)電阻可使VO輸入芯片的電壓發(fā)生變化R4為L(zhǎng)ED的限流電阻,L1為電壓大小體現(xiàn)的發(fā)光二極管。圖6 A/D轉(zhuǎn)換部分PCF85

10、91是一個(gè)單片集成、單獨(dú)供電、低功耗、8-bit CMOS數(shù)據(jù)獲取器件。PCF8591具有4個(gè)模擬輸入、1個(gè)模擬輸出和1個(gè)串行I2C總線(xiàn)接口。PCF8591的3個(gè)地址引腳A0,A1和A2可用于硬件地址編程,允許在同個(gè)I2C總線(xiàn)上接入8個(gè)PCF8591器件,而無(wú)需額外的硬件。在PCF8591器件上輸入輸出的地址、控制和數(shù)據(jù)信號(hào)都是通過(guò)雙線(xiàn)雙向I2C總線(xiàn)以串行的方式進(jìn)行傳輸。PCF8591的功能包括多路模擬輸入、內(nèi)置跟蹤保持、8-bit模數(shù)轉(zhuǎn)換和8-bit數(shù)模轉(zhuǎn)換。PCF8591的最大轉(zhuǎn)化速率由I2C總線(xiàn)的最大速率決定。如圖7為PCF8591內(nèi)部結(jié)構(gòu)圖:如圖7為PCF8591內(nèi)部結(jié)構(gòu)圖如圖8為PC

11、F8591引腳圖:如圖8為PCF8591引腳圖AIN0AIN3:模擬信號(hào)輸入端。A0A3:引腳地址端。VDD、VSS:電源端。SDA、SCL:I2C總線(xiàn)的數(shù)據(jù)線(xiàn)、時(shí)鐘線(xiàn)。OSC:外部時(shí)鐘輸入端,內(nèi)部時(shí)鐘輸出端。EXT:內(nèi)部、外部時(shí)鐘選擇線(xiàn),使用內(nèi)部時(shí)鐘時(shí)EXT接地。AGND:模擬信號(hào)地。AOUT:D/A轉(zhuǎn)換輸出端。VREF:基準(zhǔn)電源端。3.5 數(shù)碼管顯示部分?jǐn)?shù)碼管按段數(shù)可分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“8”可分為1位、2位、3位、4位、5位、6位、7位等數(shù)碼管;按發(fā)光二極管單元連接方式可分為共陽(yáng)極數(shù)碼管和共陰極數(shù)碼管。

12、共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管,共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線(xiàn)GND上,當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí),相應(yīng)字段就點(diǎn)亮,當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮。本實(shí)驗(yàn)用的是四位八段共陰數(shù)碼管。圖9為共陰極數(shù)碼管電路結(jié)構(gòu)。圖9 共陰數(shù)碼管電路結(jié)構(gòu)如圖10所示,為本實(shí)驗(yàn)的數(shù)碼管顯示部分。圖10 數(shù)碼管顯示部分如圖11所示,為四位共陰數(shù)碼管的引腳圖。圖11 四位共陰數(shù)碼管引腳圖如圖11所示,其中A1,A2,A3,A4分別是數(shù)碼管從左到右的位選,dp為共地端,在使用時(shí),共陰極數(shù)碼管應(yīng)該將它接地。其中,a,b,c,d,e,f,g,dp對(duì)應(yīng)

13、的段選分別為如圖12對(duì)應(yīng)段選。圖12 數(shù)碼管的段選數(shù)碼管要顯示數(shù)字就需要通過(guò)PO口輸入高低電平控制每個(gè)LED燈的亮滅,公共端接地線(xiàn)P0口接1K的上拉電阻。由于并未用到小數(shù)點(diǎn)顯示,所以DP引腳懸空。如表1所示為數(shù)碼管顯示數(shù)字的實(shí)現(xiàn):顯示字型dp,g,f,e,d,c,b,a字符碼00 0 1 1 1 1 1 10x3f10 0 0 0 0 1 1 00x0620 1 0 1 1 0 1 10x5b30 1 0 0 1 1 1 10x4f40 1 1 0 0 1 1 00x6650 1 1 0 1 1 0 10x6d60 1 1 1 1 1 0 10x7d70 0 0 0 0 1 1 10x0780

14、 1 1 1 1 1 1 10x7f90 1 1 0 1 1 1 10x6f表1 數(shù)碼管的顯示3.6 單片機(jī)STC89C52STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但也做了很多改進(jìn)使得芯片具有傳統(tǒng)51單片機(jī)不具備的功能。STC89C52具有8k字節(jié)Flash,512字節(jié)RAM,32位I/O口線(xiàn),看門(mén)狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個(gè)16位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級(jí)中斷結(jié)構(gòu),全雙工串行口。如圖13所示為STC89C52的引腳圖。圖13

15、單片機(jī)STC89C52以下為STC89C52的管腳說(shuō)明:1) P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P0口的管腳第一次寫(xiě)“1”時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須接上拉電阻。 2) P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P

16、1口作為低八位地址接收。3) P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。4) P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TT

17、L門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為STC89C52的一些特殊功能口:P3.0 RXD(串行輸入口);P3.1 TXD(串行輸出口);P3.2 /INT0(外部中斷0);P3.3 /INT1(外部中斷1);P3.4 T0(記時(shí)器0外部輸入);P3.5T1(記時(shí)器1外部輸入);P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通);P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通);P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。5) RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周

18、期的高電平時(shí)間。6) ALE/PROG:當(dāng)訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。7) /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周

19、期兩次/PSEN有效。但在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。8) /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。9) XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。10) XTAL2:來(lái)自反向振蕩器的輸出。振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用

20、外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。四、軟件設(shè)計(jì)數(shù)字電壓表程序編寫(xiě)是通過(guò)時(shí)下最流行的KEIL uVision4一體化集成編程軟件完成,在KEIL環(huán)境下編寫(xiě)程序并生成二進(jìn)制文件。軟件流程圖如圖4所示。根據(jù)模塊的劃分原則,將該程序劃分初始化模塊,A/D轉(zhuǎn)換子程序和顯示子程序,這三個(gè)程序模塊構(gòu)成了整個(gè)系統(tǒng)軟件的主程序。4.1 程序設(shè)計(jì)總方案程序流程圖是人們對(duì)解決程序問(wèn)題的方法,思路或者算法的一種描述。流程圖的優(yōu)點(diǎn)是:采用簡(jiǎn)單規(guī)范的符號(hào),畫(huà)法簡(jiǎn)單。結(jié)構(gòu)清晰,邏輯性強(qiáng)。便與描述,容易理

21、解。程序流程圖畫(huà)法不可隨意,一旦隨意就會(huì)使程序結(jié)構(gòu)雜亂無(wú)章,這樣的程序令人難以理解和接受,并且容易出錯(cuò)。因此程序必須遵守三個(gè)結(jié)構(gòu):順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)。在流程圖中,不同的圖形代表著不同的含義。圖14為本程序設(shè)計(jì)總方案: 圖14 程序設(shè)計(jì)總方案4.2 系統(tǒng)子程序設(shè)計(jì)初始化程序,所謂初始化,是對(duì)將要用到的STC89C52單片機(jī)內(nèi)部部件或擴(kuò)展芯片進(jìn)行初始工作狀態(tài)設(shè)定,初始化子程序的主要工作是設(shè)置定時(shí)器的工作模式,初值預(yù)置,開(kāi)中斷和打開(kāi)定時(shí)器等4.3 A/D轉(zhuǎn)換子程序A/D轉(zhuǎn)換子程序用來(lái)控制對(duì)輸入的模塊電壓信號(hào)的采集測(cè)量,并將對(duì)應(yīng)的數(shù)值存入相應(yīng)的內(nèi)存單元,其轉(zhuǎn)換流程圖如圖15所示。圖15 轉(zhuǎn)換

22、流程圖4.4 中斷中斷是CPU對(duì)系統(tǒng)發(fā)生的某個(gè)事件作出的一種反應(yīng)。引起中斷的事件稱(chēng)為中斷源。中斷源向CPU提出處理的請(qǐng)求稱(chēng)為中斷請(qǐng)求。發(fā)生中斷時(shí)被打斷程序的暫停點(diǎn)成為斷點(diǎn)。CPU暫停現(xiàn)行程序而轉(zhuǎn)為響應(yīng)中斷請(qǐng)求的過(guò)程稱(chēng)為中斷響應(yīng)。處理中斷源的程序稱(chēng)為中斷處理程序。CPU執(zhí)行有關(guān)的中斷處理程序稱(chēng)為中斷處理。而返回?cái)帱c(diǎn)的過(guò)程稱(chēng)為中斷返回。中斷的實(shí)現(xiàn)實(shí)行軟件和硬件綜合完成,硬件部分叫做硬件裝置,軟件部分成為軟件處理程序。大體上可以把中斷全過(guò)程分為5個(gè)階段:中斷請(qǐng)求、中斷判優(yōu)、中斷響應(yīng)、中斷處理和中斷返回。單片機(jī)有五個(gè)中斷源:外部中斷0(INT0);定時(shí)器T0中斷;外部中斷1(INT1);定時(shí)器T1中斷,串

溫馨提示

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

最新文檔