版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、F li Zr ? b Z普摻劃學(xué)幌課程設(shè)計(jì)報(bào)告課程:智能測(cè)量?jī)x表題目智能測(cè)量?jī)x表學(xué)生姓名:XXXXXX專(zhuān)業(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),在0 C100 C溫度范圍內(nèi)精度為0.4C ).75 C。輸出電壓與攝氏溫度對(duì)應(yīng),使用極為方便。靈敏度為10.0mV/C,重復(fù)性好,輸出阻抗低,電路接口簡(jiǎn)單和方便,可單電源和正負(fù)電源工作。是一種得 到廣泛使用的溫度傳感器。本次課程設(shè)計(jì)的主要目的在于讓學(xué)生把所學(xué)到的單片機(jī)原理、電子
2、線路設(shè)計(jì)、傳 感器技術(shù)與原理、過(guò)程控制、智能儀器儀表、總線技術(shù)、面向?qū)ο蟮某绦蛟O(shè)計(jì)等相關(guān) 專(zhuān)業(yè)課程的內(nèi)容系統(tǒng)的總結(jié),并能有效的使用到項(xiàng)目研發(fā)中來(lái),做到學(xué)以致用。課程 設(shè)計(jì)的內(nèi)容主要分為三個(gè)部分,即使用所學(xué)編程語(yǔ)言(C或者匯編)完成單片機(jī)方面的 程序編寫(xiě)、使用VB或VC語(yǔ)言完成PC機(jī)人機(jī)界面設(shè)計(jì)(也可以用 C+API實(shí)現(xiàn))、按照課 程設(shè)計(jì)規(guī)范完成課程設(shè)計(jì)報(bào)告。目錄1 . 課程設(shè)計(jì)任務(wù)和要求 31. 1 設(shè)計(jì)任務(wù) 32. 2 設(shè)計(jì)要求 32 .系統(tǒng)硬件設(shè)計(jì)32. 1 STC12C5A60S2單片機(jī)A/D轉(zhuǎn)換簡(jiǎn)介 32. 2 LM35DZ 簡(jiǎn)介 72. 3 硬件原理圖設(shè)計(jì) 73 .系統(tǒng)軟件設(shè)計(jì)103
3、. 1 設(shè)計(jì)任務(wù) 103. 2 程序代碼 103. 3 系統(tǒng)軟件設(shè)計(jì)調(diào)試 174 . 系統(tǒng)上位機(jī)設(shè)計(jì)1 84. 1 設(shè)計(jì)任務(wù) 184. 2 程序代碼 184. 3系統(tǒng)上位機(jī)軟件設(shè)計(jì)調(diào)試 215 .系統(tǒng)調(diào)試與改善225. 1 系統(tǒng)調(diào)試 225. 2 系統(tǒng)改善 226 .系統(tǒng)設(shè)計(jì)時(shí)常見(jiàn)問(wèn)題舉例與解決辦法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;測(cè)量精度為土 1C;可以進(jìn)行溫度整定,比如,溫度30C,啟動(dòng)壓縮機(jī)外設(shè);溫度w 20C, 關(guān)閉
4、壓縮機(jī)外設(shè);要求上位機(jī)和下位機(jī)都能顯示溫度值和電機(jī)設(shè)備的運(yùn)行狀態(tài)并且都 能獨(dú)立控制溫度數(shù)據(jù)采集狀態(tài)和電機(jī)設(shè)備的運(yùn)行狀態(tài);通訊方式可以采用RS232C或485。上位機(jī)要求人機(jī)界面在保證簡(jiǎn)單實(shí)用的基礎(chǔ)上做的美觀。1.2課程設(shè)計(jì)要求(1) 利用所學(xué)專(zhuān)業(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è)
5、備的運(yùn)行狀態(tài)。(4) 按照課程設(shè)計(jì)規(guī)范撰寫(xiě)課程設(shè)計(jì)報(bào)告。2. 系統(tǒng)硬件設(shè)計(jì)2.1 STC12C5A60S2單片機(jī)A/D轉(zhuǎn)換簡(jiǎn)介STC12C5A60S單片機(jī)集成有8路10位高速模數(shù)轉(zhuǎn)換器(ADC,速度可達(dá)到250KHz(25萬(wàn)次/秒,可做溫度檢測(cè)、壓力檢測(cè)、電池電壓檢測(cè)、按鍵掃描、頻譜檢測(cè)等。STC12C5A60S單片機(jī)片內(nèi)集成8通道10位模數(shù)轉(zhuǎn)換器(ADC。ADC俞入通道與P1 口 復(fù)用,上電復(fù)位后P1 口為弱上拉型I/O 口,用戶(hù)可以通過(guò)軟件設(shè)置將 8路中的任何一 路設(shè)置為A/D轉(zhuǎn)換,不需作為A/D使用的口可繼續(xù)作為I/O 口使用。2.1.1模數(shù)轉(zhuǎn)換器的結(jié)構(gòu)圖STC12C5A60S單片機(jī)的模
6、數(shù)轉(zhuǎn)換器由多路選擇開(kāi)關(guān)、比較器、逐次比較寄存器、10位ADC轉(zhuǎn)換結(jié)果寄存器(ADC_RE和ADC_RESL以及ADC控制寄存器 ADC_CONTR構(gòu)成。如圖2-1所示。ADC控制寄存器ADC_CONTR圖2-1 STC12C5A單片機(jī)內(nèi)部 A/D轉(zhuǎn)換結(jié)構(gòu)圖2.1.2模數(shù)轉(zhuǎn)換器的參考電壓STC12C5A60S單片機(jī)A/D轉(zhuǎn)換模塊的參考電壓源是輸入工作電壓Vcc,所以一般不用外接參考電壓源。如三端穩(wěn)壓電路7805的輸出電壓是5V,但實(shí)際電壓可能是4.88V 到4.96V,如果用戶(hù)需要的精度比較高,可在應(yīng)用產(chǎn)品出廠前將實(shí)際測(cè)出的工作電壓值 記錄在單片機(jī)內(nèi)部的EEPRO里面,以供程序校正使用。如果Vc
7、c不穩(wěn)定(例如電池供電的系統(tǒng)中,電池電壓常常在5.3V-4.2V之間漂移), 則需要在8路A/D轉(zhuǎn)換的一個(gè)通道外接一個(gè)穩(wěn)定的參考電壓源,來(lái)計(jì)算出此時(shí)的工作 電壓Vcc,再計(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)位號(hào)D7D6D5D4D3D2D1D0位名稱(chēng)P17ASFP16ASFP15ASFP14ASFP13ASFP12ASFP11ASFP10ASF如果要使用相應(yīng)口
8、的模擬功能,需將 P1ASF特殊功能寄存器中的相應(yīng)位置為 1 如,若要使用P1.6的模擬量功能,則需要將 P16ASF設(shè)置為1。(注意,P1ASF寄存器 不能位尋址,可以使用匯編語(yǔ)言指令 ORL P1ASF,#40H,也可以使用C語(yǔ)言語(yǔ)句P1ASF |= 0x40;)2、ADC控制寄存器 ADC_CONTR地址為BCH復(fù)位值為00H)位號(hào)D7D6D5D4D3D2D1D0位名稱(chēng)ADC_POWERSPEED1SPEED0ADC_FLAGADC_STARTCHS2CHS1CHS01) ADC_POWEADC電源控制位。0:關(guān)閉ADC電源。1:打開(kāi)ADC電源。2) SPEED、SPEED0 ADC轉(zhuǎn)換
9、速度控制位。3) ADC_FLAGA/D轉(zhuǎn)換結(jié)束標(biāo)志位。A/D轉(zhuǎn)換完成后,ADC_FLAG = 1要由軟件 清0。不管A/D轉(zhuǎn)換完成后由該位申請(qǐng)產(chǎn)生中斷,還是由軟件查詢(xún)?cè)摌?biāo)志位判斷 A/D 轉(zhuǎn)換是否結(jié)束,當(dāng)A/D轉(zhuǎn)換完成后,ADC_FLAG = 1 一定要軟件清0。4) ADC_STARTA/D 轉(zhuǎn)換啟動(dòng)控制位,ADC_START=1 開(kāi)始轉(zhuǎn)換;ADC_START=0亭 止轉(zhuǎn)換。5) CHS2 CHS1 CHS0模擬輸入通道選擇,如表 2-1所示。表2-1模擬通道選擇表CHS2CHS1CHS0Analog Channel Select (模擬輸入通道選擇)000選擇P1.0 作為A/D輸入來(lái)用
10、001選擇P1.1 作為A/D輸入來(lái)用010選擇P1.2 作為A/D輸入來(lái)用011選擇P1.3 作為A/D輸入來(lái)用100選擇P1.4 作為A/D輸入來(lái)用:101選擇P1.5 作為A/D輸入來(lái)用110選擇P1.6 作為A/D輸入來(lái)用111選擇P1.7 作為A/D輸入來(lái)用程序中需要注意的事項(xiàng):由于是2套時(shí)鐘,所以,設(shè)置ADC_CONTR制寄存器后,要加4個(gè)空操作延時(shí)才可以正確讀到ADC_CONTR存器的值,原因是設(shè)置ADC_CONT控制寄存器的語(yǔ)句執(zhí)行后,要 經(jīng)過(guò)4個(gè)CPU時(shí)鐘的延時(shí),其值才能夠保證被設(shè)置進(jìn) ADC_CONTR制寄存器。3、A/D轉(zhuǎn)換結(jié)果寄存器ADC_RESADC_RESL特殊功能
11、寄存器 ADC_RES地址為BDH復(fù)位值為00H)和ADC_RESL地址為BEH復(fù)位值為00H)用于保存A/D轉(zhuǎn)換結(jié)果。A/D轉(zhuǎn)換結(jié)果存儲(chǔ)格式由輔助寄存器 AUXR1地址為A2H復(fù)位值為00H)中的ADRJ 控制,ADRJ是 AUXR仲的D2位。(1)當(dāng)ADRJ=0寸,10位A/D轉(zhuǎn)換結(jié)果的高8位放在ADC_RE寄存器,低2位放 在ADC_RES寄存器。存儲(chǔ)格式如下:(2)當(dāng)ADRJ=1時(shí),10位A/D轉(zhuǎn)換結(jié)果的最高2位放在ADC_RE寄存器的低2位, 低8位放在ADC_RES寄存器。存儲(chǔ)格式如下:模/數(shù)轉(zhuǎn)換結(jié)果計(jì)算公式如下:ADRJ= 0 時(shí),取 10 位結(jié)果(ADC_RES7:0,ADC_
12、RESL1:0) = 1024 X Vin / Vcc ADRJ = 0 時(shí),取 8 位結(jié)果 ADC_RES7:0 = 256 X Vin / VccADRJ= 1 時(shí),取 10 位結(jié)果(ADC_RES1:0,ADC_RESL7:0) = 1024 X Vin / VccVin為模擬輸入通道輸入電壓,Vcc為單片機(jī)實(shí)際工作電壓,用單片機(jī)工作電壓作 為模擬參考電壓。4、與A/D轉(zhuǎn)換中斷有關(guān)的寄存器中斷允許控制寄存器IE中的EAD(位 ( D5位)用于開(kāi)放ADC中斷,丘人位(D7位) 用于開(kāi)放CPU中斷;中斷優(yōu)先級(jí)寄存器IP中的PAD(位 ( D5位)和IPH中的PADC位 (D5位)用于設(shè)置A/
13、D中斷的優(yōu)先級(jí)。在中斷服務(wù)程序中,要使用軟件將A/D中斷標(biāo)志位ADC_FLAG也是A/D轉(zhuǎn)換結(jié)束標(biāo)志位)清0。2.2 LMDZ35 簡(jiǎn)介T(mén)S-LM35溫度傳感器是由LM35CZ/DZ集成電路溫度傳感器外加金屬套密封組裝而 成,其輸出電壓與攝氏溫度成線性比例關(guān)系,無(wú)需外部校準(zhǔn),在-55+150C溫度范圍內(nèi)精度為0.4 C 0.75 C。,輸出電壓與攝氏溫度對(duì)應(yīng),使用極為方便。靈敏度為 10.0mV/C,重復(fù)性好,輸出阻抗低,電路接口簡(jiǎn)單和方便,可單電源和正負(fù)電源工作。 是一種得到廣泛使用的溫度傳感器。LM35技術(shù)特性: 溫度范圍:LM35DZ 0C 100C; LM35CZ -40C 110C
14、在攝氏溫度下直接校準(zhǔn) 線性刻度系數(shù):+10.0mV/ C 精度:0.5 C (在25C) (5)工作電壓為430V 功耗:小于60uA 自熱效應(yīng)小于0.08 C 非線性:土 0。25C 輸出阻抗:0.1 Q /1mA 輸出電壓:+6V-1.0V適合于遠(yuǎn)程應(yīng)用 (11)輸出電流10mA2.3硬件原理圖設(shè)計(jì)該系統(tǒng)硬件原理圖可大體分為這幾個(gè)模塊:串行通信模塊、模擬信號(hào)處理模塊、4*7LED顯示模塊以及電源模塊等。1、串行通信模塊原理圖如下:cicHO-lIlF1JJCl 2|OJiiF斗廠+5Ll十Txd110RxiliRxdl12ci-VDDC1-vccC2*TllblHOUTT2INT2OITT
15、R1CUTR1TNPJCUTR2E4GNDVEEU41613 RlEsMAX232CPE1I 0.1 llFVCC14 T1QUT8QRS232A-O本通信過(guò)程采用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)用了MAX23鉉一芯片,MAX232寸兩者之間通信的數(shù)據(jù)沒(méi)有任何作用,僅僅是中介而已,而其 只是負(fù)責(zé)將兩者之間的電平進(jìn)行統(tǒng)一,使
16、兩者之間沒(méi)有通信障礙。另外,MAX23芯片采 用單+5V電源供電,僅需幾個(gè)外接電容即可完成從 TTL到RS232電平的轉(zhuǎn)換,共兩路。 其中13腳(R1IN)、12腳(R10U) 11腳(T1IN)、14腳(T1OUT為第一數(shù)據(jù)通道。8 腳(R2IN)、9腳(R2OU) 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/CMO數(shù)據(jù)后從R1OUTR2OU輸出2、模擬信號(hào)處理模塊原理圖如下:F2 0I 23 +此
17、處,我們處理采集到的模擬量電壓信號(hào)是采用了LM324集成運(yùn)算放大器管腳排列圖見(jiàn)圖2-2。LM324系列由四個(gè)獨(dú)立的帶有差動(dòng)輸入的,高增益,內(nèi)部頻率補(bǔ)償運(yùn)算 放大器,其中專(zhuā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)電流為MC174的靜態(tài)電流的五分之一。共模輸入范圍包括負(fù)電源,因而消除了在許多 應(yīng)用場(chǎng)合中采用外部偏置元件的必要性。每一組運(yùn)算放大器可用圖1所示的符號(hào)來(lái)表示,它有5個(gè)引出腳,其中“ +”、“-”為兩個(gè)信號(hào)輸入端,“
18、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ì)的使用起來(lái)比較靈活,圖中左邊的兩路放大器都設(shè)計(jì)成了 電壓跟隨器的形式,這樣就減少了輸入信號(hào)的損失。我們可以將傳感器所測(cè)得標(biāo)準(zhǔn)電 壓信號(hào)或者電流信號(hào)通過(guò)P9或者P10接入(也可以使用杜邦線通過(guò)J7或者J8接入信 號(hào))LM324的其中一路放大器,然后再經(jīng)過(guò)第二級(jí)放大使得處理后的電壓信號(hào)輸出到 J9
19、。做此課程設(shè)計(jì)時(shí)我們采用的是 LM35DZS度測(cè)量傳感器,我們把它的輸出信號(hào)連接 到J8的2腳,由此出輸入我們的采集到的信號(hào)。我們將上面的一路放大器的輸入調(diào)至 零,然后再經(jīng)過(guò)后一級(jí)放大器,將兩者之差放大5倍。3、4*7LED顯示模塊原理圖如下:DF2廠P:.7斗2Pl J110Fu廠23F2J3b ns: nE np; nm耐:朋由圖中可以看出,我們將數(shù)碼管的斷碼端接到了單片機(jī)的 P2 口,控制端接到了 P0口的低四位。圖中Q2 Q3 Q4 Q5為開(kāi)關(guān)型三極管此處用作數(shù)碼管的選通控制3. 系統(tǒng)軟件設(shè)計(jì)3.1程序代碼根據(jù)下位機(jī)軟件設(shè)計(jì)任務(wù)的要求,我們可以把程序代碼分為一下幾個(gè)模塊:初始 化模塊、
20、按鍵掃描模塊、A/D轉(zhuǎn)換數(shù)據(jù)獲取模塊、串行口通信模塊、運(yùn)算處理模塊、延 時(shí)模塊等。其中初始化模塊包括程序當(dāng)中使用的變量的初始化和串行口通信方式初始 化還有A/D轉(zhuǎn)換模塊的初始化,按鍵掃描模塊是用于按鍵控制系統(tǒng)時(shí)用來(lái)響應(yīng)按鍵被 按下時(shí)的,A/D轉(zhuǎn)換數(shù)據(jù)獲取模塊部分可以用查詢(xún)方式,也可以使用中斷的方式實(shí)現(xiàn), 串行口通信模塊用來(lái)接收上位機(jī)發(fā)送來(lái)的命令,以控制和監(jiān)測(cè)系統(tǒng)狀態(tài),運(yùn)算處理模 塊包括多字節(jié)之間的加減乘除運(yùn)算,延時(shí)模塊用于程序中一小段時(shí)間的等待。匯編語(yǔ)言編寫(xiě)的程序代碼如下:SHI EQU 62HGEWEI EQU 63HTEMPMH EQU 64H$ INCLUDE (STC12C5A .IN
21、C);定義變量千百十個(gè)QIAN EQU 60HBAI EQU 61HTEMPML EQU 65HCOUNT EQU 66HTEMPMMH EQU 67HTEMPMML EQU 68HORG 0000HLJMP MAINORG 0023HLJMP TONGXINORG 002BHLJMP ADC_ISRORG 0080HMAIN:LCALL MAINNITLCALL UART1_INITLCALL ADC_INITAAA:LCALL SCANFKEYVLCALL DISPLAYSJMP AAAMAINNIT:MOV SP,#70HMOV QIAN,#00HMOV BAI,#00HMOV SHI,
22、#00HMOV GEWEI,#00HMOV COUNT,#00HMOV KEYVALUE,#00HMOV TEMPMH,#00HMOV TEMPML,#00HMOV TEMPMMH,#00HMOV TEMPMML,#00HRETUART1_INIT:MOV AUXR,#11HMOV BRT,#0FDHMOV SCON,#50HMOV PCON,#00HSETB EASETB ESRETSCANFKEYV:MOV P1,#0FFHMOV A,P1CJNE A,#0FDH,KEYS2LCALL DELAY10MSMOV A,P1CJNE A,#0FDH,KEYS2SETB EADCSJMP NOK
23、EYKEYS2:CJNE A,#0EFH,KEYS3LCALL 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 Tl,$CLR TIDJNZ R7,A21SETB EASJMP NOKEYKEYS4:CJNE A,#0BFH,NOKEYLCALL DELAY10MSMOV A,P1CJNE A,#0BFH
24、,NOKEYSETB P0.4CLR EAMOV R7,#04HA22:MOV A,#02HMOV SBUF,AJNB TI,$CLR TIDJNZ R7,A22SETB EASJMP NOKEYNOKEY:RETADCNIT: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,STAR1C
25、LR EADCSTAR1:CJNE A,#51H,STAR2CLR 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,AMOV A,TEMPMMHADDC A,
26、TEMPMHMOV TEMPMMH,AMOV A,COUNTCJNE A,#20H,OUT0MOV COUNT,#00HMOV R6,TEMPMMHMOV R7,TEMPMMLMOV R4,#00HMOV R5,#20HLCALL DBDIVMOV TEMPMH,5FHMOV TEMPML,5CHMOV TEMPMMH,#00HMOV TEMPMML,#00HLCALLCONVERTMOV R7,#4MOV R0,#60HSENDTEMP:MOV A,R0MOV SBUF,AJNB TI,$CLR TIINC R0DJNZ R7,SENDTEMPMOV R4,#240A12:DJNZ R4,A
27、11SJMP OUT0A11:LCALL SCANFKEYVLCALL DISPLAYSJMP A12OUT0:ORL ADC_CONTR,#08HPOP ACCPOP PSWRETICONVERT:MOV R2,TEMPMHMOV R3,TEMPMLMOV R6,#03HMOV R7,#0E8HMOV A,R3MOV B,R7MUL ABXCH A,R7MOV R5,BMOV B,R2MUL ABADD A,R5MOV R4,ACLR AADDC A,BMOV R5,AMOV A,R6MOV B,R3MUL ABADD A,R4XCH A,R6XCH A,BADDC A,R5MOV R5,A
28、MOV F0,CMOV A,R2MUL ABADD A,R5MOV R5,ACLR AMOV ACC.0,CMOV C,F0ADDC A,BLCALL DBMULMOV R3,56HMOV R4,57HMOV R5,58HMOV R2,#04HMOV R1,#00HLCALL TDSDIVMOV R6,5BHMOV R7,5AHMOV R4,#03HMOV R5,#0E8HLCALL DBDIVMOV QIAN,5CHMOV R6,5DHMOV R7,5EHMOV R4,#00HMOV R5,#64HLCALL DBDIVMOV BAI,5CHMOV R6,5DHMOV R7,5EHMOV R
29、4,#00HMOV R5,#0AHLCALL DBDIVMOV SHI,5CHMOV GEWEI,5EHOUT:RETDBMUL:MOV R4,AMOV 56H,R7MOV 57H,R6MOV 58H,R5MOV 59H,R4RETTDSDIV:CLR CMOV 30H,#0MOV 31H,#0MOV 32H,#0TDSDIV_LOOP:CLR CMOV A,R3SUBB A,R1MOV R3,AMOV A,R4SUBB A,R2MOV R4,AMOV A,R5SUBB A,#0MOV R5,AJC TDSDIV_END_INC_SHANG:CLR CMOV A,30HADDC A,#1MOV
30、 30H,AMOV A,31HADDC A,#0MOV 31H,AMOV A,32HADDC A,#0MOV 32H,ALJMP TDSDIV_LOOPTDSDIV_END:CLR CMOV A,R1ADDC A,R3MOV A,R2ADDC A,R4MOV R3,30HMOV R4,31HMOV 5AH,R3MOV 5BH,R4RETDBDIV:CLR CCLR AMOV R2,AMOV R3,AMOV B,#10HLOOP:MOV A,R7RLC AMOV R7,AMOV A,R6RLC AMOV R6,AMOV A,R3RLC AMOV R3,AMOV A,R2RLC AMOV R2,A
31、CLR CMOV A,R3SUBB A,R5PUSH ACCMOV A,R2SUBB A,R4JBC CY,L OOP0MOV R2,APOP ACCMOV R3,ASETB CSJMP LOOP1LOOP0:POP ACCLOOP1:DJNZ B,L OOPMOV A,R7RLC AMOV R7,AMOV A,R6RLC AMOV R6,AMOV A,R2MOV R4,AMOV A,R3MOV R5,AMOV 5CH,R7MOV 5DH,R4MOV 5EH,R5MOV 5FH,R6RETDISPLAY:MOV DPTR, #TABLEMOV A,GEWEIMOVC A,A+DPTRMOV P
32、2,ACLR P0.0LCALL DELAY10MSSETB P0.0MOV A,SHIMOVC A,A+DPTRORL A,#80HMOV P2,ACLR P0.1LCALL DELAY10MSSETB P0.1MOV A,BAIMOVC A,A+DPTRMOV P2,ACLR P0.2LCALL DELAY10MSSETB P0.2RETMOV A,QIANDELAY100MS:MOVC A,A+DPTRMOV R6,#200MOV P2,AD2:CLR P0.3MOV R7,#248LCALL DELAY10MSDJNZ R7,$SETB P0.3DJNZ R6,D1RETRETDELA
33、Y10MS:TABLE:MOV R6,#10DB 3FH,06H,5BH,4FH,66H,6DH,D1:;0 1 2 3 4 5MOV R7,#248DB 7DH,07H 7FH,6FH,00H,40H,DJNZ R7,$;6 7 8 9 + -DJNZ R6,D1END3.3系統(tǒng)軟件設(shè)計(jì)調(diào)試程序代碼編寫(xiě)完成以后再開(kāi)發(fā)環(huán)境中編譯看是否通過(guò),如檢查到有錯(cuò)誤編譯系統(tǒng) 就會(huì)報(bào)錯(cuò),然后再根據(jù)提示進(jìn)行修改,至沒(méi)有錯(cuò)誤時(shí),再重新編譯文件并生成.hex文件。將此文件燒錄到STC12C5A60S單片機(jī)中,連接好硬件電路,給系統(tǒng)上電。觀察四 位共陰極數(shù)碼管上面是否顯示出我們想要顯示的溫度數(shù)據(jù),如不能再修改程序代碼, 重新編譯,重新燒錄程序,觀察結(jié)果此過(guò)程重復(fù)進(jìn)行,直到所采集溫度數(shù)據(jù)能在 數(shù)碼管上面穩(wěn)定顯示并且準(zhǔn)確度較高。此模塊疏通后再加入串行通信部分代碼,首先 用串口助手測(cè)試數(shù)據(jù)的收發(fā),看單片機(jī)與上位機(jī)之間能否正常收發(fā)數(shù)據(jù),如不能修改 代碼,再編譯、燒錄、觀察,直到數(shù)據(jù)收發(fā)正常為止。最后將按鍵掃描部分加入,調(diào) 試方法同上,直到下位機(jī)系統(tǒng)能正確的按照我們的意愿對(duì)某個(gè)按鍵進(jìn)行響應(yīng)為止。此 三
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年海南建筑安全員知識(shí)題庫(kù)及答案
- 中國(guó)傳統(tǒng)文化主題:對(duì)聯(lián)
- 長(zhǎng)度與時(shí)間的測(cè)量課件
- 《電路中的能量轉(zhuǎn)化》課件
- 石油加工原油組成教學(xué)課件
- 病理生理學(xué)課件凝血和抗凝血平衡紊亂
- 一年級(jí)語(yǔ)文下冊(cè)《語(yǔ)文園地六》課件
- 《心血管急癥》課件
- 固定收益點(diǎn)評(píng)報(bào)告:把握跨年后的信用配置窗口
- 單位管理制度展示大全【職員管理】
- 副院長(zhǎng)兼總工程師的崗位說(shuō)明書(shū)
- 農(nóng)民專(zhuān)業(yè)合作社章程參考
- 十二經(jīng)脈循行原文背誦
- 財(cái)務(wù)會(huì)計(jì)制度及核算軟件備案報(bào)告書(shū)
- 肌骨超聲簡(jiǎn)介
- 高一家長(zhǎng)會(huì)課件ppt
- 神經(jīng)外科臨床實(shí)習(xí)教學(xué)計(jì)劃
- 基本光刻工藝流程
- 胸腔閉式引流護(hù)理-2023年中華護(hù)理學(xué)會(huì)團(tuán)體標(biāo)準(zhǔn)
- 高中體育足球教學(xué)教案 全冊(cè)
- 藝術(shù)概論P(yáng)PT完整全套教學(xué)課件
評(píng)論
0/150
提交評(píng)論