本課程設(shè)計(jì)的基本要求是使學(xué)生熟悉掌握51系列單片機(jī)的編程方法,學(xué)習(xí)應(yīng)用proteus軟件進(jìn)行單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與仿真。要求同學(xué)們?cè)O(shè)計(jì)一款簡(jiǎn)易的溫度測(cè)量裝置,設(shè)計(jì)要求溫度測(cè)量范圍為0-120度,測(cè)量精度為1度。有精力的同學(xué)可以將測(cè)溫通道擴(kuò)展為8通道(不限測(cè)溫通道數(shù)目)。要求設(shè)計(jì)基于單片機(jī)的簡(jiǎn)單溫度測(cè)量系統(tǒng)電路原理圖,實(shí)現(xiàn)溫度測(cè)量系統(tǒng)的仿真,并最終提交仿真結(jié)果。 設(shè)計(jì)的基本要求:(1)測(cè)量范圍為0℃~+120℃,精度為1℃;(2)利用溫度傳感器測(cè)量某一點(diǎn)環(huán)境溫度;(3)利用A/D轉(zhuǎn)換將溫度信號(hào)轉(zhuǎn)換成電壓信號(hào);(4)在LED數(shù)碼管上顯示;(5)Proteus軟件進(jìn)行仿真。 二、設(shè)計(jì)思路(僅供參考)根據(jù)系統(tǒng)的設(shè)計(jì)要求,溫度傳感器TC1輸出信號(hào)經(jīng)信號(hào)差動(dòng)放大到0—5V,放大器的輸出送ADC80C51進(jìn)行A/D轉(zhuǎn)換,A/D轉(zhuǎn)換結(jié)果送單片機(jī)進(jìn)行處理,最后將所測(cè)的溫度在LED數(shù)碼管上顯示。 圖1 系統(tǒng)設(shè)計(jì)框圖 三、相關(guān)設(shè)計(jì)知識(shí) (一)硬件設(shè)計(jì)部分 1、AT89C51單片機(jī)選擇及特點(diǎn) 由于此設(shè)計(jì)需要編寫程序,需要將程序載入單片機(jī)中,因此單片機(jī)必須具有 足夠多的存儲(chǔ)空間,其具有8K字節(jié)的Flash完全滿足要求。16位的定時(shí)計(jì)數(shù)器使得讀取數(shù)據(jù)變得更加簡(jiǎn)單,同時(shí)其結(jié)構(gòu)有利于晶振電路和復(fù)位電路的連接。最重要的是,能夠在掉電狀態(tài)下保存RAM內(nèi)的數(shù)據(jù)。因此,對(duì)于本設(shè)計(jì)來(lái)說(shuō),選擇AT89C51是最有利的。 AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS 8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供。 主要特性 (1) 與MCS-51 兼容 (2) 4K字節(jié)可編程閃爍存儲(chǔ)器 (3) 32可編程I/O線 (4) 128×8位內(nèi)部RAM (5) 全靜態(tài)工作:0Hz-24MHz (6) 5個(gè)中斷源 (7) 數(shù)據(jù)保留時(shí)間:10年 (8) 壽命:1000寫/擦循環(huán) (9) 兩個(gè)16位定時(shí)器/計(jì)數(shù)器 (10) 三級(jí)程序存儲(chǔ)器鎖定 (11) 可編程串行UART通道 (12) 低功耗的閑置和掉電模式 (13) 片內(nèi)振蕩器和時(shí)鐘電路
管腳說(shuō)明 圖2 AT89C51引腳電路圖 VCC:供電電壓。 GND:接地。 P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“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)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口,如下: | | | | | | | | | | | | | | | /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) | | /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) |
P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。 /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)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTAL2:來(lái)自反向振蕩器的輸出。 XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。 晶振電路 所謂晶振電路即指單片機(jī)的時(shí)鐘電路。該電路通常有內(nèi)部時(shí)鐘電路和外部時(shí)鐘電路。一般選用前者。單片機(jī)芯片內(nèi)部有一個(gè)反相放大器構(gòu)成的振蕩器。反相放大器的輸入端為XTAL1,輸出端為XTAL2,吧XTAL1和XTAL2與外部石英晶體及兩個(gè)電容連接起來(lái)可構(gòu)成一個(gè)石英晶體振蕩器如圖3-4所示。時(shí)鐘發(fā)生器是一個(gè)2分頻電路。它把晶體振蕩器的頻率2分頻后供給片內(nèi)其他電路。一般電容C1和C2起到
穩(wěn)定振蕩頻率、快速起振的作用。 4 復(fù)位電路 單片機(jī)復(fù)位時(shí)RESET需保持96個(gè)晶振周期的高電平(即需8個(gè)機(jī)器周期)。復(fù)位以后P0-P3口輸出高電平,堆棧指針SP指向07H,其他特殊功能寄存器和程序計(jì)數(shù)器PC清零。只要RESET保持高電平,AT89C51就會(huì)循環(huán)復(fù)位。RESET當(dāng)由高電平變?yōu)榈碗娖揭院螅瑔纹瑱C(jī)從程序存儲(chǔ)器0地址開始執(zhí)行程序。但單片機(jī)復(fù)位部RAM狀態(tài),包括工作寄存器R0-R7。常見的復(fù)位電路有:上電復(fù)位電路和上電按鈕復(fù)位電路,在本設(shè)計(jì)中均采用上電按鈕復(fù)位電路,如圖所示:
2.4 復(fù)位電路 2模數(shù)轉(zhuǎn)換器的選擇 ADC0831 是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的一種 8 位分辨率、雙通道帶有串行接口的A/D轉(zhuǎn)換芯片。由于它體積小,兼容性強(qiáng),性價(jià)比高而深受單片機(jī)愛好者及企業(yè)歡迎,其目前已經(jīng)有很高的普及率。 工作原理 ADC0831的工作時(shí)序如下圖,ADC0831的工作過程如下:首先,將ADC0831的時(shí)鐘拉低,再將片選端CS置低,啟動(dòng)A/D轉(zhuǎn)換。接下來(lái)在第一個(gè)時(shí)鐘的下降沿到來(lái)時(shí),ADC0831的數(shù)據(jù)輸出端被拉低,準(zhǔn)備輸出轉(zhuǎn)換數(shù)據(jù)。從時(shí)鐘的第二個(gè)下降沿到來(lái)開始,ADC0831開始輸出轉(zhuǎn)換數(shù)據(jù),直到第九個(gè)下降沿為止,共8位,輸出的順序從最高位到最低位
。 ADC0831啟動(dòng)程序如下: AD_CONV: SETB CS CLR CLK NOP NOP CLR CS NOP NOP SETB CLK NOP NOP CLR CLK NOP NOP SETB CLK NOP NOP MOV R0, #08H 芯片接口說(shuō)明 2.5 ADC0831引腳圖 · CS : 片選使能,低電平芯片使能。 · VREF: 參考電壓輸入端,接+5V。 · GND: 芯片參考0電位。 · CLK : 芯片時(shí)鐘輸入(復(fù)用)。 · V
(+): 接電源正極。 · V(-): 接電源負(fù)極。 · D0: A/D轉(zhuǎn)換數(shù)據(jù)輸出端 技術(shù)指標(biāo): · 8位分辨率; · 一般功耗為15mW; · 轉(zhuǎn)換時(shí)間為32us · 5V電源供電時(shí)輸入電壓為0~5V之間 四位一體LED 發(fā)光二極管簡(jiǎn)稱為L(zhǎng)ED。由鎵(Ga)與砷(AS)、磷(P)的化合物制成的二極管,當(dāng)電子與空穴復(fù)合時(shí)能輻射出可見光,因而可以用來(lái)制成發(fā)光二極管,在電路及儀器中作為指示燈,或者組成文字或數(shù)字顯示。磷砷化鎵二極管發(fā)紅光,磷化鎵二極管發(fā)綠光,碳化硅二極管發(fā)黃光。 它是半導(dǎo)體二極管的一種,可以把電能轉(zhuǎn)化成光能;常簡(jiǎn)寫為L(zhǎng)ED。發(fā)光二極管與普通二極管一樣是由一個(gè)PN結(jié)組成,也具有單向?qū)щ娦浴.?dāng)給發(fā)光二極管加上正向電壓后,從P區(qū)注入到N區(qū)的空穴和由N區(qū)注入到P區(qū)的電子,在PN結(jié)附近數(shù)微米內(nèi)分別與N區(qū)的電子和P區(qū)的空穴復(fù)合,產(chǎn)生自發(fā)輻射的熒光。不同的半導(dǎo)體材料中電子和空穴所處的能量狀態(tài)不同。當(dāng)電子和空穴復(fù)合時(shí)釋放出的能量多少不同,釋放出的能量越多,則發(fā)出的光的波長(zhǎng)越短。常用的是發(fā)紅光、綠光或黃光的二極管。 發(fā)光二極管的核心部分是由P型半導(dǎo)體和由N型半導(dǎo)體組成的晶片,在P型半導(dǎo)體和N型半導(dǎo)體之間有一個(gè)過渡層,稱為PN結(jié)。在某些半導(dǎo)體材料的PN結(jié)中,注入的少數(shù)載流子與多數(shù)載流子復(fù)合時(shí)會(huì)把多余的能量以光的形式釋放出來(lái),從而把電能直接轉(zhuǎn)換為光能。PN結(jié)加反向電壓,少數(shù)載流子難以注入,故不發(fā)光。這種利用注入式電致發(fā)光原理制作的二極管叫發(fā)光二極管,通稱LED。 當(dāng)它處于正向工作狀態(tài)時(shí)(即兩端加上正向電壓),電流從LED陽(yáng)極流向陰極時(shí),半導(dǎo)體晶體就發(fā)出從紫外到紅外不同顏色的光線,光的強(qiáng)弱與電流有關(guān)。 本次設(shè)計(jì)選用的是四位一體共陽(yáng)極數(shù)碼管。這類數(shù)碼管可以分為共陽(yáng)極和共陰極,共陽(yáng)極就是把所有LED的陽(yáng)極連接到共同節(jié)點(diǎn)com,而每個(gè)LED的陰極非別為a、b、c、d、e、f、g及dp;共陰極則是把所有LED的陰極連接到共同接點(diǎn)com,而每個(gè)LED的陽(yáng)極分別為a、b、c、d、e、f、g及dp,如下圖所示,圖中的8個(gè)LED分別圖中a~dp各段對(duì)應(yīng),通過控制各個(gè)LED的亮滅來(lái)顯示數(shù)字。 數(shù)碼管使用條件: a、段及小數(shù)點(diǎn)上加限流電阻 b、使用電壓:段,小數(shù)點(diǎn),根據(jù)發(fā)光顏色決定 c、使用電壓: 靜態(tài):80mA 動(dòng)態(tài):平均電流4—5mA 峰值電流:100Ma OP07放大器介紹 OP07是一種高精度單片運(yùn)算放大器,具有極低的輸入失調(diào)電壓,極低的失調(diào)電壓溫漂,非常低的輸入噪聲電壓幅度及長(zhǎng)期穩(wěn)定等特點(diǎn)。可廣泛應(yīng)用于穩(wěn)定積分、精密絕對(duì)值電路、比較器及微弱信號(hào)的精確放大,尤其適應(yīng)于宇航、軍工及要求微型化、高可靠的精密儀器儀表中
。 OP07作為一種低噪聲高精度運(yùn)算放大器,特別適合做前級(jí)放大器。 具有以下特點(diǎn):
1) 低的輸入噪聲電壓幅度—0.35 μVP-P (0.1Hz ~ 10Hz)
2) 極低的輸入失調(diào)電壓—10 μV
3) 極低的輸入失調(diào)電壓溫漂—0.2 μV/ ℃
4) 具有長(zhǎng)期的穩(wěn)定性—0.2 μV/MO
5) 低的輸入偏置電流—± 1nA
6) 高的共模抑制比—126dB
7) 寬的共模輸入電壓范圍—±14V
8) 寬的電源電壓范圍—± 3V ~± 22V
9) 可替代725、108A、741、AD510、1875 等電路
3溫度測(cè)量電路設(shè)計(jì)
溫度測(cè)量電路要實(shí)現(xiàn)的目標(biāo)是:將0~120度通過傳感器測(cè)量,運(yùn)算放大器放大的0~5V的電壓信號(hào)。 溫度傳感器選用Pa-t傳感器,放大器采用OP07E放大器,溫度信號(hào)輸入采用差動(dòng)放大形式,放大器輸出為: 即放大倍數(shù)為100倍。 在Proteus中實(shí)測(cè)放大器輸出數(shù)據(jù)為: 從測(cè)試數(shù)據(jù)來(lái)看,本設(shè)計(jì)符合0~120
對(duì)應(yīng)輸出0~5V電壓要求。 溫度測(cè)量電路 A/D轉(zhuǎn)換電路設(shè)計(jì) A/D轉(zhuǎn)換的目標(biāo)是將模擬量轉(zhuǎn)化成數(shù)字量,在本例中,選用ADC0831串行A/D轉(zhuǎn)換芯片做為溫度測(cè)試系統(tǒng)的A/D轉(zhuǎn)換芯片,設(shè)計(jì)電路如圖所示:
A/D轉(zhuǎn)換電路 由于設(shè)計(jì)誤差要求為1
,1
對(duì)應(yīng)的輸入電壓為(1/120)×5=0.04167V,8位A/D轉(zhuǎn)換芯片的分辨率為
×5=0.019531V,從而說(shuō)明選用8位的A/D轉(zhuǎn)換器測(cè)量誤差要小于1。另外,之所以選擇串行的,理由是串行的電路設(shè)計(jì)簡(jiǎn)單,在性能上符合要求。 LED顯示電路設(shè)計(jì) LED顯示電路 報(bào)警電路設(shè)計(jì) 當(dāng)溫度低于80度時(shí),綠燈亮;當(dāng)溫度高于80度時(shí),紅燈亮。
報(bào)警電路 系統(tǒng)整體硬件電路設(shè)計(jì) 整體電路設(shè)計(jì) (二)軟件部分設(shè)計(jì) 1 Proteus軟件介紹
Proteus軟件是英國(guó)Labcenter electronics公司出版的EDA工具軟件(該軟件中國(guó)總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、AVR、ARM、8086 PIC10/12/16/18/24/30/DsPIC33和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。 Proteus與其他單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)CPU的工作情況,也能仿真單片機(jī)外圍電路或沒有單片機(jī)參與的其他電路的工作情況。因此在仿真和程序調(diào)用時(shí),關(guān)心的不再是某些語(yǔ)句執(zhí)行時(shí)單片機(jī)寄存器和儲(chǔ)存器內(nèi)容的改變,而是從工程的角度直接看程序運(yùn)行和電路工作過程和結(jié)果。 Proteus主要由ISIS和ARES兩部分組成,ISIS的主要功能是原理圖設(shè)計(jì)及與電路原理圖的交互仿真,ARES主要用于印制電路板的設(shè)計(jì)[8]。 本次設(shè)計(jì)主要用的是ISIS部分。Proteus ISIS是一種操作簡(jiǎn)便而又功能強(qiáng)大的原理圖編譯工具,它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析各種模擬器件和集成電路,該軟件的特點(diǎn)有: ·實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)仿真、RS232動(dòng)態(tài)仿真、I
C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真等功能;有各種虛擬儀器。如示波器、邏輯分析儀、信號(hào)發(fā)生器等。 ·支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有68000系列、8051系列、ARM系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、PIC24系列、BSTAMP系列、Z80系列、HC11系列以及各種外圍芯片。 ·提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各種變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境。如KeiluVision3等軟件。 ·具有強(qiáng)大的原理圖繪制功能。 Proteus的工作過程 運(yùn)行Proteus的ISIS程序后,進(jìn)入該仿真軟件的主界面。在工作前,要設(shè)置VIEW菜單下的捕捉對(duì)齊和system下的顏色、圖形界面大小等項(xiàng)目。通過工作欄中的P(從庫(kù)中選擇元件命令)命令。在pick devices窗口中選擇電路所需的元件,放置元件并調(diào)整其相對(duì)位置,元件參數(shù)設(shè)置,元器件間連線,編寫程序;在source菜單的Define code generation tools 菜單命令下,選擇程序編譯的工具、路徑、擴(kuò)展名的項(xiàng)目:在source菜單的Add/remove source files命令下,加入單片機(jī)硬件電路的對(duì)應(yīng)程序:通過debug菜單的相應(yīng)命令仿真程序和電路的運(yùn)行情況。 Proteus提供了比較豐富的測(cè)試信號(hào)用于電路的測(cè)試。對(duì)于單片機(jī)硬件電路和軟件的調(diào)試,Proteus提供了兩種方法;一種是系統(tǒng)總執(zhí)行效果,一種是對(duì)軟件的分部調(diào)試以看具體的執(zhí)行情況。 對(duì)于總體執(zhí)行效果的調(diào)試方法,只需要執(zhí)行debug菜單下的execute菜單項(xiàng)或F12快捷鍵啟動(dòng)執(zhí)行,用debug菜單下的pause animation 菜單項(xiàng)或pause鍵暫停系統(tǒng)的運(yùn)行。 對(duì)于軟件的分部調(diào)試,應(yīng)先執(zhí)行debug菜單下的start/restart debugging菜單項(xiàng)命令,此時(shí)可以選擇step over、step into和step out命令執(zhí)行程序,執(zhí)行的效果是單句執(zhí)行、進(jìn)入子程序執(zhí)行和跳出子程序執(zhí)行。在執(zhí)行了start/restart debugging命令后,在debug菜單的下面要出現(xiàn)仿真中所涉及到的軟件列表和單片機(jī)的系統(tǒng)資源等,可供調(diào)劑時(shí)分析和查看
。
2. Proteus仿真調(diào)試及結(jié)果 根據(jù)設(shè)計(jì)要求:分為顯示電路,報(bào)警電路,測(cè)溫電路和A/D轉(zhuǎn)換電路,按步驟完成電路圖的連接。 第一步 完成LED顯示電路的連接,如下圖所示: 第二步 繪制報(bào)警燈電路,如下圖: 第三步 完成晶振復(fù)位電路:如下圖示: 第四步 繪制A/D轉(zhuǎn)換電路,如圖: 最后完成核心部分溫度測(cè)量電路:
完成電路連接后,在Proteus ISIS界面中單擊Source(源程序),在彈出的下拉菜中單擊“Add/Remove Source Files”(添加/移開源程序)選項(xiàng),如下圖: 單擊“Code Generation Tool”(目標(biāo)代碼生成工具)選取ASEM51。 單擊“New”按鈕,彈出如圖所示對(duì)話框,在文件名框中輸入新建源程序
單擊打開,選擇“是”按鈕。 這樣將在Source下建立Tem.ASM文件,如下圖: 點(diǎn)擊新建成的“Tem.ASM”進(jìn)入?yún)R編語(yǔ)言編譯窗口 將程序敲入其中。如圖:
單擊Source下的“Build All”編譯結(jié)果在彈出的對(duì)話框中顯示。如果沒有錯(cuò)誤便成功生成目標(biāo)代碼” Tem.hex” 文件。這樣便成功的將目標(biāo)代碼加載到單片機(jī)中。
點(diǎn)擊OK后,點(diǎn)擊左下角仿真按鈕進(jìn)行仿真。
當(dāng)給溫度傳感器輸入0度時(shí),可以發(fā)現(xiàn)電壓表顯示0.03V,誤差在1度范圍內(nèi),電壓和溫度測(cè)量電路的輸出電壓成10倍關(guān)系,與此同時(shí)綠色報(bào)警燈亮說(shuō)明符合設(shè)計(jì)要求,但LED顯示值為002,如果電路和程序均無(wú)錯(cuò)誤LED顯示值應(yīng)該為000,因此說(shuō)明系統(tǒng)某部分仍存在錯(cuò)誤。
給溫度傳感器設(shè)置10度時(shí),電壓表顯示值為0.43V,綠燈亮,仍符合要求。LED顯示值為022。
以此類推當(dāng)給溫度傳感器輸入20,30,40度時(shí);
當(dāng)改變溫度傳感器溫度值,使LED顯示為080時(shí),綠燈亮。當(dāng)LED顯示大于80度時(shí),紅燈亮,此時(shí)報(bào)警指示電路工作正常。
4結(jié)果分析 根據(jù)仿真結(jié)果可以看出,溫度測(cè)量電路和A/D轉(zhuǎn)換電路以及報(bào)警燈電路均顯示正常,只有LED顯示結(jié)果與理論值有誤差,正常情況下LED上顯示值和溫度傳感器輸入值是一樣的,然而仿真時(shí),0度對(duì)應(yīng)的是002,1度對(duì)應(yīng)的是004,10度對(duì)應(yīng)的是022,顯示數(shù)以2為基準(zhǔn)跳變。因此我首先想到的是程序問題,在程序中加一個(gè)除2的語(yǔ)句,但LED顯示仍無(wú)大變化。因此造成LED顯示錯(cuò)誤可能有其他原因,經(jīng)過分析造成誤差的原因可能有以下幾點(diǎn): 1. 2. 3. 4. 四、結(jié)論 在工業(yè)生產(chǎn)和日常生活中,對(duì)溫度控制系統(tǒng)的要求,主要是保證溫度在一定溫度范圍內(nèi)變化,穩(wěn)定性好,不振蕩,對(duì)系統(tǒng)的快速性要求不高。在論文中簡(jiǎn)單分析了單片機(jī)溫度控制系統(tǒng)設(shè)計(jì)過程及實(shí)現(xiàn)方法。本系統(tǒng)的測(cè)溫范圍為0℃~120℃,溫度檢測(cè)系統(tǒng)根據(jù)用戶設(shè)定的溫度范圍完成一定范圍的溫度控制。 本次設(shè)計(jì)的測(cè)溫系統(tǒng)主要有AT89C51和A/D轉(zhuǎn)換器及溫度傳感器來(lái)實(shí)現(xiàn)功能的并通過proteus軟件進(jìn)行仿真。因此需要通過查閱資料來(lái)了解這些器件的基本結(jié)構(gòu),主要功能和注意事項(xiàng)等等。通過了解器件,在觸類旁通之下,能夠知道與所選器件相似的器件,比較彼此之間的優(yōu)缺點(diǎn),來(lái)確定設(shè)計(jì)選擇的器件是否合適,如何更好的利用器件的特點(diǎn)成為了本次設(shè)計(jì)重要的一方面。在確定了器材之后,如何利用使之最大限度的體現(xiàn)設(shè)計(jì)的功能,完成設(shè)計(jì)目標(biāo),這又是需要花大量時(shí)間去思考的。 在設(shè)計(jì)完成之后,設(shè)計(jì)合理的程序和通過仿真軟件模擬仿真,又再一次檢驗(yàn)了設(shè)計(jì)的成果。整個(gè)設(shè)計(jì)從確定題目,到尋找相關(guān)資料,再到選擇合適的器件,接著對(duì)電路圖的繪制,程序的編寫,仿真的進(jìn)行,最終調(diào)試。一步步走過來(lái),一點(diǎn)點(diǎn)的進(jìn)步,花了大量的時(shí)間和精力,而成果也是喜人的。 經(jīng)過一段時(shí)間的方案論證、系統(tǒng)的硬件和軟件的設(shè)計(jì)、系統(tǒng)的調(diào)試。查閱了大量的關(guān)于傳感器、單片機(jī)及其接口電路、以及控制方面的理論。經(jīng)過了一番特殊的體驗(yàn)后,經(jīng)歷了失敗的痛苦,也嘗到了成功的喜悅。第一次靠用所學(xué)的專業(yè)知識(shí)來(lái)解決問題。檢查了自己的知識(shí)水平,使我對(duì)自己有一個(gè)全新的認(rèn)識(shí)。通過這次畢業(yè)設(shè)計(jì),不僅鍛煉自己分析問題、處理問題的能力,還提高了自己的動(dòng)手能力。 但由于時(shí)間有限,本次設(shè)計(jì)過于簡(jiǎn)單,未能實(shí)現(xiàn)其他功能,如語(yǔ)音報(bào)警、鍵盤控制等。
五 參考文獻(xiàn) [1] 張建波,韓崧. 淺談溫度測(cè)量發(fā)展史[J]. 測(cè)量技術(shù) ,2001,14-15 [2] 陳慕君,唐慧剛,劉其,袁富娟 基于AT89C51單片機(jī)控制的數(shù)字溫度計(jì)設(shè)計(jì)[J]. 科技信息 009(14) [3] 張靖武,周靈彬. 單片機(jī)系統(tǒng)PROTEUS設(shè)計(jì)與仿真[M].北京:電子工業(yè)出版社,2007 [4] 周潤(rùn)景,張麗娜. 基于proteus的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真[M]. 北京:北京航空航天大學(xué)出版社,2006 [5] 李廣弟. 單片機(jī)基礎(chǔ)[M]. 北京:北京航空航天大學(xué)出版社, 2008 [6] 田鑫. OP07功率放大器[J]. 武漢理工大學(xué),2009,5-6 [7] 吉武慶,耿凡娜. 基于單片機(jī)溫度測(cè)溫系統(tǒng)仿真設(shè)計(jì)[J]. 科技信息 2008, (16):395-396 [8] 朱清慧, 張鳳蕊, 崔天嵩. 王志奎 .Proteus教程[M]. 北京:清華大學(xué)出版社, 2010 [10] ZHANG Lei, ZHOU Fei. Develop of the Blast Furnace Soft Water Temperature Measurement System[J]. International Conference on Computer Science and Software Engineering, 2008,70-74 [11] Lin zhengbao .Instrument Technique and Sensor[J]. A kind of detecting method of more-dots temperature. 2002, pp34 [12] 江世民. 基于Proteus的單片機(jī)應(yīng)用技術(shù)[M]. 北京:電子工業(yè)出版社,2009 附錄 匯編語(yǔ)言程序
- CS BIT P1.7
- CLK BIT P1.0
- DO BIT P1.1
- AD_TMP EQU 30H
- AD_TMP_1 EQU 31H
- AD_TMP_2 EQU 32H
- AD_TMP_3 EQU 33H
- AD_TMP1 EQU 34H
- ORG 0000H
- LJMP MAIN
- ORG 0030H
- MAIN: CLR P2.0
- START: LCALL AD_CONV
- LCALL DISPLAY
- LJMP START
- AD_CONV: SETB CS
- CLR CLK
- NOP
- NOP
- CLR CS
- NOP
- NOP
- SETB CLK
- NOP
- NOP
- CLR CLK
- NOP
- NOP
- SETB CLK
- NOP
- NOP
- MOV R0, #08H
- AD_READ: CLR CLK
- MOV C, DO
- RLC A
- SETB CLK
- NOP
- NOP
- DJNZ R0, AD_READ
- SETB CS
- MOV AD_TMP, A
- RET
- DISPLAY: MOV A, AD_TMP
- MOV DPTR, #TAB1
- MOVC A, @A+DPTR
- CJNE A, #80, S1
- SJMP S3
- S1: JNC S2
- SJMP S4
- S2: CLR P3.0
- SJMP S4
- S3: SETB P3.0
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
完整論文下載(word格式 可編輯):
基于proteus的簡(jiǎn)單溫度測(cè)量系統(tǒng)設(shè)計(jì).doc
(2.66 MB, 下載次數(shù): 44)
2017-6-29 21:00 上傳
點(diǎn)擊文件名下載附件
溫度測(cè)量系統(tǒng)
|