智能儀器智能溫度測(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è),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、北華大學(xué)智能儀器綜合設(shè)計(jì)實(shí)習(xí)報(bào)告 題目:智能溫度測(cè)試儀的設(shè)計(jì) 專業(yè):測(cè)控技術(shù)與儀器 班級(jí): 姓名: 學(xué)號(hào): 指導(dǎo)老師:目錄一、 概述 1二、 方案設(shè)計(jì) 21設(shè)計(jì)任務(wù) 22總體方案 23具體方案 24PT100傳感器特性 3 5測(cè)溫原理 3三MK-4PC 智能儀器實(shí)驗(yàn)教學(xué)系統(tǒng)簡(jiǎn)介 3四硬件電路設(shè)計(jì) 51硬件功能分析 52.各部分硬件設(shè)計(jì)5五軟件設(shè)計(jì)81. 編程環(huán)境介紹 82.軟件功能需求分析103.各部分軟件設(shè)計(jì)11a軟件的流程圖 11b.主程序11六調(diào)試21七實(shí)習(xí)總結(jié)21八參考文獻(xiàn)22一、概述溫度是自然界中和人類打交道最多的物理參數(shù)之一,無(wú)論是在生產(chǎn)實(shí)驗(yàn)場(chǎng)所,還是在居住休閑場(chǎng)所,溫度的采集或控

2、制都十分頻繁和重要,而且,網(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)的性能。溫度傳感器從使用的角度大致可分為接觸式和非接觸式兩大類,前者是讓溫度傳感器直接與待測(cè)物體接觸,而后者是使溫度傳感器與待測(cè)物體離開一定的距離,檢測(cè)從待測(cè)物體放射出的紅外線,達(dá)到測(cè)溫的目的。由于PT100熱電阻的溫度與阻值變化關(guān)系,人們便利用它的這一特性,發(fā)明并生產(chǎn)了PT100熱電阻溫度傳感器。它是集溫度濕度采集于一體的智能傳感器。溫度的采集范圍可以在-200+20

3、0,濕度采集范圍是0%100%。pt100溫度傳感器是一種將溫度變量轉(zhuǎn)換為可傳送的標(biāo)準(zhǔn)化輸出信號(hào)的儀表。主要用于工業(yè)過程溫度參數(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í)也稱為變送器),有些變送器增加了顯示單元,有些還具有現(xiàn)場(chǎng)總線功能。此次實(shí)習(xí)我們利用SST89V564RD單片機(jī)結(jié)合溫度傳感器技術(shù)而開發(fā)設(shè)計(jì)了這一溫度測(cè)量系統(tǒng)。二、方案設(shè)計(jì)1設(shè)計(jì)任務(wù)測(cè)溫的模擬電路是把當(dāng)前PT100熱電阻傳感器的電阻值,轉(zhuǎn)換為容易測(cè)量的電壓值

4、,經(jīng)過放大器放大信號(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è)溫的方法,通過單片機(jī)進(jìn)行控制,用放大器、A/D轉(zhuǎn)換器進(jìn)行溫度信號(hào)的采集。總體來(lái)說,該設(shè)計(jì)是切實(shí)可行的。本設(shè)計(jì)系統(tǒng)包括溫度傳感器,信號(hào)放大電路,A/D轉(zhuǎn)換模塊,數(shù)據(jù)處理與控制模塊

5、,溫度顯示五個(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)過放大和A/D轉(zhuǎn)換器送到單片機(jī)進(jìn)行控制溫度顯示。另外本系統(tǒng)還可以通過外接電路擴(kuò)展實(shí)現(xiàn)溫度報(bào)警功能,從而更好的實(shí)現(xiàn)溫度現(xiàn)場(chǎng)的實(shí)時(shí)控制。 經(jīng)過多次的修改和調(diào)試測(cè)量,本設(shè)計(jì)基本符合設(shè)計(jì)要求,由于受人為因素和軟硬件的限制,系統(tǒng)難免不了帶來(lái)一些誤差,但通過調(diào)節(jié)和精確計(jì)算可以減小誤差。 4PT100傳感器特性

6、電阻式溫度傳感器(RTD, Resistance Temperature Detector)是指一種物 質(zhì)材料作成的電阻,它會(huì)隨溫度的改變而改變電阻值。 PT100溫度傳感器是一種以鉑(Pt)做成的電阻式溫度傳感器,屬于正電阻系數(shù), 由于它的電阻溫度關(guān)系的線性度非常好,因此在測(cè)量較小范圍內(nèi)其電阻和溫度變化的關(guān)系式如下:R=Ro(1+T) 其中=0.00392, Ro為100(在0的電阻值),T為華氏溫度,因此鉑做成的電阻式溫度傳感器,又稱為PT100。 PT100溫度傳感器的測(cè)量范圍廣:-200+600,偏差小,響應(yīng)時(shí)間短,還具有抗振動(dòng)、穩(wěn)定性好、準(zhǔn)確度高、耐高壓等優(yōu)點(diǎn),其得到了廣泛的應(yīng)用,本

7、設(shè)計(jì)即采用PT100作為溫度傳感器。5測(cè)溫原理通過運(yùn)放U1A將基準(zhǔn)電壓4.096V轉(zhuǎn)換為恒流源,電流流過Pt100時(shí)在其上產(chǎn)生壓降,再通過運(yùn)放U1B將該微弱壓降信號(hào)放大(圖中放大倍數(shù)為10),即輸出期望的電壓信號(hào),該信號(hào)可直接連AD轉(zhuǎn)換芯片。智能儀器實(shí)驗(yàn)開發(fā)平臺(tái)集中了單雙極性輸入通道、程控放大、模擬濾波、16位A/D轉(zhuǎn)換及CPLD技術(shù)和單片機(jī)技術(shù),并具有超過128KB的大存儲(chǔ)空間,集中體現(xiàn)了智能儀器課程所涉及到的各種軟硬件技術(shù),非常適合大學(xué)本科生的學(xué)習(xí)以及在此基礎(chǔ)上的進(jìn)一步開發(fā)。三MK-4PC 智能儀器實(shí)驗(yàn)教學(xué)系統(tǒng)簡(jiǎn)介智能儀器實(shí)驗(yàn)開發(fā)平臺(tái)采用模塊化設(shè)計(jì),整個(gè)平臺(tái)設(shè)有一個(gè)母板,該母板具有四個(gè)相同

8、規(guī)格的擴(kuò)展部分,每個(gè)擴(kuò)展部分設(shè)四個(gè)插口,每個(gè)插口對(duì)應(yīng)的分別為單片機(jī)的P0、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ù)的采集工作,數(shù)據(jù)采集的采樣頻率可設(shè)置為10KHz、20KHz 500KHz,采樣點(diǎn)數(shù)可以根據(jù)要求設(shè)置。平臺(tái)的最后一個(gè)擴(kuò)展部分為空,留給平臺(tái)的使用者做擴(kuò)展使用,根據(jù)要求自己獨(dú)立設(shè)計(jì)該部分的電路。

9、圖1俯視尺寸規(guī)格圖(單位:毫米)除平臺(tái)能夠獨(dú)立完成各項(xiàng)實(shí)驗(yàn)項(xiàng)目外,為實(shí)現(xiàn)對(duì)采集的數(shù)據(jù)進(jìn)行圖形化顯示,該平臺(tái)還可以通過標(biāo)準(zhǔn)的RS-232接口與PC機(jī)連接,通過PC機(jī)的顯示器將數(shù)據(jù)波形顯示出來(lái),同時(shí)還可以利用該串行接口對(duì)單片機(jī)進(jìn)行仿真或傳輸控制參數(shù)使其工作在設(shè)定模式下。整個(gè)功能框圖如圖2所示。圖2 功能框圖四硬件電路設(shè)計(jì)1硬件功能分析圖4 硬件部分電路圖 后面有CPLD及單片機(jī),單片機(jī)控制液晶顯示部分。圖5 液晶顯示器電路圖2.各部分硬件設(shè)計(jì)對(duì)于熱電阻的測(cè)量電路我們可以采用二線式的測(cè)量電路等。而對(duì)于我們此次實(shí)習(xí)則選擇利用恒流源模擬此測(cè)量部分。 二線式圖如下:圖6 二線式圖 信號(hào)取回后需要進(jìn)行信號(hào)的

10、調(diào)理,信號(hào)調(diào)理電路圖如下:圖7 信號(hào)調(diào)理電路圖 右下角OP07起偏置作用。調(diào)節(jié)電位器Rpot1可調(diào)節(jié)偏置。上圖的差分放大電路的輸出連接至程控放大電路的輸入。電路圖如下:圖8 程控放大電路圖 程控放大器的輸出信號(hào)進(jìn)入電平抬高電路。如下:圖9 電平抬高電路圖 兩個(gè)二極管起鉗位作用。這個(gè)電路是求差電路。 電平抬高電路的輸出進(jìn)入程控濾波電路。如下圖:圖10 程控濾波電路圖 用到的程控濾波芯片為L(zhǎng)TC1569-7,F(xiàn)CLK0是CPLD產(chǎn)生的方波信號(hào),用來(lái)控制濾波器截止頻率。若要控制濾波器截止頻率為1kHz,CPLD要產(chǎn)生32k的方波信號(hào)給FCLK0。 程控濾波電路之后接入A/D轉(zhuǎn)換器。圖如下:圖11 A

11、D轉(zhuǎn)換電路圖 U20為AD780,它是基準(zhǔn)電壓芯片。A/D轉(zhuǎn)換器是AD7655,它是一款16位的A/D,它的數(shù)據(jù)口D0-D7、控制端口BUSY、CNVST、IMPULSE、BYTESWAP連接至CPLD。單片機(jī)通過往CPLD寫控制字來(lái)控制A/D的采樣率。 單片機(jī)部分的電路圖如下: 圖12 單片機(jī)部分電路圖五軟件設(shè)計(jì)1. 編程環(huán)境介紹單片機(jī)軟件開發(fā)采用目前比較通用的Keil51開發(fā)軟件完成,該軟件有很多詳細(xì)的應(yīng)用文檔,在此不再贅述。如果不使用硬件仿真器,多數(shù)通用單片機(jī)都無(wú)法實(shí)現(xiàn)在線仿真功能,而本實(shí)驗(yàn)平臺(tái)所用單片機(jī)SST89V564RD可以實(shí)現(xiàn)在線仿真以及程序下載功能,兩者皆可以通過PC機(jī)的標(biāo)準(zhǔn)R

12、S-232串口與Keil51軟件通信實(shí)現(xiàn),其連接示意圖如下圖,本節(jié)主要介紹如何在現(xiàn)有Keil51軟件基礎(chǔ)上實(shí)現(xiàn)上述功能。針對(duì)在線仿真功能,SST公司為方便用戶使用單片機(jī)調(diào)試程序而開發(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助記符Ø 讀寫代碼/數(shù)據(jù)存儲(chǔ)器、FSR特殊功能寄存器及PORT端口Ø IAP(In Application Programming,應(yīng)用

13、中再編程)功能Ø 軟件重啟動(dòng)圖6 計(jì)算機(jī)與實(shí)驗(yàn)平臺(tái)連接示意圖對(duì)于我們本次實(shí)習(xí)的單片機(jī)SST89V564RD,我們用keil C51編程環(huán)境進(jìn)行程序的編寫。keil C51 軟件是眾多單片機(jī)應(yīng)用開發(fā)的優(yōu)秀軟件之一。它集編輯、編譯、仿真于一體,支持匯編、PLM 語(yǔ)言和 C 語(yǔ)言的程序設(shè)計(jì)。界面友好,易學(xué)易用。對(duì)于下載的軟件我們可以直接用keil C51下載。同時(shí)我們也可以在SST軟件的下載頁(yè)面中下載。而且這兩種下載方式都需要程序生成.HEX文件。如下圖所示:圖13而應(yīng)用SoftICE調(diào)試工具進(jìn)行程序在線仿真調(diào)試的過程是這樣的: (1)利用SST Boot-Strap Loader軟件將S

14、oftICE直接下載到單片機(jī)中,重新上電復(fù)位后,單片機(jī)中的SoftICE便可以與Keil51軟件通信以進(jìn)行仿真調(diào)試,下載界面如下 (2)在Keil51軟件上選擇使用的單片機(jī)型號(hào)SST89V564RD; (3)在Keil51軟件的Project下拉菜單中選擇“Options for TargetMonitor51”; (4)在Options for TargetMonitor51窗口的Debug欄中選擇“Use Keil Monitor-51 Driver”,由于每次RESET目標(biāo)板時(shí)用戶代碼區(qū)會(huì)被擦除,如果用戶程序需要在開始時(shí)下載到目標(biāo)板,要勾上“Load Application at Sta

15、rtup”; (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將修改在位置0023H個(gè)字節(jié),要確保用戶程序未占用這些地址; (6)開始調(diào)試,此時(shí)可以根據(jù)Keil51軟件的Debug進(jìn)行程序調(diào)試。通過View下拉菜單的部分選項(xiàng)可以觀察及修改特殊功能寄存器及數(shù)據(jù)存儲(chǔ)器等的內(nèi)容。2.軟件功能需求分析單片機(jī)軟件開發(fā)采用目前比較通用的Keil51開發(fā)

16、軟件完成。如果不使用硬件仿真器,多數(shù)通用單片機(jī)都無(wú)法實(shí)現(xiàn)在線仿真功能,兩者皆可以通過PC機(jī)的標(biāo)準(zhǔn)RS-232串口與Keil51軟件通信實(shí)現(xiàn)。針對(duì)在線仿真功能,SST公司為方便用戶使用單片機(jī)調(diào)試程序而開發(fā)了調(diào)試工具SoftICE(Software In Circuit Emulator,在電路軟件模擬)。該調(diào)試工具可實(shí)現(xiàn)下述功能:(1) 下載INTEL HEX文件;(2)在線調(diào)試及設(shè)置斷點(diǎn),支持匯編語(yǔ)言和C51語(yǔ)言;(3)反匯編代碼區(qū)到8051助記符;(4)讀寫代碼/數(shù)據(jù)存儲(chǔ)器、FSR特殊功能寄存器及PORT端口;(5)IAP(In Application Programming,應(yīng)用中再編程)

17、功能;(6)軟件重啟動(dòng)。利用該調(diào)試工具我們可以很方便的用計(jì)算機(jī)對(duì)MK-4PC智能儀器實(shí)驗(yàn)開發(fā)平臺(tái)進(jìn)行各項(xiàng)試驗(yàn)及實(shí)習(xí)。3.各部分軟件設(shè)計(jì)a軟件的流程圖 開始系統(tǒng)初始化PT100溫度數(shù)據(jù)采集處理讀到的數(shù)據(jù)送LCD顯示結(jié)束 開始初始化函數(shù)A/D轉(zhuǎn)換器進(jìn)行A/D轉(zhuǎn)換將轉(zhuǎn)換后的電壓轉(zhuǎn)換為溫度返回 圖1 系統(tǒng)總流程圖 圖2 溫度轉(zhuǎn)換程序流程圖 開始系統(tǒng)初始化調(diào)用溫度子程序調(diào)用顯示子程序調(diào)用掃描按鍵程序 開始將溫度數(shù)據(jù)寫入到LCD讀取溫度值顯示溫度值返回 圖3 顯示流程圖 圖4 主函數(shù)流程圖b.主程序ADS7841驅(qū)動(dòng)程序#include <iom64v.h>#include <macro

18、s.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 1 選擇為單端輸入/bit2 X 外部MODE接GND,該位無(wú)作用,恒為12位/bit1,0 00 轉(zhuǎn)換期間ADC為掉電模式void port_init(void) PORTA = 0xF

19、F;/將所有端口初始化為輸入,打開上拉 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 char i,array4,table="0123456789" port_init(); /端口初始化 L

20、CD1602_init(); /1602液晶初始化 ads7841_init(); /ADS7841初始化 LCD_write_string(0x80,"result:"); while(1) ads7841_start(); /啟動(dòng)ADS7841,即拉低CS delay_nus(10); result=ads7841_W_R(control_byte); /發(fā)送控制字,并得到轉(zhuǎn)換數(shù)據(jù) result&=0b0000111111111111; /屏蔽掉高四位 delay_nus(10); ads7841_finish(); /停止ADS7841,即拉高CS for(i

21、=0;i<4;i+) /以下均為顯示部分 arrayi=result%10;/ esult/=10; for(i=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 CS PD1#define CS_ddr DDRD#define CS_port PORTD#

22、define CS_pin PIND#define DIN PD2#define DIN_ddr DDRD#define DIN_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 PINDdefine ads7841_start() CS_port&=(1<&

23、lt;CS) /啟運(yùn)ADS7841#define ads7841_finish() CS_port|=(1<<CS) /停止ADS7841void ads7841_init(void);unsigned int ads7841_W_R(unsigned char byte);#endif#include <iom64v.h>#include <macros.h>#include "delay.h"#include "ads7841.h"/* * 函數(shù)名稱:ads7841_init()* * 函數(shù)功能:初始化ADS784

24、1端口* * 備 注:無(wú)*/void ads7841_init(void)DCLK_port&=(1<<DCLK); /時(shí)鐘端初始化為輸出低電平DCLK_ddr|=(1<<DCLK);CS_port|=(1<<CS); /片選端初始化為輸出高電平CS_ddr|=(1<<CS); /即不選中ADS7841DIN_port&=(1<<DIN); /數(shù)據(jù)輸入端初始化為輸出低電平DIN_ddr|=(1<<DIN);BUSY_port|=(1<<BUSY); /忙信號(hào)初始化為輸入,打開上拉BUSY_ddr

25、&=(1<<BUSY);DOUT_port|=(1<<DOUT); /數(shù)據(jù)輸出初始化為輸入,打開上拉DOUT_ddr&=(1<<DOUT);/* * 函數(shù)名稱:ads7841_W_R* * 函數(shù)功能:向ADS7841寫入控制字節(jié),讀出轉(zhuǎn)換好的數(shù)* * 輸入?yún)?shù):unsigned char byte : 控制字節(jié) unsigned int result: AD轉(zhuǎn)換好的數(shù)* * 備 注:數(shù)據(jù)從高位到低位寫入,從高位到低位讀出*/unsigned int ads7841_W_R(unsigned char byte)unsigned char i,

26、temp;unsigned int result=0;for(i=0;i<8;i+) /8位數(shù)據(jù)計(jì)數(shù) DCLK_port&=(1<<DCLK); /拉低時(shí)鐘端 if(byte&0x80) /當(dāng)前位是否是1 DIN_port|=(1<<DIN); /當(dāng)前位是1,拉高數(shù)據(jù)端 else DIN_port&=(1<<DIN); /當(dāng)前位是0,拉低數(shù)據(jù)端 delay_nus(10); /調(diào)整時(shí)鐘和脈沖寬度 DCLK_port|=(1<<DCLK); /時(shí)鐘上升沿 delay_nus(10); byte<<=1; /

27、數(shù)據(jù)左移1位,為送出新數(shù)據(jù)位做準(zhǔn)備 delay_nus(10);DCLK_port&=(1<<DCLK); /拉低時(shí)鐘端delay_nus(10);i=BUSY_pin; /讀BUSY的狀態(tài)delay_nus(10);if(i&(1<<BUSY) /如果為高則說明轉(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<<DCL

28、K); /拉低時(shí)鐘端 elay_nus(10); if(DOUT_pin&(1<<DOUT) result|=0x01; else result&=0xfe; /-以下讀出低四位- for(i=1;i<=4;i+) temp<<=1; /保存讀入的數(shù)據(jù)位 DCLK_port|=(1<<DCLK); /時(shí)鐘上升沿 delay_nus(10); DCLK_port&=(1<<DCLK); /拉低時(shí)鐘端 delay_nus(10); if(DOUT_pin&(1<<DOUT) temp|=0x01; e

29、lse temp&=0xfe; for(i=1;i<=4;i+) /再給ADS7841四個(gè)時(shí)鐘 DCLK_port|=(1<<DCLK); /時(shí)鐘上升沿 delay_nus(10); /調(diào)整時(shí)鐘和脈沖寬度 DCLK_port&=(1<<DCLK); /拉低時(shí)鐘端 delay_nus(10); /調(diào)整時(shí)鐘和脈沖寬度 result=(result<<4)+temp; /將結(jié)果合成,返回return result;LCD驅(qū)動(dòng)程序lcdwc(GYPOS&0x1f)|0x80); /先送Y地址 if(GYPOS>=32) /再送X地

30、址 lcdwc(GXPOS/16+8)|0x80); else lcdwc(GXPOS/16)|0x80); lcdwc(0x30); /恢復(fù)為基本指令集void lcdon(void) /LCD顯示開啟子程序 lcdwc(0x30); /設(shè)置為基本指令集 lcdwc(0x0c);void lcdoff(void) /LCD顯示關(guān)閉子程序 lcdwc(0x30); /設(shè)置為基本指令集 lcdwc(0x08);void lcdgraphon(void) /繪圖區(qū)域顯示開啟子程序 lcdwc(0x36); lcdwc(0x30); /恢復(fù)為基本指令集void lcdgraphoff(void) /

31、繪圖區(qū)域顯示關(guān)閉子程序 lcdwc(0x34); lcdwc(0x30); /恢復(fù)為基本指令集void lcdwd(unsigned char d) /向液晶顯示控制器寫數(shù)據(jù) CSPIN=1; /片選使能 transbyte(0xfa); /SYNCODE=0F8H,RW=0,RS=1,D0=0 transbyte(d&0xf0); /送高四位數(shù)據(jù),低四位補(bǔ)零 transbyte(d&0x0f)<<4); /送低四位數(shù)據(jù) CSPIN=0; /片選禁止void lcdwc(unsigned char c) /向液晶顯示控制器送指令 CSPIN=1; /片選使能 transbyte(0xf8); /SYNCOD

溫馨提示

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

評(píng)論

0/150

提交評(píng)論