




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、信息與計(jì)算科學(xué)系課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)報(bào)告課 程: 智能測(cè)量?jī)x表 題 目: 智能測(cè)量?jī)x表 學(xué)生姓名: XXXXXX 專業(yè)年級(jí): 2009 自動(dòng)化 指導(dǎo)教師: XXXXXX XXXX 信 息 與 計(jì) 算 科 學(xué) 系2013年3月25日智能測(cè)量?jī)x表本次課程設(shè)計(jì)中智能溫度測(cè)量?jī)x表所采用的溫度傳感器為L(zhǎng)M35DZ。其輸出電壓與攝氏溫度成線性比例關(guān)系,無(wú)需外部校準(zhǔn),在0100溫度范圍內(nèi)精度為0.40.75。,輸出電壓與攝氏溫度對(duì)應(yīng),使用極為方便。靈敏度為10.0mV/,重復(fù)性好,輸出阻抗低,電路接口簡(jiǎn)單和方便,可單電源和正負(fù)電源工作。是一種得到廣泛使用的溫度傳感器。本次課程設(shè)計(jì)的主要目的在于讓學(xué)生把所學(xué)到
2、的單片機(jī)原理、電子線路設(shè)計(jì)、傳感器技術(shù)與原理、過程控制、智能儀器儀表、總線技術(shù)、面向?qū)ο蟮某绦蛟O(shè)計(jì)等相關(guān)專業(yè)課程的內(nèi)容系統(tǒng)的總結(jié),并能有效的使用到項(xiàng)目研發(fā)中來,做到學(xué)以致用。課程設(shè)計(jì)的內(nèi)容主要分為三個(gè)部分,即使用所學(xué)編程語(yǔ)言(C或者匯編)完成單片機(jī)方面的程序編寫、使用VB或VC語(yǔ)言完成PC機(jī)人機(jī)界面設(shè)計(jì)(也可以用C+API實(shí)現(xiàn))、按照課程設(shè)計(jì)規(guī)范完成課程設(shè)計(jì)報(bào)告。目錄1 課程設(shè)計(jì)任務(wù)和要求311 設(shè)計(jì)任務(wù)322 設(shè)計(jì)要求32系統(tǒng)硬件設(shè)計(jì)321 STC12C5A60S2單片機(jī)A/D轉(zhuǎn)換簡(jiǎn)介322 LM35DZ簡(jiǎn)介723 硬件原理圖設(shè)計(jì)73系統(tǒng)軟件設(shè)計(jì)1031 設(shè)計(jì)任務(wù)1032 程序代碼1033
3、系統(tǒng)軟件設(shè)計(jì)調(diào)試174系統(tǒng)上位機(jī)設(shè)計(jì)1841 設(shè)計(jì)任務(wù)1842 程序代碼1843 系統(tǒng)上位機(jī)軟件設(shè)計(jì)調(diào)試215系統(tǒng)調(diào)試與改善2251 系統(tǒng)調(diào)試2252 系統(tǒng)改善226系統(tǒng)設(shè)計(jì)時(shí)常見問題舉例與解決辦法247總結(jié)251. 課程設(shè)計(jì)任務(wù)和要求1.1課程設(shè)計(jì)任務(wù)本次課程設(shè)計(jì)要求設(shè)計(jì)出智能化溫度測(cè)量?jī)x表,要求該測(cè)量?jī)x表能夠?qū)⑺鶞y(cè)得的溫度數(shù)據(jù)和當(dāng)前電機(jī)設(shè)備的運(yùn)行狀況遠(yuǎn)傳給上位機(jī)。儀表測(cè)量范圍為0-100;測(cè)量精度為1;可以進(jìn)行溫度整定,比如,溫度30,啟動(dòng)壓縮機(jī)外設(shè);溫度20,關(guān)閉壓縮機(jī)外設(shè);要求上位機(jī)和下位機(jī)都能顯示溫度值和電機(jī)設(shè)備的運(yùn)行狀態(tài)并且都能獨(dú)立控制溫度數(shù)據(jù)采集狀態(tài)和電機(jī)設(shè)備的運(yùn)行狀態(tài);通訊方式
4、可以采用RS232C或485。上位機(jī)要求人機(jī)界面在保證簡(jiǎn)單實(shí)用的基礎(chǔ)上做的美觀。 1.2課程設(shè)計(jì)要求(1)利用所學(xué)專業(yè)課相關(guān)知識(shí)合理的選擇器材,使用Protel99se繪制出硬件原理圖。(2)使用C語(yǔ)言或者匯編語(yǔ)言完成下位機(jī)程序驅(qū)動(dòng),并且要盡量保證系統(tǒng)的穩(wěn)定性和可靠性以及實(shí)用性。(3)使用VB或VC語(yǔ)言或用C+API( 應(yīng)用程序接口調(diào)用)實(shí)現(xiàn)上位機(jī)人機(jī)界面的設(shè)計(jì),要求上位機(jī)發(fā)送的命令下位機(jī)能及時(shí)的給予響應(yīng),并且上位機(jī)能夠?qū)崟r(shí)準(zhǔn)確的顯示下位機(jī)所上傳數(shù)據(jù)以及電機(jī)設(shè)備的運(yùn)行狀態(tài)。(4)按照課程設(shè)計(jì)規(guī)范撰寫課程設(shè)計(jì)報(bào)告。2. 系統(tǒng)硬件設(shè)計(jì)2.1 STC12C5A60S2單片機(jī)A/D轉(zhuǎn)換簡(jiǎn)介STC12C
5、5A60S2單片機(jī)集成有8路10位高速模數(shù)轉(zhuǎn)換器(ADC),速度可達(dá)到250KHz(25萬(wàn)次/秒,可做溫度檢測(cè)、壓力檢測(cè)、電池電壓檢測(cè)、按鍵掃描、頻譜檢測(cè)等。STC12C5A60S2單片機(jī)片內(nèi)集成8通道10位模數(shù)轉(zhuǎn)換器(ADC)。ADC輸入通道與P1口復(fù)用,上電復(fù)位后P1口為弱上拉型I/O口,用戶可以通過軟件設(shè)置將8路中的任何一路設(shè)置為A/D轉(zhuǎn)換,不需作為A/D 使用的口可繼續(xù)作為I/O口使用。2.1.1 模數(shù)轉(zhuǎn)換器的結(jié)構(gòu)圖STC12C5A60S2單片機(jī)的模數(shù)轉(zhuǎn)換器由多路選擇開關(guān)、比較器、逐次比較寄存器、10位ADC、轉(zhuǎn)換結(jié)果寄存器(ADC_RES和ADC_RESL)以及ADC控制寄存器ADC
6、_CONTR構(gòu)成。如圖2-1所示。圖2-1 STC12C5A單片機(jī)內(nèi)部A/D轉(zhuǎn)換結(jié)構(gòu)圖2.1.2 模數(shù)轉(zhuǎn)換器的參考電壓STC12C5A60S2單片機(jī)A/D轉(zhuǎn)換模塊的參考電壓源是輸入工作電壓Vcc,所以一般不用外接參考電壓源。如三端穩(wěn)壓電路7805的輸出電壓是5V,但實(shí)際電壓可能是4.88V到4.96V,如果用戶需要的精度比較高,可在應(yīng)用產(chǎn)品出廠前將實(shí)際測(cè)出的工作電壓值記錄在單片機(jī)內(nèi)部的EEPROM里面,以供程序校正使用。如果Vcc不穩(wěn)定(例如電池供電的系統(tǒng)中,電池電壓常常在5.3V-4.2V之間漂移), 則需要在8路A/D轉(zhuǎn)換的一個(gè)通道外接一個(gè)穩(wěn)定的參考電壓源,來計(jì)算出此時(shí)的工作電壓Vcc,再
7、計(jì)算出其他幾路A/D轉(zhuǎn)換通道的電壓。例如,可在ADC轉(zhuǎn)換通道的第七通道外接一個(gè) 1.25V的基準(zhǔn)參考電壓源,由此求出此時(shí)的工作電壓Vcc,再計(jì)算出其它幾路A/D轉(zhuǎn)換通道的電壓。2.1.3 與ADC相關(guān)的寄存器1、 P1口模擬功能控制寄存器P1ASF(地址為9DH,復(fù)位值為00H)P10ASFP11ASFP12ASFP13ASFP14ASFP15ASFP16ASFP17ASF位名稱D0D1D2D3D4D5D6D7位號(hào)如果要使用相應(yīng)口的模擬功能,需將P1ASF特殊功能寄存器中的相應(yīng)位置為1。如,若要使用P1.6的模擬量功能,則需要將P16ASF設(shè)置為1。(注意,P1ASF寄存器不能位尋址,可以使用
8、匯編語(yǔ)言指令ORL P1ASF, #40H,也可以使用C語(yǔ)言語(yǔ)句P1ASF |= 0x40;)2、 ADC控制寄存器ADC_CONTR(地址為BCH,復(fù)位值為00H)CHS0CHS1CHS2ADC_STARTADC_FLAGSPEED0SPEED1ADC_POWER位名稱D0D1D2D3D4D5D6D7位號(hào)1)ADC_POWER:ADC電源控制位。0:關(guān)閉ADC電源。1:打開ADC電源。 2)SPEED1、SPEED0:ADC轉(zhuǎn)換速度控制位。3)ADC_FLAG:A/D轉(zhuǎn)換結(jié)束標(biāo)志位。A/D轉(zhuǎn)換完成后,ADC_FLAG = 1,要由軟件清0。不管A/D轉(zhuǎn)換完成后由該位申請(qǐng)產(chǎn)生中斷,還是由軟件查
9、詢?cè)摌?biāo)志位判斷A/D轉(zhuǎn)換是否結(jié)束,當(dāng)A/D轉(zhuǎn)換完成后,ADC_FLAG = 1,一定要軟件清0。4)ADC_START:A/D轉(zhuǎn)換啟動(dòng)控制位,ADC_START=1,開始轉(zhuǎn)換;ADC_START=0,停止轉(zhuǎn)換。5)CHS2、CHS1、CHS0:模擬輸入通道選擇,如表2-1所示。表2-1 模擬通道選擇表CHS2CHS1CHS0Analog Channel Select (模擬輸入通道選擇)000選擇 P1.0 作為A/D輸入來用001選擇 P1.1 作為A/D輸入來用010選擇 P1.2 作為A/D輸入來用011選擇 P1.3 作為A/D輸入來用100選擇 P1.4 作為A/D輸入來用101選擇
10、 P1.5 作為A/D輸入來用110選擇 P1.6 作為A/D輸入來用111選擇 P1.7 作為A/D輸入來用程序中需要注意的事項(xiàng):由于是2套時(shí)鐘,所以,設(shè)置ADC_CONTR控制寄存器后,要加4個(gè)空操作延時(shí)才可以正確讀到ADC_CONTR寄存器的值,原因是設(shè)置ADC_CONTR控制寄存器的語(yǔ)句執(zhí)行后,要經(jīng)過4個(gè)CPU時(shí)鐘的延時(shí),其值才能夠保證被設(shè)置進(jìn)ADC_CONTR控制寄存器。3、 A/D轉(zhuǎn)換結(jié)果寄存器ADC_RES、ADC_RESL特殊功能寄存器ADC_RES(地址為BDH,復(fù)位值為00H)和ADC_RESL(地址為BEH,復(fù)位值為00H)用于保存A/D轉(zhuǎn)換結(jié)果。A/D轉(zhuǎn)換結(jié)果存儲(chǔ)格式由
11、輔助寄存器AUXR1(地址為A2H,復(fù)位值為00H)中的ADRJ控制,ADRJ是AUXR1中的D2位。(1)當(dāng)ADRJ=0時(shí),10位A/D轉(zhuǎn)換結(jié)果的高8位放在ADC_RES寄存器,低2位放在ADC_RESL寄存器。存儲(chǔ)格式如下:(2)當(dāng)ADRJ=1時(shí),10位A/D轉(zhuǎn)換結(jié)果的最高2位放在ADC_RES寄存器的低2位,低8位放在ADC_RESL寄存器。存儲(chǔ)格式如下:模/數(shù)轉(zhuǎn)換結(jié)果計(jì)算公式如下:ADRJ = 0時(shí),取10位結(jié)果 (ADC_RES7:0,ADC_RESL1:0) = 1024 Vin / VccADRJ = 0時(shí),取8位結(jié)果 ADC_RES7:0 = 256 Vin / VccADRJ
12、 = 1時(shí),取10位結(jié)果 (ADC_RES1:0,ADC_RESL7:0) = 1024 Vin / VccVin為模擬輸入通道輸入電壓,Vcc為單片機(jī)實(shí)際工作電壓,用單片機(jī)工作電壓作為模擬參考電壓。4、 與A/D轉(zhuǎn)換中斷有關(guān)的寄存器中斷允許控制寄存器IE中的EADC位(D5位)用于開放ADC中斷,EA位(D7位)用于開放CPU中斷;中斷優(yōu)先級(jí)寄存器IP中的PADC位(D5位)和IPH中的PADCH位(D5位)用于設(shè)置A/D中斷的優(yōu)先級(jí)。在中斷服務(wù)程序中,要使用軟件將A/D中斷標(biāo)志位ADC_FLAG(也是A/D轉(zhuǎn)換結(jié)束標(biāo)志位)清0。2.2 LMDZ35簡(jiǎn)介TS-LM35溫度傳感器是由LM35C
13、Z/DZ 集成電路溫度傳感器外加金屬套密封組裝而成,其輸出電壓與攝氏溫度成線性比例關(guān)系,無(wú)需外部校準(zhǔn),在-55+150溫度范圍內(nèi)精度為0.40.75。,輸出電壓與攝氏溫度對(duì)應(yīng),使用極為方便。靈敏度為10.0mV/,重復(fù)性好,輸出阻抗低,電路接口簡(jiǎn)單和方便,可單電源和正負(fù)電源工作。是一種得到廣泛使用的溫度傳感器。LM35技術(shù)特性: 溫度范圍:LM35DZ 0100;LM35CZ -40110 在攝氏溫度下直接校準(zhǔn) 線性刻度系數(shù): +10.0mV/ 精度:0.5 (在25) 工作電壓為430V 功耗:小于60uA 自熱效應(yīng)小于0.08 非線性:0。25 輸出阻抗:0.1/1mA 輸出電壓:+6V-
14、1.0V適合于遠(yuǎn)程應(yīng)用 輸出電流 10mA:2.3 硬件原理圖設(shè)計(jì)該系統(tǒng)硬件原理圖可大體分為這幾個(gè)模塊: 串行通信模塊、模擬信號(hào)處理模塊、4*7LED顯示模塊以及電源模塊等。1、 串行通信模塊原理圖如下:本通信過程采用RS232方式進(jìn)行,由于單片機(jī)中的UART和電腦串口RS232的區(qū)別僅在于電平的不同,電腦串口采用232電平,而單片機(jī)UART則采用TTL電平,如果不進(jìn)行電平轉(zhuǎn)換,單片機(jī)跟電腦串口就不能進(jìn)行直接通信,RS232是UART的一種就意味著通信協(xié)議的格式是一樣的,只要電平統(tǒng)一了,兩者之間就可以直接通信,此處應(yīng)用了MAX232這一芯片,MAX232對(duì)兩者之間通信的數(shù)據(jù)沒有任何作用,僅僅是
15、中介而已,而其只是負(fù)責(zé)將兩者之間的電平進(jìn)行統(tǒng)一,使兩者之間沒有通信障礙。另外,MAX232芯片采用單+5V電源供電,僅需幾個(gè)外接電容即可完成從TTL到RS232電平的轉(zhuǎn)換,共兩路。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DP9插頭;DP9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。2、
16、模擬信號(hào)處理模塊原理圖如下:此處,我們處理采集到的模擬量電壓信號(hào)是采用了LM324集成運(yùn)算放大器管腳排列圖見圖2-2。LM324系列由四個(gè)獨(dú)立的帶有差動(dòng)輸入的,高增益,內(nèi)部頻率補(bǔ)償運(yùn)算放大器,其中專為從單電源供電的電壓范圍經(jīng)營(yíng)。從分裂電源的操作也有可能和低電源電流消耗是獨(dú)立的電源電壓的幅度。與單電源應(yīng)用場(chǎng)合的標(biāo)準(zhǔn)運(yùn)算放大器相比,它們有一些顯著優(yōu)點(diǎn)。該四放大器可以工作在低到3.0伏或者高到32伏的電源下,靜態(tài)電流為MC1741的靜態(tài)電流的五分之一。共模輸入范圍包括負(fù)電源,因而消除了在許多應(yīng)用場(chǎng)合中采用外部偏置元件的必要性。每一組運(yùn)算放大器可用圖1所示的符號(hào)來表示,它有5個(gè)引出腳,其中“+”、“-
17、”為兩個(gè)信號(hào)輸入端,“V+”、“V-”為正、負(fù)電源端,“Vo”為輸出端。兩個(gè)信號(hào)輸入端中,Vi-(-)為反相輸入端,表示運(yùn)放輸出端Vo的信號(hào)與該輸入端的位相反;Vi+(+)為同相輸入端,表示運(yùn)放輸出端Vo的信號(hào)與該輸入端的相位相同。圖2-2 LM324集成運(yùn)算放大器管腳排列圖此模擬量處理模塊設(shè)計(jì)的使用起來比較靈活,圖中左邊的兩路放大器都設(shè)計(jì)成了電壓跟隨器的形式,這樣就減少了輸入信號(hào)的損失。我們可以將傳感器所測(cè)得標(biāo)準(zhǔn)電壓信號(hào)或者電流信號(hào)通過P9或者P10接入(也可以使用杜邦線通過J7或者J8接入信號(hào))LM324的其中一路放大器,然后再經(jīng)過第二級(jí)放大使得處理后的電壓信號(hào)輸出到J9。做此課程設(shè)計(jì)時(shí)我
18、們采用的是LM35DZ溫度測(cè)量傳感器,我們把它的輸出信號(hào)連接到J8的2腳,由此出輸入我們的采集到的信號(hào)。我們將上面的一路放大器的輸入調(diào)至零,然后再經(jīng)過后一級(jí)放大器,將兩者之差放大5倍。3、 4*7LED顯示模塊原理圖如下:由圖中可以看出,我們將數(shù)碼管的斷碼端接到了單片機(jī)的P2口,控制端接到了P0口的低四位。圖中Q2、Q3、Q4、Q5為開關(guān)型三極管此處用作數(shù)碼管的選通控制。3. 系統(tǒng)軟件設(shè)計(jì)3.1程序代碼根據(jù)下位機(jī)軟件設(shè)計(jì)任務(wù)的要求,我們可以把程序代碼分為一下幾個(gè)模塊:初始化模塊、按鍵掃描模塊、A/D轉(zhuǎn)換數(shù)據(jù)獲取模塊、串行口通信模塊、運(yùn)算處理模塊、延時(shí)模塊等。其中初始化模塊包括程序當(dāng)中使用的變量
19、的初始化和串行口通信方式初始化還有A/D轉(zhuǎn)換模塊的初始化,按鍵掃描模塊是用于按鍵控制系統(tǒng)時(shí)用來響應(yīng)按鍵被按下時(shí)的,A/D轉(zhuǎn)換數(shù)據(jù)獲取模塊部分可以用查詢方式,也可以使用中斷的方式實(shí)現(xiàn),串行口通信模塊用來接收上位機(jī)發(fā)送來的命令,以控制和監(jiān)測(cè)系統(tǒng)狀態(tài),運(yùn)算處理模塊包括多字節(jié)之間的加減乘除運(yùn)算,延時(shí)模塊用于程序中一小段時(shí)間的等待。匯編語(yǔ)言編寫的程序代碼如下:20$ INCLUDE (STC12C5A.INC);定義變量千百十個(gè)QIAN EQU 60HBAI EQU 61HSHI EQU 62HGEWEI EQU 63HTEMPMH EQU 64H TEMPML EQU 65H COUNT EQU 66
20、H TEMPMMH EQU 67HTEMPMML EQU 68HORG 0000HLJMP MAINORG 0023HLJMP TONGXINORG 002BHLJMP ADC_ISR ORG 0080HMAIN: LCALL MAIN_INIT LCALL UART1_INIT LCALL ADC_INITAAA: LCALL SCANFKEYV LCALL DISPLAY SJMP AAAMAIN_INIT: MOV SP,#70H MOV QIAN,#00H MOV BAI,#00H MOV SHI,#00H MOV GEWEI,#00H MOV COUNT,#00H MOV KEYVA
21、LUE,#00H MOV TEMPMH,#00H MOV TEMPML,#00H MOV TEMPMMH,#00H MOV TEMPMML,#00H RETUART1_INIT: MOV AUXR,#11H MOV BRT,#0FDH MOV SCON,#50H MOV PCON,#00H SETB EASETB ESRETSCANFKEYV: MOV P1,#0FFHMOV A,P1CJNE A,#0FDH,KEYS2LCALL DELAY10MSMOV A,P1CJNE A,#0FDH,KEYS2SETB EADCSJMP NOKEYKEYS2:CJNE A,#0EFH,KEYS3LCAL
22、L DELAY10MSMOV A,P1CJNE A,#0EFH,KEYS3CLR EADCSJMP NOKEYKEYS3:CJNE A,#0DFH,KEYS4LCALL DELAY10MSMOV A,P1CJNE A,#0DFH,KEYS4CLR P0.4CLR EAMOV R7,#04HA21: MOV A,#01HMOV SBUF,AJNB TI,$CLR TIDJNZ R7,A21SETB EASJMP NOKEYKEYS4:CJNE A,#0BFH,NOKEYLCALL DELAY10MSMOV A,P1CJNE A,#0BFH,NOKEYSETB P0.4CLR EA MOV R7,
23、#04HA22: MOV A,#02HMOV SBUF,AJNB TI,$CLR TIDJNZ R7,A22SETB EASJMP NOKEYNOKEY:RETADC_INIT: MOV P1ASF,#01HMOV ADC_RES,#00HMOV ADC_RESL,#00HMOV AUXR1,#04HMOV ADC_CONTR,#088HLCALL DELAY10MS;SETB EADCRETTONGXIN: CLR RIMOV A,SBUFCJNE A,#46H,COMPENDSETB EADCCOMPEND:CJNE A,#47H,STAR1CLR EADCSTAR1: CJNE A,#5
24、1H,STAR2 CLR P0.4STAR2: CJNE A,#03H,END1CLR P0.5END1: CJNE A,#54H,END2SETB P0.4END2: CJNE A,#04,OUTTONGXINSETB P0.5OUTTONGXIN:RETIADC_ISR: PUSH PSWPUSH ACCINC COUNTANL ADC_CONTR,#0EFHMOV TEMPMH,ADC_RESMOV TEMPML,ADC_RESLCLR CMOV A,TEMPMMLADD A,TEMPMLMOV TEMPMML,A MOV A,TEMPMMHADDC A,TEMPMHMOV TEMPMM
25、H,A MOV A,COUNTCJNE A,#20H,OUT0MOV COUNT,#00HMOV R6,TEMPMMHMOV R7,TEMPMMLMOV R4,#00HMOV R5,#20HLCALL DBDIVMOV TEMPMH,5FHMOV TEMPML,5CH MOV TEMPMMH,#00H MOV TEMPMML,#00HLCALL CONVERT MOV R7,#4MOV R0,#60HSENDTEMP: MOV A,R0MOV SBUF,AJNB TI,$CLR TIINC R0DJNZ R7,SENDTEMPMOV R4,#240A12:DJNZ R4,A11SJMP OUT
26、0A11: LCALL SCANFKEYVLCALL DISPLAYSJMP A12OUT0:ORL ADC_CONTR,#08HPOP ACCPOP PSWRETI CONVERT: MOV R2,TEMPMH MOV R3,TEMPML MOV R6,#03H MOV R7,#0E8H LCALL DBMUL MOV R3,56H MOV R4,57H MOV R5,58H MOV R2,#04H MOV R1,#00H LCALL TDSDIV MOV R6,5BH MOV R7,5AH MOV R4,#03H MOV R5,#0E8H LCALL DBDIV MOV QIAN,5CH
27、MOV R6,5DH MOV R7,5EH MOV R4,#00H MOV R5,#64H LCALL DBDIV MOV BAI,5CH MOV R6,5DH MOV R7,5EH MOV R4,#00H MOV R5,#0AH LCALL DBDIV MOV SHI,5CH MOV GEWEI,5EHOUT: RET DBMUL: MOV A,R3 MOV B,R7 MUL AB XCH A,R7 MOV R5,B MOV B,R2 MUL AB ADD A,R5 MOV R4,A CLR A ADDC A,B MOV R5,A MOV A,R6 MOV B,R3 MUL AB ADD A
28、,R4 XCH A,R6 XCH A,B ADDC A,R5 MOV R5,A MOV F0,C MOV A,R2 MUL AB ADD A,R5 MOV R5,A CLR A MOV ACC.0,C MOV C,F0 ADDC A,B MOV R4,A MOV 56H,R7 MOV 57H,R6 MOV 58H,R5 MOV 59H,R4 RET TDSDIV: CLR C MOV 30H,#0 MOV 31H,#0 MOV 32H,#0 TDSDIV_LOOP: CLR C MOV A,R3 SUBB A,R1 MOV R3,A MOV A,R4 SUBB A,R2 MOV R4,A MO
29、V A,R5 SUBB A,#0 MOV R5,A JC TDSDIV_END _INC_SHANG: CLR C MOV A,30H ADDC A,#1 MOV 30H,A MOV A,31H ADDC A,#0 MOV 31H,A MOV A,32H ADDC A,#0 MOV 32H,A LJMP TDSDIV_LOOP TDSDIV_END: CLR C MOV A,R1 ADDC A,R3 MOV A,R2 ADDC A,R4 MOV R3,30H MOV R4,31H MOV 5AH,R3 MOV 5BH,R4 RET DBDIV: CLR C CLR A MOV R2,A MOV
30、 R3,A MOV B,#10HLOOP: MOV A,R7 RLC A MOV R7,A MOV A,R6 RLC A MOV R6,A MOV A,R3 RLC A MOV R3,A MOV A,R2 RLC A MOV R2,A CLR C MOV A,R3 SUBB A,R5 PUSH ACC MOV A,R2 SUBB A,R4 JBC CY,LOOP0 MOV R2,A POP ACC MOV R3,A SETB C SJMP LOOP1LOOP0: POP ACCLOOP1: DJNZ B,LOOP MOV A,R7 RLC A MOV R7,A MOV A,R6 RLC A M
31、OV R6,A MOV A,R2 MOV R4,A MOV A,R3 MOV R5,A MOV 5CH,R7 MOV 5DH,R4 MOV 5EH,R5 MOV 5FH,R6 RETDISPLAY: MOV DPTR, #TABLE MOV A,GEWEI MOVC A,A+DPTR MOV P2,A CLR P0.0 LCALL DELAY10MS SETB P0.0 MOV A,SHI MOVC A,A+DPTR ORL A,#80H MOV P2,A CLR P0.1 LCALL DELAY10MS SETB P0.1 MOV A,BAI MOVC A,A+DPTR MOV P2,A C
32、LR P0.2 LCALL DELAY10MS SETB P0.2 MOV A,QIAN MOVC A,A+DPTR MOV P2,A CLR P0.3 LCALL DELAY10MS SETB P0.3 RET DELAY10MS: MOV R6,#10D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RETDELAY100MS: MOV R6,#200D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RETTABLE:DB 3FH,06H,5BH,4FH,66H,6DH, ; 0 1 2 3 4 5 DB 7DH,07H 7FH,6FH,00
33、H,40H, ; 6 7 8 9 + - END 3.3 系統(tǒng)軟件設(shè)計(jì)調(diào)試程序代碼編寫完成以后再開發(fā)環(huán)境中編譯看是否通過,如檢查到有錯(cuò)誤編譯系統(tǒng)就會(huì)報(bào)錯(cuò),然后再根據(jù)提示進(jìn)行修改,至沒有錯(cuò)誤時(shí),再重新編譯文件并生成.hex文件。將此文件燒錄到STC12C5A60S2單片機(jī)中,連接好硬件電路,給系統(tǒng)上電。觀察四位共陰極數(shù)碼管上面是否顯示出我們想要顯示的溫度數(shù)據(jù),如不能再修改程序代碼,重新編譯,重新燒錄程序,觀察結(jié)果此過程重復(fù)進(jìn)行,直到所采集溫度數(shù)據(jù)能在數(shù)碼管上面穩(wěn)定顯示并且準(zhǔn)確度較高。此模塊疏通后再加入串行通信部分代碼,首先用串口助手測(cè)試數(shù)據(jù)的收發(fā),看單片機(jī)與上位機(jī)之間能否正常收發(fā)數(shù)據(jù),如不能修改代碼,再編譯、燒錄、觀察,直到數(shù)據(jù)收發(fā)正常為止。最后將按鍵掃描部分加入,調(diào)試方法同上,直
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣西生態(tài)工程職業(yè)技術(shù)學(xué)院《嵌入式綜合實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 保定學(xué)院《3S技術(shù)在風(fēng)景園林中的應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣西生態(tài)工程職業(yè)技術(shù)學(xué)院《第二外語(yǔ)4》2023-2024學(xué)年第二學(xué)期期末試卷
- 預(yù)防接種程序
- 防踩踏安全課件
- 金工安全規(guī)范
- 非暴力溝通在臨床的應(yīng)用
- 譚談交通安全知識(shí)
- 2024入團(tuán)考試題庫(kù)含答案
- 2024秋季新教材七年級(jí)語(yǔ)文上冊(cè)第三單元教案設(shè)計(jì)(含寫作課)
- 河南省鄭州市東區(qū)2024-2025學(xué)年九年級(jí)下學(xué)期第一次數(shù)學(xué)試題試卷(卷后帶解析)
- 2025年公共衛(wèi)生相關(guān)試題及答案
- 2025年陜西省咸陽(yáng)市秦都區(qū)啟迪中學(xué)九年級(jí)中考一模數(shù)學(xué)試題(原卷版+解析版)
- 嘉德委托拍賣合同范本
- 2025年合肥經(jīng)濟(jì)技術(shù)職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)含答案
- 2025年河南應(yīng)用技術(shù)職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)新版
- 2025年上半年黑龍江鶴崗市興山區(qū)招聘事業(yè)單位人員5人重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解-1
- 區(qū)域臨床檢驗(yàn)中心
- 2024年版人民醫(yī)院新院建設(shè)施工合作合同一
- 基于大數(shù)據(jù)的拉薩旅游業(yè)市場(chǎng)分析
- 術(shù)后疼痛病人中醫(yī)護(hù)理
評(píng)論
0/150
提交評(píng)論