智能儀器智能溫度測(cè)試儀地設(shè)計(jì)_第1頁(yè)
智能儀器智能溫度測(cè)試儀地設(shè)計(jì)_第2頁(yè)
智能儀器智能溫度測(cè)試儀地設(shè)計(jì)_第3頁(yè)
智能儀器智能溫度測(cè)試儀地設(shè)計(jì)_第4頁(yè)
智能儀器智能溫度測(cè)試儀地設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(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、實(shí)用文檔北華大學(xué)智能儀器綜合設(shè)計(jì)實(shí)習(xí)報(bào)告題目:智能溫度測(cè)試儀的設(shè)計(jì) 專(zhuān)業(yè):測(cè)控技術(shù)與儀器 班級(jí): 姓名: 學(xué)號(hào): 指導(dǎo)老師:目錄1、 概述 12、 方案設(shè)計(jì) 21 .設(shè)計(jì)任務(wù) 22 .總體方案 23 .具體方案 24 . PT100傳感器特性 35 .測(cè)溫原理33 .MK-4PC智能儀器實(shí)驗(yàn)教學(xué)系統(tǒng)簡(jiǎn)介 34 .硬件電路設(shè)計(jì) 51 .硬件功能分析 52 .各部分硬件設(shè)計(jì) 5五.軟件設(shè)計(jì) 81 .編程環(huán)境介紹 82 .軟件功能需求分析 103 .各部分軟件設(shè)計(jì) 11a.軟件的流程圖 11b.主程序 11六調(diào)試 217 .實(shí)習(xí)總結(jié) 218 .參考文獻(xiàn) 2214一、概述溫度是自然界中和人類(lèi)打交道最多

2、的物理參數(shù)之一,無(wú)論是在生產(chǎn)實(shí)驗(yàn)場(chǎng)所,還是在居住休閑場(chǎng)所,溫度的采集或控制都十分頻繁和重要,而且,網(wǎng)絡(luò)化遠(yuǎn)程采集溫度并報(bào)警是現(xiàn)代科技發(fā)展的一個(gè)必然趨勢(shì)。由于溫度不管是從物理量本身還是在實(shí)際人們的生活中都有著密切的關(guān)系,所以溫傳感器就會(huì)相應(yīng)產(chǎn)生。傳感器主要用于測(cè)量和控制系統(tǒng),它的性能好壞直接影響系統(tǒng)的性能。溫度傳感器 從使用的角度大致可分為接觸式和非接觸式兩大類(lèi),前者是讓溫度傳感器直接與待測(cè)物體接觸,而后者是使溫度傳感器與待測(cè)物體離開(kāi)一定的距離,檢測(cè)從待測(cè)物體放射出的紅外線,達(dá)到測(cè)溫的目的。由于PT100熱電阻的溫度與阻值變化關(guān)系,人們便利用它的這一特性,發(fā)明 并生產(chǎn)了 PT100熱電阻溫度傳感

3、器。它是集溫度濕度采集于一體的智能傳感器。 溫度的采集范圍可以在-200 C+200C ,濕度采集范圍是0%- 100% pt100溫度 傳感器是一種將溫度變量轉(zhuǎn)換為可傳送的標(biāo)準(zhǔn)化輸出信號(hào)的儀表。主要用于工業(yè)過(guò)程溫度參數(shù)的測(cè)量和控制。帶傳感器的變送器通常由兩部分組成: 傳感器和信 號(hào)轉(zhuǎn)換器。傳感器主要是熱電偶或熱電阻;信號(hào)轉(zhuǎn)換器主要由測(cè)量單元、信號(hào)處 理和轉(zhuǎn)換單元組成(由于工業(yè)用熱電阻和熱電偶分度表是標(biāo)準(zhǔn)化的,因此信號(hào)轉(zhuǎn) 換器作為獨(dú)立產(chǎn)品時(shí)也稱(chēng)為變送器),有些變送器增加了顯示單元,有些還具有 現(xiàn)場(chǎng)總線功能。此次實(shí)習(xí)我們利用SST89V564R單片機(jī)結(jié)合溫度傳感器技術(shù)而開(kāi) 發(fā)設(shè)計(jì)了這一溫度測(cè)量系

4、統(tǒng)。二、方案設(shè)計(jì)1 .設(shè)計(jì)任務(wù)測(cè)溫的模擬電路是把當(dāng)前PT100熱電阻傳感器的電阻值,轉(zhuǎn)換為容易測(cè)量的電壓值,經(jīng)過(guò)放大器放大信號(hào)后送給A/D轉(zhuǎn)換器把模擬電壓轉(zhuǎn)為數(shù)字信號(hào)后傳給單片機(jī),單片機(jī)再根據(jù)公式換算把測(cè)量得的溫度傳感器的電阻值轉(zhuǎn)換為溫度值,并將數(shù)據(jù)送出到LCD顯示器進(jìn)行顯示。2 .總體方案智能溫度測(cè)量?jī)x的設(shè)計(jì),包括硬件和軟件的設(shè)計(jì)。先對(duì)該測(cè)量?jī)x進(jìn)行概括性介紹,然后介紹該測(cè)量?jī)x在硬件設(shè)計(jì)上的主要器件:“Pt100熱電阻”、單片機(jī)和LCD顯示器以及描述測(cè)量?jī)x的總體結(jié)構(gòu)原理。在本設(shè)計(jì)中,是以 鋁電阻PT100作為溫度傳感器,采用恒流測(cè)溫的方法,通過(guò)單片機(jī)進(jìn)行控 制,用放大器、A/D轉(zhuǎn)換器進(jìn)行溫度信

5、號(hào)的采集??傮w來(lái)說(shuō),該設(shè)計(jì)是切實(shí) 可行的。本設(shè)計(jì)系統(tǒng)包括溫度傳感器,信號(hào)放大電路,A/D轉(zhuǎn)換模塊,數(shù)據(jù)處理與控制模塊,溫度顯示五個(gè)部分。3 .具體方案本設(shè)計(jì)系統(tǒng)主要包括溫度信號(hào)采集單元, 單片機(jī)數(shù)據(jù)處理單元,溫度顯示單 元。其中溫度信號(hào)的數(shù)據(jù)采集單元部分包括溫度傳感器、 溫度信號(hào)的獲取電路(采 樣)、放大電路、A/D轉(zhuǎn)換電路。系統(tǒng)的總結(jié)構(gòu)框圖如圖1-1所示。系統(tǒng)的總結(jié)構(gòu)框圖本溫度測(cè)量系統(tǒng)設(shè)計(jì),是采用PT100溫度傳感器經(jīng)過(guò)放大和 A/D轉(zhuǎn)換器送到 單片機(jī)進(jìn)行控制溫度顯示。另外本系統(tǒng)還可以通過(guò)外接電路擴(kuò)展實(shí)現(xiàn)溫度報(bào)警功 能,從而更好的實(shí)現(xiàn)溫度現(xiàn)場(chǎng)的實(shí)時(shí)控制。經(jīng)過(guò)多次的修改和調(diào)試測(cè)量,本設(shè)計(jì)基本符

6、合設(shè)計(jì)要求,由于受人為因素和軟硬 件的限制,系統(tǒng)難免不了帶來(lái)一些誤差,但通過(guò)調(diào)節(jié)和精確計(jì)算可以減小誤差。4 . PT100傳感器特性電阻式溫度傳感器(RTD, Resistance Temperature Detector) 是指一種物 質(zhì)材料作成的電阻,它會(huì)隨溫度的改變而改變電阻值。PT100溫度傳感器是一種以鋁(Pt)做成的電阻式溫度傳感器,屬于正電阻系數(shù), 由于它的電阻一溫度關(guān)系的線性度非常好, 因此在測(cè)量較小范圍內(nèi)其電阻和溫度 變化的關(guān)系式如下:R=Ro(1+a T)其中a =0.00392, Ro為100。(在0c的電阻值),T為華氏溫度,因此鋁做成的電 阻式溫度傳感器,又稱(chēng)為PT1

7、00PT100溫度傳感器的測(cè)量范圍廣:-200C+600C,偏差小,響應(yīng)時(shí)間短,還具 有抗振動(dòng)、穩(wěn)定性好、準(zhǔn)確度高、耐高壓等優(yōu)點(diǎn),具得到了廣泛的應(yīng)用,本設(shè)計(jì) 即采用PT100作為溫度傳感器。5 .測(cè)溫原理通過(guò)運(yùn)放U1A將基準(zhǔn)電壓4.096V轉(zhuǎn)換為恒流源,電流流過(guò) Pt100時(shí)在其上 產(chǎn)生壓降,再通過(guò)運(yùn)放U1B將該微弱壓降信號(hào)放大(圖中放大倍數(shù)為 10),即輸 出期望的電壓信號(hào),該信號(hào)可直接連 AD轉(zhuǎn)換芯片。智能儀器實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)集中了單雙極性輸入通道、程控放大、模擬濾波、16位A/D轉(zhuǎn)換及CPLDK術(shù)和單片機(jī)技術(shù),并具有超過(guò)128KB的大存儲(chǔ)空間,集中 體現(xiàn)了智能儀器課程所涉及到的各種軟硬件技術(shù)

8、,非常適合大學(xué)本科生的學(xué)習(xí)以及在此基礎(chǔ)上的進(jìn)一步開(kāi)發(fā)。三.MK-4PC智能儀器實(shí)驗(yàn)教學(xué)系統(tǒng)簡(jiǎn)介智能儀器實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)采用模塊化設(shè)計(jì),整個(gè)平臺(tái)設(shè)有一個(gè)母板,該母板具有四個(gè)相同規(guī)格的擴(kuò)展部分,每個(gè)擴(kuò)展部分設(shè)四個(gè)插口,每個(gè)插口對(duì)應(yīng)的分別為 單片機(jī)的PR P1、P2、P3 口,如圖1所示。設(shè)計(jì)時(shí)將單片機(jī)作為控制部分的核 心,因此單片機(jī)板獨(dú)立占用其中一個(gè)擴(kuò)展, 顯示部分采用液晶模塊完成,該部分還設(shè)有四個(gè)按鍵作為組合按鍵使用。第三個(gè)部分為基于CPLD勺16位數(shù)據(jù)采集部 分,設(shè)有兩個(gè)獨(dú)立輸入通道,每個(gè)通道可設(shè)置為單極性輸入或雙極性輸入,具有程控放大、模擬濾波等功能,CPLD空制A/D轉(zhuǎn)換器完成數(shù)據(jù)的采集工作,

9、數(shù)據(jù) 采集的采樣頻率可設(shè)置為10KHz 20KHz500KHz,采樣點(diǎn)數(shù)可以根據(jù)要求設(shè) 置。平臺(tái)的最后一個(gè)擴(kuò)展部分為空,留給平臺(tái)的使用者做擴(kuò)展使用,根據(jù)要求自 己獨(dú)立設(shè)計(jì)該部分的電路。圖1俯視尺寸規(guī)格圖(單位:毫米)除平臺(tái)能夠獨(dú)立完成各項(xiàng)實(shí)驗(yàn)項(xiàng)目外,為實(shí)現(xiàn)對(duì)采集的數(shù)據(jù)進(jìn)行圖形化顯示, 該平臺(tái)還可以通過(guò)標(biāo)準(zhǔn)的RS-232接口與PC機(jī)連接,通過(guò)PC機(jī)的顯示器將數(shù)據(jù) 波形顯示出來(lái),同時(shí)還可以利用該串行接口對(duì)單片機(jī)進(jìn)行仿真或傳輸控制參數(shù)使 其工作在設(shè)定模式下。整個(gè)功能框圖如圖 2所示。四.硬件電路設(shè)計(jì)1 .硬件功能分析圖5液晶顯示器電路圖電 I h k L_hr Ja- -4 s.- nbaDINn-

10、 rt£手-千王FD keet圖4硬件部分電路圖后面有CPLDR單片機(jī),單片機(jī)控制液晶顯示部分30 ¥ EE.pmqjqajzm御 :必 HWE IME'WU;DtwonW5CLI Dmnc niDHi回 M:2 .各部分硬件設(shè)計(jì)對(duì)于熱電阻的測(cè)量電路我們可以采用二線式的測(cè)量電路等。而對(duì)于我們此次 實(shí)習(xí)則選擇利用恒流源模擬此測(cè)量部分。二線式圖如下:圖6二線式圖信號(hào)取回后需要進(jìn)行信號(hào)的調(diào)理,信號(hào)調(diào)理電路圖如下:圖7信號(hào)調(diào)理電路圖右下角OP07起偏置作用。調(diào)節(jié)電位器 Rpotl可調(diào)節(jié)偏置。上圖的差分放大電路的輸出連接至程控放大電路的輸入。電路圖如下:-5VT3VW3VUD

11、VL2UVH?VWIVW,VL1VLJVHIVH3A0AIA2VCCSCLVSSSDAU71。12Zii1It|1才496 ,:1/" i '卜14SCLSDA程控放大器的輸出信號(hào)進(jìn)入電平抬高電路。如下:兩個(gè)二極管起鉗位作用。這個(gè)電路是求差電路。電平抬高電路的輸出進(jìn)入程控濾波電路。如下圖:LKI 湖1luFW+OUTK-%GNDRxV- DIV'CLK.+ EHIUF = 用到的程控濾波芯片為L(zhǎng)TC1569-7, FCLKQ CPLD生的萬(wàn)波信號(hào),用來(lái)控 制濾波器截止頻率。若要控制濾波器截止頻率為 1kHz, CPLDg產(chǎn)生32k的方波 信號(hào)給FCLK0程控濾波電品&

12、amp;之后接入A/D轉(zhuǎn)換器。圖如下:KA1 WA: 支四rtBL TSB1REFA REtBREF BZfGSOAVDD ACt© A<M)DVDO D'DD DGMJ DGDOVDD OGW幸 EDCS加DItv it”"耶 DWiVSCLl iMhXT.'WTDS NWNCDAINTS門(mén)流口: ?T)r3QNDSSDWTDt> 5CLKD1C S13CDll UDEJUtOR312 如OHD13EOCTVTMIMPULSEPDRESETUi ILSWAF bUtlKq ai> no I&ADD111 AD LT ad'

13、dj11 AD WTr- e n-15 ADD<.it AD 山隼_如二QUW q$訕圖11 AD轉(zhuǎn)換電路圖U20 為AD780它是基準(zhǔn)電壓芯片。A/D轉(zhuǎn)換器是AD7655它是一款16位的A/D,它的數(shù)據(jù)口 D0-D74空制端口 BUSYCNVSTIMPULSEBYTESWAP接至 CPLD 單片機(jī)通過(guò)往CPLD控制字來(lái)控制A/D的采樣率。單片機(jī)部分的電路圖如下:RAM高地址力 573候存138 A138 B138 CMAX3485的方向控制0123456701234567 * J d- . H E «- w V- B- - rv OIQOOO O0O 11 111111 pp

14、pppppppppppppp.(>-z¥.4F.6b.&->.a-.1F2.3F4j i: ; J; J : J !;£ 7is_>aP2.P2-P2-降P2.P2.P2.*/P3.隈P3.P3P3./P3.VSVDP2.0-P27 CPLD高8付地班線P2.0F23液用控制線P24-P27 口依薦制線J1J2CPLD前單片機(jī)發(fā)中廝信號(hào)USB芯片中斷信號(hào)CPL 口片詵SST&9V564RD圖12單片機(jī)部分電路圖五.軟件設(shè)計(jì)1 .編程環(huán)境介紹單片機(jī)軟件開(kāi)發(fā)采用目前比較通用的Keil51開(kāi)發(fā)軟件完成,該軟件有很多詳細(xì)的應(yīng)用文檔,在此不再贅述。如

15、果不使用硬件仿真器,多數(shù)通用單片機(jī)都無(wú) 法實(shí)現(xiàn)在線仿真功能,而本實(shí)驗(yàn)平臺(tái)所用單片機(jī)SST89V564RDT以實(shí)現(xiàn)在線仿真 以及程序下載功能,兩者皆可以通過(guò) PC機(jī)的標(biāo)準(zhǔn)RS-232串口與Keil51軟件通 信實(shí)現(xiàn),其連接示意圖如下圖,本節(jié)主要介紹如何在現(xiàn)有Keil51軟件基礎(chǔ)上實(shí)現(xiàn)上述功能。針對(duì)在線仿真功能,SST公司為方便用戶(hù)使用單片機(jī)調(diào)試程序而開(kāi) 發(fā)了調(diào)試工具 SoftICE (Software In Circuit Emulator ,在電路軟件模擬), 該調(diào)試工具可實(shí)現(xiàn)下述功能:下載INTEL HEX文件在線調(diào)試及設(shè)置斷點(diǎn),支持匯編語(yǔ)言和C51語(yǔ)言反匯編代碼區(qū)到8051助記符讀寫(xiě)代碼/

16、數(shù)據(jù)存儲(chǔ)器、FSR特殊功能寄存器及PORTS口IAP (In Application Programming ,應(yīng)用中再編程)功能 軟件重啟動(dòng)圖6計(jì)算機(jī)與實(shí)驗(yàn)平臺(tái)連接示意圖對(duì)于我們本次實(shí)習(xí)的單片機(jī)SST89V564RD我們用keil C51編程環(huán)境進(jìn)行 程序的編寫(xiě)。keil C51軟件是眾多單片機(jī)應(yīng)用開(kāi)發(fā)的優(yōu)秀軟件之一。它集編輯、 編譯、仿真于一體,支持匯編、PLM語(yǔ)言和C語(yǔ)言的程序設(shè)計(jì)。界面友好,易學(xué) 易用。對(duì)于下載的軟件我們可以直接用 keil C51下載。同時(shí)我們也可以在SST 軟件的下載頁(yè)面中下載。而且這兩種下載方式都需要程序生成.HEX文件。如下圖所示:干岡SS7 EasyliPlI

17、F Boot-Strap Loader (Ft: vl.IF)圖13而應(yīng)用SoftICE調(diào)試工具進(jìn)行程序在線仿真調(diào)試的過(guò)程是這樣的:(1)利用SSTBoot-Strap Loader軟件將SoftICE直接下載到單片機(jī)中,重 新上電復(fù)位后,單片機(jī)中的SoftICE便可以與Keil51軟件通信以進(jìn)行仿真調(diào)試, 下載界面如下(2)在Keil51軟件上選擇使用的單片機(jī)型號(hào) SST89V564RD(3)在Keil51軟件的Project下拉菜單中選擇“ Options for Target'Monitor51 '”;(4)在 Options for Target 'Monito

18、r51 '窗口的 Debug欄中選擇 “ UseKeil Monitor-51 Driver ”,由于每次RESET!標(biāo)板時(shí)用戶(hù)代碼區(qū)會(huì)被擦除,如果用戶(hù) 程序需要在開(kāi)始時(shí)下載到目標(biāo)板,要勾上“ Load Application at Startup ”;(5)點(diǎn)擊Settings項(xiàng),彈出Target Setup窗口進(jìn)行配置,可以選擇 PC機(jī) 與目標(biāo)板通信的串行接口及波特率,如果需要顯示存儲(chǔ)器的實(shí)時(shí)窗口,請(qǐng)不要選 Cache Options ,注意,如果選擇了的中斷向量 3Serial Interrupt 去Stop Program Exacution , SoftICE將修改在位置00

19、23H個(gè)字節(jié),要確保用戶(hù)程序未 占用這些地址;(6)開(kāi)始調(diào)試,此時(shí)可以根據(jù)Keil51軟件的Debug進(jìn)行程序調(diào)試。通過(guò)View 下拉菜單的部分選項(xiàng)可以觀察及修改特殊功能寄存器及數(shù)據(jù)存儲(chǔ)器等的內(nèi)容。2 .軟件功能需求分析單片機(jī)軟件開(kāi)發(fā)采用目前比較通用的Keil51開(kāi)發(fā)軟件完成。如果不使用硬件仿真器,多數(shù)通用單片機(jī)都無(wú)法實(shí)現(xiàn)在線仿真功能,兩者皆可以通過(guò)PC機(jī)的標(biāo)準(zhǔn)RS-232串口與Keil51軟件通信實(shí)現(xiàn)。針對(duì)在線仿真功能,SST公司為方便 用戶(hù)使用單片機(jī)調(diào)試程序而開(kāi)發(fā)了調(diào)試工具SoftICE (Software In CircuitEmulator ,在電路軟件模擬)。該調(diào)試工具可實(shí)現(xiàn)下述功能

20、:(1)下載INTEL HEX文件;(2)在線調(diào)試及設(shè)置斷點(diǎn),支持匯編語(yǔ)言和C51語(yǔ)言;(3)反匯編代碼區(qū)到8051助記符;(4)讀寫(xiě)代碼/數(shù)據(jù)存儲(chǔ)器、FSRW殊功能寄存器及PORTED;(5) IAP (In Application Programming ,應(yīng)用中再編程)功能;(6)軟件重啟動(dòng)。利用該調(diào)試工具我們可以很方便的用計(jì)算機(jī)對(duì)MK-4PC智能儀器實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)進(jìn)行各項(xiàng)試驗(yàn)及實(shí)習(xí)。3.各部分軟件設(shè)計(jì)a.軟件的流程圖圖1系統(tǒng)總流程圖圖2溫度轉(zhuǎn)換程序流程圖3顯示流程圖圖4主函數(shù)流程圖b.主程序ADS784猾區(qū)動(dòng)程序#include <iom64v.h>#include <

21、macros.h>#include "delay.h"#include "ads7841.h"#include "LCD1602.h”/ADS7841控制字節(jié)#define control_byte 0b10011000/bit val description/bit7 1 start,包為1/bit6,5,4 001選擇CH0為+IN/bit4/bit2外部MOD接GND該位無(wú)作用,包為12位/bit1,000轉(zhuǎn)換期間ADE掉電模式選擇為單端輸入void port_init(void)PORTA = 0xFF;/將所有端口初始化為輸入,

22、打開(kāi)上拉DDRA = 0x00;PORTB = 0xFF;DDRB = 0x00;PORTC = 0xFF;DDRC = 0x00;PORTD = 0xFF;DDRD = 0x00;PORTE = 0xFF;DDRE = 0x00;PORTF = 0xFF;DDRF = 0x00;PORTG = 0xFF;DDRG = 0x00;void main() unsigned int result;unsigned cha門(mén),array4,table尸'0123456789”;port_init();/端口 初始化LCD1602_init();/1602液晶初始化ads7841_init()

23、;/ADS7841初始化LCD_write_string(0x80,"result:");while(1)啟動(dòng)ADS7841即拉低CS發(fā)送控制字,并得到轉(zhuǎn)換數(shù)據(jù)屏蔽掉高四位停止ADS7841即拉高CS以下均為顯示部分ads7841_start();/delay_nus(10);result=ads7841_W_R(control_byte); /result&=0b0000111111111111;/delay_nus(10);ads7841_finish();/for(i=0;i<4;i+)/arrayi=result%10;/esult/=10;for(i

24、=0;i<4;i+)LCD_write_onechar(0x87+i,tablearray3-i);delay_nms(300);#ifndef _ads7841_h#define _ads7841_hdefine DCLK PD0#define DCLK_ddr DDRD#define DCLK_port PORTD#define DCLK_pin PIND#define CSPD1#define CS_ddr DDRD#define CS_port PORTD#define CS_pin PIND#define DINPD2#define DIN_ddr DDRD#define DI

25、N_port PORTD#define DIN_pin PIND#define BUSY PD3#define BUSY_ddr DDRD#define BUSY_port PORTD#define BUSY_pin PIND#define DOUT PD4#define DOUT_ddr DDRD#define DOUT_port PORTD#define DOUT_pin PIND啟運(yùn) ADS7841停止 ADS7841define ads7841_start() CS_port&=(1<<CS) /#define ads7841_finish() CS_port|=(

26、1<<CS) / void ads7841_init(void);15unsigned int ads7841_W_R(unsigned char byte);#endif#include <iom64v.h>#include <macros.h>#include "delay.h"#include "ads7841.h"/* * 函數(shù)名稱(chēng):ads7841_init()* *函數(shù)功能:初始化 ADS784端口* *備 注:無(wú)*/20void ads7841_init(void)DCLK_port&=(1<

27、<DCLK);/時(shí)鐘端初始化為輸出低電平DCLK_ddr|=(1<<DCLK);CS_port|=(1<<CS);/片選端初始化為輸出高電平CS_ddr|=(1<<CS);/即不選中ADS7841DIN_port&=(1<<DIN); /DIN_ddr|=(1<<DIN);BUSY_port|=(1<<BUSY);/BUSY_ddr&=(1<<BUSY);DOUT_port|=(1<<DOUT);/DOUT_ddr&=(1<<DOUT);數(shù)據(jù)輸入端初始化為輸

28、出低電平忙信號(hào)初始化為輸入,打開(kāi)上拉數(shù)據(jù)輸出初始化為輸入,打開(kāi)上拉* * 函數(shù)名稱(chēng):ads7841_W_R* *函數(shù)功能:向ADS7841寫(xiě)入控制字節(jié),讀出轉(zhuǎn)換好的數(shù)* * 輸入?yún)?shù):unsigned char byte :控制字節(jié)unsigned int result: AD轉(zhuǎn)換好的數(shù)* *備 注:數(shù)據(jù)從高位到低位寫(xiě)入,從高位到低位讀出 */unsigned int ads7841_W_R(unsigned char byte)unsigned cha門(mén),temp;unsigned int result=0;for(i=0;i<8;i+)/8位數(shù)據(jù)計(jì)數(shù)DCLK_port&=(1

29、<<DCLK); / 拉低時(shí)鐘端if(byte&0x80) / 當(dāng)前位是否是1DIN_port|=(1<<DIN); /當(dāng)前位是1,拉高數(shù)據(jù)端elseDIN_port&=(1<<DIN); / 當(dāng)前位是0,拉低數(shù)據(jù)端delay_nus(10); /調(diào)整時(shí)鐘和脈沖寬度DCLK_port|=(1<<DCLK); /時(shí)鐘上升沿delay_nus(10);byte<<=1;/數(shù)據(jù)左移1位,為送出新數(shù)據(jù)位做準(zhǔn)備delay_nus(10);DCLK_port&=(1<<DCLK); / 拉低時(shí)鐘端delay_n

30、us(10);i=BUSY_pin;/讀 BUSY勺狀態(tài)delay_nus(10);if(i&(1<<BUSY)/如果為高則說(shuō)明轉(zhuǎn)換完成,應(yīng)將其讀出/ 以下先讀出高八位for(i=1;i<=8;i+)result<<=1; /保存讀入的數(shù)據(jù)位DCLK_port|=(1<<DCLK); /時(shí)鐘上升沿delay_nus(10);DCLK_port&=(1<<DCLK); /拉低時(shí)鐘端elay_nus(10);if(DOUT_pin&(1<<DOUT) result|=0x01; else result&

31、;=0xfe;/以下讀出低四位for(i=1;i<=4;i+)temp<<=1;/保存讀入的數(shù)據(jù)位DCLK_port|=(1<<DCLK); / delay_nus(10);DCLK_port&=(1<<DCLK); / delay_nus(10);if(DOUT_pin&(1<<DOUT) temp|=0x01; else temp&=0xfe; for(i=1;i<=4;i+)/DCLK_port|=(1<<DCLK); / delay_nus(10);/DCLK_port&=(1<

32、;<DCLK); / delay_nus(10);/result=(result<<4)+temp; /時(shí)鐘上升沿拉低時(shí)鐘端再給ADS7841四個(gè)時(shí)鐘時(shí)鐘上升沿調(diào)整時(shí)鐘和脈沖寬度拉低時(shí)鐘端調(diào)整時(shí)鐘和脈沖寬度將結(jié)果合成,返回/ 先送Y地址再送X地址恢復(fù)為基本指令集顯示開(kāi)啟子程序 設(shè)置為基本指令集顯示關(guān)閉子程序設(shè)置為基本指令集繪圖區(qū)域顯示開(kāi)啟子程序恢復(fù)為基本指令集繪圖區(qū)域顯示關(guān)閉子程序恢復(fù)為基本指令集return result;LCD驅(qū)動(dòng)程序lcdwc(GYPOS&0x1以0x80);if(GYPOS>=32)/lcdwc(GXPOS/16+8)|0x80);els

33、elcdwc(GXPOS/16)|0x80);lcdwc(0x30);/void lcdon(void)/LCD lcdwc(0x30);/lcdwc(0x0c);void lcdoff(void)/LCD lcdwc(0x30);/lcdwc(0x08);void lcdgraphon(void)/ lcdwc(0x36);lcdwc(0x30);/void lcdgraphoff(void)/ lcdwc(0x34);lcdwc(0x30);/向液晶顯示控制器寫(xiě)數(shù)據(jù)片選使能SYNCODE=0F8H,RW=0,RS=1,D0=0transbyte(d&0xf0);/transbyte(d&0x0f)<<4); /CSPIN=0;/void lcdwc(unsigned char c) /CSPIN=1;/transbyte(0xf8);送高四位數(shù)據(jù),低四位補(bǔ)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論