



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計(jì)報(bào)告課程:題目:智能測量儀表智能測量儀表學(xué)生:XXXXXX專業(yè)年級:2009 自動(dòng)化指導(dǎo)教師:XXXXXX XXXX信息與計(jì)算科學(xué)系2013年 3月 25日智能測量儀表本次課程設(shè)計(jì)中智能溫度測量儀表所采用的溫度傳感器為LM35DZ。 其輸出電壓與攝氏溫度成線性比例關(guān)系,無需外部校準(zhǔn),在0100溫度圍精度為0.4 ±0.75 。,輸出電壓與攝氏溫度對應(yīng),使用極為方便。靈敏度為10.0mV/ ,重復(fù)性好,輸出阻抗低,電路接口簡單和方便,可單電源和正負(fù)電源工作。是一種得到廣泛使用的溫度傳感器。本次課程設(shè)計(jì)的主要目的在于讓學(xué)生把所學(xué)到的單片機(jī)原理、電子線路設(shè)計(jì)、傳感器技術(shù)與原理、過程
2、控制、智能儀器儀表、總線技術(shù)、面向?qū)ο蟮某绦蛟O(shè)計(jì)等相關(guān)專業(yè)課程的容系統(tǒng)的總結(jié),并能有效的使用到項(xiàng)目研發(fā)中來,做到學(xué)以致用。課程設(shè)計(jì)的容主要分為三個(gè)部分, 即使用所學(xué)編程語言 (C 或者匯編)完成單片機(jī)方面的程序編寫、使用 VB 或 VC 語言完成PC機(jī)人機(jī)界面設(shè)計(jì)(也可以用C+API實(shí)現(xiàn))、按照課程設(shè)計(jì)規(guī)完成課程設(shè)計(jì)報(bào)告。目錄131 132 23232 1STC12C5A60S2A/D32 2LM35DZ72 3731 03 1103 2103 31741 84 1184 2184 32152 25122522262472 51. 課程設(shè)計(jì)任務(wù)和要求1.1 課程設(shè)計(jì)任務(wù)本次課程設(shè)計(jì)要求設(shè)計(jì)出智
3、能化溫度測量儀表,要求該測量儀表能夠?qū)⑺鶞y得的溫度數(shù)據(jù)和當(dāng)前電機(jī)設(shè)備的運(yùn)行狀況遠(yuǎn)傳給上位機(jī)。儀表測量圍為0-100 ;測量精度為± 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);通訊方式可以采用RS232C或 485。上位機(jī)要求人機(jī)界面在保證簡單實(shí)用的基礎(chǔ)上做的美觀。1.2 課程設(shè)計(jì)要求(1)利用所學(xué)專業(yè)課相關(guān)知識合理的選擇器材,使用Protel99se繪制出硬件原理圖。(2)使用 C語言或者匯編語言完成下位機(jī)程序驅(qū)動(dòng),并且要盡量保證系統(tǒng)的穩(wěn)定性
4、和可靠性以及實(shí)用性。(3)使用 VB或 VC語言或用 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)換簡介STC12C5A60S2單片機(jī)集成有 8 路 10 位高速模數(shù)轉(zhuǎn)換器(ADC),速度可達(dá)到 250KHz(25 萬次 / 秒,可做溫度檢測、壓力檢測、電池電壓檢測、按鍵掃描、頻譜檢測等。STC12C5A60S2單片機(jī)片集成 8 通道 10 位模數(shù)轉(zhuǎn)換器( ADC
5、)。ADC輸入通道與 P1 口復(fù)用,上電復(fù)位后 P1 口為弱上拉型 I/O 口,用戶可以通過軟件設(shè)置將 8 路中的任何一路設(shè)置為 A/D 轉(zhuǎn)換,不需作為 A/D 使用的口可繼續(xù)作為 I/O 口使用。模數(shù)轉(zhuǎn)換器的結(jié)構(gòu)圖STC12C5A60S2單片機(jī)的模數(shù)轉(zhuǎn)換器由多路選擇開關(guān)、比較器、逐次比較寄存器、10 位 ADC、轉(zhuǎn)換結(jié)果寄存器( ADC_RES和 ADC_RESL)以及 ADC控制寄存器 ADC_CONTR構(gòu)成。如圖 2-1 所示。ADC 控制寄存器 ADC_CONTRADC_POWERSPEED1 SPEED0ADC_FLAGADC_STARTCHS2CHS1CHS0模擬輸入信號通道選擇開
6、關(guān)CHS2/CHS1/CHS0A/D 轉(zhuǎn)換結(jié)果寄存器 ADC_RES 和ADC_RESLADC7/P1.7ADC6/P1.6ADC5/P1.5ADC4/P1.4ADC3/P1.3逐次比較寄存器ADC2/P1.2ADC1/P1.1比較器ADC0/P1.010-bit DAC圖2-1 STC12C5A單片機(jī)部A/D轉(zhuǎn)換結(jié)構(gòu)圖模數(shù)轉(zhuǎn)換器的參考電壓STC12C5A60S2單片機(jī) A/D 轉(zhuǎn)換模塊的參考電壓源是輸入工作電壓Vcc,所以一般不用外接參考電壓源。如三端穩(wěn)壓電路 7805 的輸出電壓是 5V,但實(shí)際電壓可能是4.88V到 4.96V,如果用戶需要的精度比較高, 可在應(yīng)用產(chǎn)品出廠前將實(shí)際測出的工
7、作電壓值記錄在單片機(jī)部的 EEPROM里面,以供程序校正使用。如果 Vcc 不穩(wěn)定(例如電池供電的系統(tǒng)中, 電池電壓常常在 5.3V-4.2V 之間漂移),則需要在 8 路 A/D 轉(zhuǎn)換的一個(gè)通道外接一個(gè)穩(wěn)定的參考電壓源,來計(jì)算出此時(shí)的工作電壓 Vcc,再計(jì)算出其他幾路 A/D 轉(zhuǎn)換通道的電壓。 例如,可在 ADC轉(zhuǎn)換通道的第七通道外接一個(gè) 1.25V 的基準(zhǔn)參考電壓源,由此求出此時(shí)的工作電壓 Vcc,再計(jì)算出其它幾路 A/D 轉(zhuǎn)換通道的電壓。與 ADC相關(guān)的寄存器1、P1口模擬功能控制寄存器P1ASF(地址為9DH,復(fù)位值為00H)位號D7D6D5D4D3D2D1D0位名稱P17ASFP16
8、ASFP15ASFP14ASFP13ASFP12ASFP11ASFP10ASF如果要使用相應(yīng)口的模擬功能,需將P1ASF特殊功能寄存器中的相應(yīng)位置為1。如,若要使用 P1.6 的模擬量功能,則需要將P16ASF設(shè)置為 1。(注意, P1ASF寄存器不能位尋址,可以使用匯編語言指令ORL P1ASF, #40H,也可以使用 C 語言語句 P1ASF|= 0x40; )2、 ADC控制寄存器 ADC_CONTR(地址為 BCH,復(fù)位值為 00H)位號D7D6D5D4D3D2D1D0位名稱ADC_POWERSPEED1SPEED0ADC_FLAGADC_STARTCHS2CHS1CHS01)ADC_
9、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)換完成后由該位申請產(chǎn)生中斷,還是由軟件查詢該標(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 所示。
10、表 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選擇 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寄存器的值
11、 , 原因是設(shè)置 ADC_CONTR控制寄存器的語句執(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é)果存儲格式由輔助寄存器AUXR1(地址為 A2H,復(fù)位值為 00H)中的 ADRJ控制, ADRJ是 AUXR1中的 D2位。(1)當(dāng) ADRJ=0時(shí), 10 位 A/D 轉(zhuǎn)換結(jié)果的高 8 位放在 ADC_RES寄存器,低
12、 2 位放在 ADC_RESL寄存器。存儲格式如下:(2)當(dāng) ADRJ=1時(shí),10 位 A/D 轉(zhuǎn)換結(jié)果的最高2 位放在 ADC_RES寄存器的低 2 位,低 8 位放在 ADC_RESL寄存器。存儲格式如下:模/ 數(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= 1 時(shí),取 10 位結(jié)果 (ADC_RES1:0,ADC_RESL7:0)= 1024× Vin/ Vcc
13、Vin 為模擬輸入通道輸入電壓,Vcc 為單片機(jī)實(shí)際工作電壓,用單片機(jī)工作電壓作為模擬參考電壓。4、 與 A/D 轉(zhuǎn)換中斷有關(guān)的寄存器中斷允許控制寄存器 IE 中的 EADC位( D5 位)用于開放 ADC中斷, EA位( D7位)用于開放 CPU中斷;中斷優(yōu)先級寄存器 IP 中的 PADC位( D5 位)和 IPH 中的 PADCH位(D5位)用于設(shè)置 A/D 中斷的優(yōu)先級。在中斷服務(wù)程序中,要使用軟件將 A/D 中斷標(biāo)志位 ADC_FLAG(也是 A/D 轉(zhuǎn)換結(jié)束標(biāo)志位)清 0。2.2 LMDZ35 簡介TS-LM35溫度傳感器是由LM35CZ/DZ集成電路溫度傳感器外加金屬套密封組裝而成
14、,其輸出電壓與攝氏溫度成線性比例關(guān)系,無需外部校準(zhǔn),在-55 +150溫度圍精度為 0.4 ± 0.75 。,輸出電壓與攝氏溫度對應(yīng), 使用極為方便。靈敏度為 10.0mV/,重復(fù)性好,輸出阻抗低,電路接口簡單和方便,可單電源和正負(fù)電源工作。是一種得到廣泛使用的溫度傳感器。LM35技術(shù)特性: 溫度圍: LM35DZ 0 100; LM35CZ -40 110 在攝氏溫度下直接校準(zhǔn) 線性刻度系數(shù):+10.0mV/ 精度: 0.5 ( 在 25) 工作電壓為 430V 功耗:小于 60uA 自熱效應(yīng)小于 0.08 非線性:± 0。 25 輸出阻抗: 0.1 /1mA 輸出電壓:
15、 +6V -1.0V 適合于遠(yuǎn)程應(yīng)用 輸出電流 10mA:2.3 硬件原理圖設(shè)計(jì)該系統(tǒng)硬件原理圖可大體分為這幾個(gè)模塊: 串行通信模塊、模擬信號處理模塊、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這一
16、芯片, MAX232對兩者之間通信的數(shù)據(jù)沒有任何作用 , 僅僅是中介而已 , 而其只是負(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送到電腦
17、 DP9插頭; DP9 插頭的 RS-232數(shù)據(jù)從 R1IN、R2IN 輸入轉(zhuǎn)換成 TTL/CMOS數(shù)據(jù)后從 R1OUT、R2OUT輸出。2、 模擬信號處理模塊原理圖如下:此處,我們處理采集到的模擬量電壓信號是采用了LM324集成運(yùn)算放大器管腳排列圖見圖 2-2 。LM324系列由四個(gè)獨(dú)立的帶有差動(dòng)輸入的,高增益,部頻率補(bǔ)償運(yùn)算放大器,其中專為從單電源供電的電壓圍經(jīng)營。從分裂電源的操作也有可能和低電源電流消耗是獨(dú)立的電源電壓的幅度。與單電源應(yīng)用場合的標(biāo)準(zhǔn)運(yùn)算放大器相比,它們有一些顯著優(yōu)點(diǎn)。該四放大器可以工作在低到3.0 伏或者高到 32 伏的電源下,靜態(tài)電流為 MC1741的靜態(tài)電流的五分之一
18、。共模輸入圍包括負(fù)電源,因而消除了在許多應(yīng)用場合中采用外部偏置元件的必要性。每一組運(yùn)算放大器可用圖1 所示的符號來表示,它有 5 個(gè)引出腳, 其中“+”、“- ”為兩個(gè)信號輸入端,“V+”、“V- ”為正、負(fù)電源端,“Vo”為輸出端。兩個(gè)信號輸入端中, Vi- (- )為反相輸入端,表示運(yùn)放輸出端 Vo的信號與該輸入端的位相反; Vi+ ( +)為同相輸入端,表示運(yùn)放輸出端 Vo 的信號與該輸入端的相位相同。圖 2-2 LM324 集成運(yùn)算放大器管腳排列圖此模擬量處理模塊設(shè)計(jì)的使用起來比較靈活,圖中左邊的兩路放大器都設(shè)計(jì)成了電壓跟隨器的形式,這樣就減少了輸入信號的損失。我們可以將傳感器所測得標(biāo)
19、準(zhǔn)電壓信號或者電流信號通過P9 或者 P10接入(也可以使用杜邦線通過J7 或者 J8 接入信號) LM324 的其中一路放大器,然后再經(jīng)過第二級放大使得處理后的電壓信號輸出到J9。做此課程設(shè)計(jì)時(shí)我們采用的是LM35DZ溫度測量傳感器,我們把它的輸出信號連接到 J8 的 2 腳,由此出輸入我們的采集到的信號。我們將上面的一路放大器的輸入調(diào)至零,然后再經(jīng)過后一級放大器,將兩者之差放大 5 倍。3、 4*7LED 顯示模塊原理圖如下:由圖中可以看出, 我們將數(shù)碼管的斷碼端接到了單片機(jī)的P2 口,控制端接到了 P0口的低四位。圖中Q2、Q3、 Q4、Q5為開關(guān)型三極管此處用作數(shù)碼管的選通控制。3.
20、系統(tǒng)軟件設(shè)計(jì)3.1 程序代碼根據(jù)下位機(jī)軟件設(shè)計(jì)任務(wù)的要求,我們可以把程序代碼分為一下幾個(gè)模塊:初始化模塊、按鍵掃描模塊、 A/D 轉(zhuǎn)換數(shù)據(jù)獲取模塊、串行口通信模塊、運(yùn)算處理模塊、延時(shí)模塊等。其中初始化模塊包括程序當(dāng)中使用的變量的初始化和串行口通信方式初始化還有 A/D 轉(zhuǎn)換模塊的初始化,按鍵掃描模塊是用于按鍵控制系統(tǒng)時(shí)用來響應(yīng)按鍵被按下時(shí)的, A/D 轉(zhuǎn)換數(shù)據(jù)獲取模塊部分可以用查詢方式,也可以使用中斷的方式實(shí)現(xiàn),串行口通信模塊用來接收上位機(jī)發(fā)送來的命令,以控制和監(jiān)測系統(tǒng)狀態(tài),運(yùn)算處理模塊包括多字節(jié)之間的加減乘除運(yùn)算,延時(shí)模塊用于程序中一小段時(shí)間的等待。匯編語言編寫的程序代碼如下:$ INCLU
21、DE (STC12C5A.INC)SHI EQU 62H; 定義變量千百十個(gè)GEWEI EQU 63HQIAN EQU 60HTEMPMH EQU 64HBAI EQU 61HTEMPML EQU 65HCOUNT EQU 66HTEMPMMH EQU 67HTEMPMML EQU 68HORG0000HLJMP MAINORG 0023HLJMP TONGXINORG002BHLJMP ADC_ISRORG0080HMAIN:LCALL MAIN_INITLCALL UART1_INITLCALL ADC_INITAAA:LCALL SCANFKEYVLCALL DISPLAYSJMP AA
22、AMAIN_INIT:MOV SP,#70HMOV QIAN,#00HMOV BAI,#00HMOV SHI,#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,KEYS2LCA
23、LL DELAY10MSMOV A,P1CJNE A,#0FDH,KEYS2SETB EADCSJMP NOKEYKEYS2: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 TI,$CLR TIDJNZ R7,A21SETB EASJMP NOKEYKEYS
24、4:CJNE A,#0BFH,NOKEYLCALL DELAY10MSMOV A,P1CJNE A,#0BFH,NOKEYSETB P0.4CLR EAMOV R7,#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,S
25、BUFCJNE A,#46H,COMPENDSETB EADCCOMPEND:CJNE A,#47H,STAR1CLR 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 CM
26、OV A,TEMPMMLADD A,TEMPMLMOV TEMPMML,AMOV A,TEMPMMHADDC A,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,#00HLCALL CONVERTMOV R7,#4MOV R0,#60HSENDTEMP:MOV A,R0MOV SBUF,AJN
27、B TI,$CLR TIINC R0DJNZ R7,SENDTEMPMOV R4,#240A12:DJNZ R4,A11SJMP OUT0A11:LCALL SCANFKEYVLCALL DISPLAYSJMP A12OUT0:ORL ADC_CONTR,#08HPOP ACCPOP PSWRETICONVERT:MOV R2,TEMPMHMOV R3,TEMPMLMOV R6,#03HMOV R7,#0E8HLCALL DBMULMOV R3,56HMOV R4,57HMOV R5,58HMOV R2,#04HMOV R1,#00HLCALL TDSDIVMOV R6,5BHMOV R7,5
28、AHMOV R4,#03HMOV R5,#0E8HLCALL DBDIVMOV QIAN,5CHMOV R6,5DHMOV R7,5EHMOV R4,#00HMOV R5,#64HLCALL DBDIVMOV BAI,5CHMOV R6,5DHMOV R7,5EHMOV R4,#00HMOV R5,#0AHLCALL DBDIVMOV SHI,5CHMOV GEWEI,5EHOUT:RETDBMUL:MOV A,R3MOV B,R7MUL ABXCH A,R7MOV R5,BMOV B,R2MUL ABADD A,R5MOV R4,ACLR AADDC A,BMOV R5,AMOV A,R6M
29、OV B,R3MUL ABADD A,R4XCH A,R6XCH A,BADDC A,R5MOV R5,AMOV F0,CMOV A,R2MUL ABADD A,R5MOV R5,ACLR AMOV ACC.0,CMOV C,F0ADDC A,BMOV 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,#0
30、MOV R5,AJC TDSDIV_END_INC_SHANG:CLR CMOV A,30HADDC A,#1MOV 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
31、,R6RLC AMOV R6,AMOV A,R3RLC AMOV R3,AMOV A,R2RLC AMOV R2,ACLR CMOV A,R3SUBB A,R5PUSH ACCMOV A,R2SUBB A,R4JBC CY,LOOP0MOV R2,APOP ACCMOV R3,ASETB CSJMP LOOP1LOOP0:POP ACCLOOP1:DJNZ B,LOOPMOV 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,R6
32、RETDISPLAY:MOV DPTR, #TABLEMOV A,GEWEIMOVC A,A+DPTRMOV P2,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,#
33、248LCALL DELAY10MSDJNZ R7,$SETB P0.3DJNZ R6,D1RETRETDELAY10MS:TABLE:MOV R6,#10DB 3FH,06H,5BH,4FH,66H,6DH,D1:;012345MOV R7,#248DB 7DH,07H 7FH,6FH,00H,40H,DJNZ R7,$;6789+ -DJNZ R6,D1END3.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)確度較高。此模塊疏通后再加入串行通信部分代碼,首先用串口助手測試數(shù)據(jù)的收發(fā),看單片機(jī)與上位機(jī)之間能否正常收發(fā)數(shù)據(jù),如不能修改代碼,再編譯、燒錄、觀察,直到數(shù)據(jù)收發(fā)正常為止。最后將按鍵掃描部分加入,調(diào)試方法同上,直到下位機(jī)系統(tǒng)能正確的按照我們的意愿對某
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)學(xué)檢驗(yàn)質(zhì)量控制體系與實(shí)施要點(diǎn)
- 海外留學(xué)生接送與住宿全面質(zhì)量監(jiān)控補(bǔ)充協(xié)議
- 虛擬現(xiàn)實(shí)網(wǎng)絡(luò)游戲原創(chuàng)角色道具設(shè)計(jì)獨(dú)家授權(quán)合同
- 智能家居設(shè)備安裝與全面保養(yǎng)服務(wù)長期合同
- 大宗商品物流配送與倉儲一體化承包合同
- 網(wǎng)絡(luò)廣告投放與精準(zhǔn)營銷服務(wù)合同
- 法院執(zhí)行法拍房稅費(fèi)承擔(dān)及支付協(xié)議合同
- 新能源企業(yè)ESG債券發(fā)行合規(guī)性法律審查協(xié)議
- 專業(yè)美容美發(fā)技術(shù)培訓(xùn)與授權(quán)服務(wù)合同
- 快遞網(wǎng)點(diǎn)加盟快遞業(yè)務(wù)代理合同
- 2024年社區(qū)工作者考試必背1000題題庫必背(典型題)
- 2024春期國開電大本科《公共政策概論》在線形考(形考任務(wù)1至4)試題及答案
- 人教版二年級數(shù)學(xué)下冊課件《萬以內(nèi)數(shù)的大小比較》
- 醫(yī)療廢物的定義及分類
- 2022年10月自考00445中外教育管理史試題及答案含解析
- (帶附加條款)多點(diǎn)執(zhí)業(yè)醫(yī)師勞動(dòng)合同范本(通用)
- 壓縮機(jī)故障原因及對策分析
- 股東向公司借款合同范本2篇
- 呼吸內(nèi)科研究熱點(diǎn)與新進(jìn)展講解
- 有效溝通與人際關(guān)系建立
- 《文學(xué)起源與發(fā)展》課件
評論
0/150
提交評論