基于數(shù)字溫度傳感器的數(shù)字溫度計(jì)、(完整資料)_第1頁
基于數(shù)字溫度傳感器的數(shù)字溫度計(jì)、(完整資料)_第2頁
基于數(shù)字溫度傳感器的數(shù)字溫度計(jì)、(完整資料)_第3頁
基于數(shù)字溫度傳感器的數(shù)字溫度計(jì)、(完整資料)_第4頁
基于數(shù)字溫度傳感器的數(shù)字溫度計(jì)、(完整資料)_第5頁
已閱讀5頁,還剩89頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

基于數(shù)字溫度傳感器的數(shù)字溫度計(jì)、(完整資料)(可以直接使用,可編輯優(yōu)秀版資料,歡迎下載)

2014~2015學(xué)年第2學(xué)期基于數(shù)字溫度傳感器的數(shù)字溫度計(jì)、(完整資料)(可以直接使用,可編輯優(yōu)秀版資料,歡迎下載)《單片機(jī)應(yīng)用技術(shù)》課程設(shè)計(jì)報(bào)告題目:基于數(shù)字溫度傳感器的數(shù)字溫度計(jì)的設(shè)計(jì)專業(yè):自動(dòng)化班級(jí):12自動(dòng)化1姓名:陳宗國朱海峰王疏華袁繼康指導(dǎo)教師:陸媛宋洪儒電氣工程學(xué)院年月日任務(wù)書課題名稱基于數(shù)字溫度傳感器的數(shù)字溫度計(jì)的設(shè)計(jì)指導(dǎo)教師(職稱)陸媛宋洪儒執(zhí)行時(shí)間2014~2015學(xué)年第2學(xué)期第11周學(xué)生姓名學(xué)號(hào)承擔(dān)任務(wù)陳宗國1209111005課程設(shè)計(jì)前期資料收集及查找王疏華1209111046Proteus及keil軟件安裝及元器件名稱熟悉袁繼康1209111059Proteus電路圖設(shè)計(jì),keil程序編寫及驗(yàn)證仿真朱海峰1209111068課程設(shè)計(jì)后期整理設(shè)計(jì)目的1、進(jìn)一步熟悉和掌握單片機(jī)的結(jié)構(gòu)及工作原理.2、掌握單片機(jī)的接口技術(shù)及相關(guān)外圍芯片的外特性,控制方法。3、通過課程設(shè)計(jì),掌握以單片機(jī)核心的電路設(shè)計(jì)的基本方法和技術(shù),了解有關(guān)電路參數(shù)的計(jì)算方法。4、通過程序設(shè)計(jì)和仿真,逐步掌握模塊化程序設(shè)計(jì)方法和仿真軟件的使用.5、通過完成一個(gè)包括電路設(shè)計(jì)和程序開發(fā)的完整過程,使學(xué)生了解開發(fā)單片機(jī)應(yīng)用系統(tǒng)的全過程,為今后從事相應(yīng)打下基礎(chǔ).設(shè)計(jì)要求利用數(shù)字溫度傳感器DS18B20與單片機(jī)結(jié)合來測量溫度。利用數(shù)字溫度傳感器DS18B20測量溫度信號(hào),計(jì)算后在LED數(shù)碼管上顯示相應(yīng)的溫度值.其溫度測量范圍為?55℃~125℃,精確到0。5℃。數(shù)字溫度計(jì)所測量的溫度采用數(shù)字顯示,控制器使用單片機(jī)AT89C51,測溫傳感器使用DS18B20,用LED數(shù)碼管實(shí)現(xiàn)溫度顯示.課程設(shè)計(jì)摘要一、課程設(shè)計(jì)摘要:DS18B20是一種可組網(wǎng)的高精度數(shù)字式溫度傳感器,由于其具有單總線的獨(dú)特優(yōu)點(diǎn),可以使用戶輕松地組建起傳感器網(wǎng)絡(luò),并可使多點(diǎn)溫度測量電路變得簡單、可靠。本文結(jié)合實(shí)際使用經(jīng)驗(yàn),介紹了DS18B20數(shù)字溫度傳感器在單片機(jī)下的硬件連接及軟件編程,并給出了軟件流程圖.該系統(tǒng)由上位機(jī)和下位機(jī)兩大部分組成.下位機(jī)實(shí)現(xiàn)溫度的檢測并提供標(biāo)準(zhǔn)RS232通信接口,芯片使用了ATMEL公司的AT89C51單片機(jī)和DALLAS公司的DS18B20數(shù)字溫度傳感器。上位機(jī)部分使用了通用PC。該系統(tǒng)可應(yīng)用于倉庫測溫、樓宇空調(diào)控制和生產(chǎn)過程監(jiān)控等領(lǐng)域。二、關(guān)鍵字:單片機(jī)溫度測量DS18B20數(shù)字溫度傳感器AT89S51目錄TOC\o”1—3”\h\z\u_Toc135835881"1.2總體設(shè)計(jì)框圖理介紹4HYPERLINK\l”_Toc135835875”1。3主控部分4HYPERLINK\l”_Toc135835881"1。4DS18B20數(shù)字溫度傳感器5第二章硬件設(shè)計(jì)82。1單片機(jī)系統(tǒng)8HYPERLINK\l”_Toc135835878”2。2溫度測試電路8_Toc135835880”2.4整體電路設(shè)計(jì)14第三章軟件設(shè)計(jì)15HYPERLINK\l”_Toc135835884”3。1程序流程圖153。3溫度轉(zhuǎn)換子程序16HYPERLINK\l”_Toc135835887”3.4計(jì)算溫度子程序17HYPERLINK\l”_Toc135835888”3。5顯示數(shù)據(jù)刷新子程序18HYPERLINK\l”_Toc135835889”第四章總結(jié)19參考資料20第一章原理介紹1.1總體設(shè)計(jì)方案總體設(shè)計(jì)方案采用AT89C51單片機(jī)作控制器,溫度傳感器選用DS18B20來設(shè)計(jì)數(shù)字溫度計(jì),系統(tǒng)由3個(gè)模塊組成:主控制器、測溫電路及顯示電路。主控制器由單片機(jī)AT89C51實(shí)現(xiàn),測溫電路由溫度傳感器DS18B20實(shí)現(xiàn),顯示電路由4位LED數(shù)碼管直讀顯示。本設(shè)計(jì)所介紹的數(shù)字溫度計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測溫范圍廣,測溫準(zhǔn)確其輸出溫度采用數(shù)字顯示,主要用于對測溫比較準(zhǔn)確的場所,或科研實(shí)驗(yàn)室使用,該設(shè)計(jì)控制器使用單片機(jī)AT89C51,測溫傳感器使用DS18B20,用4位共陽極LED數(shù)碼管以串口傳送數(shù)據(jù),實(shí)現(xiàn)溫度顯示,能準(zhǔn)確達(dá)到以上要求。1.2總體設(shè)計(jì)框圖控制器采用單片機(jī)AT89C51,溫度傳感器采用DS18B20,用4位LED數(shù)碼管顯示溫度。總體設(shè)計(jì)框圖如圖1—1所示。LED顯示單片機(jī)復(fù)位LED顯示單片機(jī)復(fù)位主控電路時(shí)鐘振蕩溫度傳感器時(shí)鐘振蕩溫度傳感器1。3主控制部分本設(shè)計(jì)采用AT89C51八位單片機(jī)實(shí)現(xiàn).單片機(jī)軟件編程的自由度大,可通過編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制.而且體積小,硬件實(shí)現(xiàn)簡單,安裝方便。既可以單獨(dú)對多DS18B20控制工作,還可以與PC機(jī)通信。運(yùn)用主從分布式思想,由一臺(tái)上位機(jī)(PC微型計(jì)算機(jī)),下位機(jī)(單片機(jī))多點(diǎn)溫度數(shù)據(jù)采集,組成兩級(jí)分布式多點(diǎn)溫度測量的巡回檢測系統(tǒng),實(shí)現(xiàn)遠(yuǎn)程控制。另外AT89C51在工業(yè)控制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都很成熟。系統(tǒng)采用針對傳統(tǒng)溫度測溫系統(tǒng)測溫點(diǎn)少,系統(tǒng)兼容性及擴(kuò)展性較差的特點(diǎn),運(yùn)用分布式通訊的思想。設(shè)計(jì)一種可以用于大規(guī)模多點(diǎn)溫度測量的巡回檢測系統(tǒng)。該系統(tǒng)采用的是RS—232串行通訊的標(biāo)準(zhǔn),通過下位機(jī)(單片機(jī))進(jìn)行現(xiàn)場的溫度采集,溫度數(shù)據(jù)既可以由下位機(jī)模塊實(shí)時(shí)顯示,也可以送回上位機(jī)進(jìn)行數(shù)據(jù)處理,具有巡檢速度快,擴(kuò)展性好,成本低的特點(diǎn).1.4DS18B20數(shù)字溫度傳感器美國Dallas半導(dǎo)體公司的數(shù)字化溫度傳感器DS18B20是支持"一線總線"接口的溫度傳感器,在其內(nèi)部使用了在板(ON—B0ARD)專利技術(shù)。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念?,F(xiàn)在,新一代的DS18B20體積更小、更經(jīng)濟(jì)、更靈活.使你可以充分發(fā)揮“一線總線”的優(yōu)點(diǎn)。DS18B20支持”一線總線"接口,測量溫度范圍為—55°C~+125°C,在-10~+85°C范圍內(nèi),精度為±0.5°C。DS1822的精度較差為±2°C.現(xiàn)場溫度直接以"一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設(shè)備或過程控制、測溫類消費(fèi)電子產(chǎn)品等。與前一代產(chǎn)品不同,新的產(chǎn)品支持3V~5。5V的電壓范圍,使系統(tǒng)設(shè)計(jì)更靈活、方便。而且新一代產(chǎn)品更便宜,體積更小。DS18B20的主要特性:(1)適應(yīng)電壓范圍更寬,電壓范圍:3。0~5.5V,在寄生電源方式下可由數(shù)據(jù)線供電(2)獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊(3)DS18B20支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測溫(4)DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)(5)溫范圍-55℃~+125℃,在-10~+85℃時(shí)精度為±0。5℃(6)可編程的分辨率為9~12位,對應(yīng)的可分辨溫度分別為0.5℃、0。25℃、0.125℃和0。0625℃,可實(shí)現(xiàn)高精度測溫(7)在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快(8)測量結(jié)果直接輸出數(shù)字溫度信號(hào),以”一線總線”串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力(9)負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。圖1—4DS18B20型號(hào)數(shù)字溫度傳感器DS18B20有兩種供電接法,圖1—2采用的是接入外部電源。這樣做的好處是I/O線上不需要加強(qiáng)上拉,而且總線控制器用在溫度轉(zhuǎn)換期間總保持高電平。這樣在轉(zhuǎn)換期間可以允許在單線總線上進(jìn)行其他數(shù)據(jù)的往來。另外,在單總線上可以掛任意多片DS18B20,而且如果它們都使用外部電源的話,就可以先發(fā)一個(gè)SkipROM命令,再接一個(gè)ConvertT命令,讓它們同時(shí)進(jìn)行溫度轉(zhuǎn)換。注意當(dāng)加上外部電源時(shí),GND引腳不能懸空。第二章硬件設(shè)計(jì)2.1單片機(jī)系統(tǒng)方案采用AT89S52單片機(jī)作為控制器,完成所有的控制功能,包括:溫度傳感器DS18B20的初始化和讀取溫度值LED顯示溫度存儲(chǔ)及讀取單片機(jī)系統(tǒng)的電路如圖2—1。圖2-1-a89C51的核心電路框圖2。2溫度測試電路這里我們用到溫度芯片DS18B20.DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有3引腳TO-92小體積封裝形式。測溫分辨率可達(dá)0。0625℃,被測溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出。其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生。CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。DS18B20支持“一線總線”接口,測量溫度范圍為-55至+125℃,在—10至+85℃范圍內(nèi),精度為0.5C?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設(shè)備或過程控制、測溫類消費(fèi)電子產(chǎn)品等。圖2-2DS18B20內(nèi)部結(jié)構(gòu)圖圖2-2DS18B20內(nèi)部結(jié)構(gòu)圖圖2-3圖2-3硬件連接電路圖本系統(tǒng)是基于DS18B20溫度芯片的溫度測試。DS18B20采用外部供電方式,理論上可以在一根數(shù)據(jù)總線上掛256個(gè)DS18B20,但時(shí)間應(yīng)用中發(fā)現(xiàn),如果掛接25個(gè)以上的DS18B20仍舊有可能產(chǎn)生功耗問題。另外單總線長度也不宜超過80M,否則也會(huì)影響到數(shù)據(jù)的傳輸.在這種情況下我們可以采用分組的方式,用單片機(jī)的多個(gè)I/O來驅(qū)動(dòng)多路DS18B20。在實(shí)際應(yīng)用中還可以使用一個(gè)MOSFET將I/O口線直接和電源相連,起到上拉的作用。對DS18B20的設(shè)計(jì),需要注意以下問題:(1)對硬件結(jié)構(gòu)簡單的單線數(shù)字溫度傳感器DS18B20進(jìn)行操作,需要用較為復(fù)雜的程序完成。編制程序時(shí)必須嚴(yán)格按芯片數(shù)據(jù)手冊提供的有關(guān)操作順序進(jìn)行,讀、寫時(shí)間片程序要嚴(yán)格按要求編寫。尤其在使用DS18B20的高測溫分辨力時(shí),對時(shí)序及電氣特性參數(shù)要求更高.(2)有多個(gè)測溫點(diǎn)時(shí),應(yīng)考慮系統(tǒng)能實(shí)現(xiàn)傳感器出錯(cuò)自動(dòng)指示,進(jìn)行自動(dòng)DS18B20序列號(hào)和自動(dòng)排序,以減少調(diào)試和維護(hù)工作量。(3)測溫電纜線建議采用屏蔽4芯雙絞線,其中一對線接地線與信號(hào)線,另一組接VCC和地線,屏蔽層在源端單點(diǎn)接地。DS18B20在三線制應(yīng)用時(shí),應(yīng)將其三線焊接牢固;在兩線應(yīng)用時(shí),應(yīng)將VCC與GND接在一起,焊接牢固。若VCC脫開未接,傳感器只送85。0℃的溫度值。(4)實(shí)際應(yīng)用時(shí),要注意單線的驅(qū)動(dòng)能力,不能掛接過多的DS18B20,同時(shí)還應(yīng)注意最遠(yuǎn)接線距離。另外還應(yīng)根據(jù)實(shí)際情況選擇其接線拓?fù)浣Y(jié)構(gòu)。2.3顯示電路本設(shè)計(jì)用LED數(shù)碼管顯示溫度值,且為共陽極。LED是由多個(gè)發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個(gè)筆劃,公共電極。LED數(shù)碼管常用段數(shù)一般為7段有的另加一個(gè)小數(shù)點(diǎn),共陽極數(shù)碼管的內(nèi)部電路如圖所示,下面將介紹常用LED數(shù)碼管內(nèi)部引腳圖。圖1這是一個(gè)7段兩位帶小數(shù)點(diǎn)10引腳的LED數(shù)碼管圖2-3—a7SEG–COM–ANODE型號(hào)數(shù)碼管每一筆劃都是對應(yīng)一個(gè)字母表示DP是小數(shù)點(diǎn).

數(shù)碼管分為共陽極的LED數(shù)碼管、共陰極的LED數(shù)碼管兩種。LED數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)位,因此根據(jù)LED數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。

一、靜態(tài)顯示驅(qū)動(dòng):靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二—十進(jìn)位轉(zhuǎn)換器進(jìn)行驅(qū)動(dòng).靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡單,顯示亮度高,缺點(diǎn)是占用I/O口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O口來驅(qū)動(dòng),要知道一個(gè)89S51單片機(jī)可用的I/O口才32個(gè)呢。故實(shí)際應(yīng)用時(shí)必須增加驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬體電路的復(fù)雜性.

二、動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示介面是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃”a,b,c,d,e,f,g,dp”的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對位元選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮.

透過分時(shí)輪流控制各個(gè)LED數(shù)碼管的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極體的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示資料,不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O口,而且功耗更低。2.4總體電路設(shè)計(jì)總電路的設(shè)計(jì)是基于單片機(jī)的基本電路,DS18B20數(shù)字溫度傳感器和LED顯示與其簡單連接構(gòu)成。總體連接如圖所示。2-4-aProteus電路仿真電路圖第三章軟件設(shè)計(jì)(一)、概述整個(gè)系統(tǒng)的功能是由硬件電路配合軟件來實(shí)現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就基本定下來了.從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序),它是整個(gè)控制系統(tǒng)的核心,專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系.二是執(zhí)行軟件(子程序),它是用來完成各種實(shí)質(zhì)性的功能如測量、計(jì)算、顯示、通訊等。每一個(gè)執(zhí)行軟件也就是一個(gè)小的功能執(zhí)行模塊.這里將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義.各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。首先要根據(jù)系統(tǒng)的總體功能選擇一種最合適的監(jiān)控程序結(jié)構(gòu),然后根據(jù)實(shí)時(shí)性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關(guān)系。(二)、主程序模塊主程序需要調(diào)用2個(gè)子程序,分別為數(shù)碼管顯示程序,溫度測試及處理子程序,報(bào)警子程序,中斷設(shè)定子程序。各模塊程序功能如下:●數(shù)碼管顯示程序:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分?!駵囟葴y試及處理程序:對溫度芯片送過來的數(shù)據(jù)進(jìn)行處理,進(jìn)行判斷和顯示。系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計(jì)算溫度子程序,顯示數(shù)據(jù)刷新子程序等。3.1主程序流程圖主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測量的當(dāng)前溫度值,溫度測量每1s進(jìn)行一次。這樣可以在一秒之內(nèi)測量一次被測溫度,其程序流程見圖3。1所示:初始化初始化調(diào)用顯示子程序1S到?初次上電讀出溫度值溫度計(jì)算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開始命令NYNY圖3.1主程序流程圖3。2讀出溫度子程序流程圖讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時(shí)需進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫.其程序流程圖如圖3。2所示:YY發(fā)DS18B20復(fù)位命令發(fā)跳過ROM命令發(fā)讀取溫度命令讀取操作,CRC校驗(yàn)9字節(jié)完?CRC校驗(yàn)正?確?移入溫度暫存器結(jié)束NNY圖3.2溫度子程序流程圖3.3溫度轉(zhuǎn)換命令子程序流程圖溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用12位分辨率時(shí)轉(zhuǎn)換時(shí)間約為750ms,在本程序設(shè)計(jì)中采用1s顯示程序延時(shí)法等待轉(zhuǎn)換的完成.溫度轉(zhuǎn)換命令子程序流程圖如上圖,圖3.3所示:發(fā)DS18B20復(fù)位命令發(fā)DS18B20復(fù)位命令發(fā)跳過ROM命令發(fā)溫度轉(zhuǎn)換開始命令結(jié)束圖3。3溫度轉(zhuǎn)換命令子程序流程圖3。4計(jì)算溫度子程序流程圖計(jì)算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖3。4所示:開始溫度零下開始溫度零下?溫度值取補(bǔ)碼置“—”標(biāo)志計(jì)算小數(shù)位溫度BCD值計(jì)算整數(shù)位溫度BCD值結(jié)束置“+”標(biāo)志NY圖3。4溫度子程序流程圖3.5顯示數(shù)據(jù)刷新子程序流程圖顯示數(shù)據(jù)刷新子程序主要是對顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高顯示位為0時(shí)將符號(hào)顯示位移入下一位。程序流程圖如圖3.5所示:溫度數(shù)據(jù)移入顯示寄存器十位數(shù)0?百位數(shù)0?十位數(shù)顯示符號(hào)百位數(shù)不顯示百位數(shù)顯示數(shù)據(jù)(不顯示符號(hào))結(jié)束NNYY溫度數(shù)據(jù)移入顯示寄存器十位數(shù)0?百位數(shù)0?十位數(shù)顯示符號(hào)百位數(shù)不顯示百位數(shù)顯示數(shù)據(jù)(不顯示符號(hào))結(jié)束NNYY圖3.5顯示數(shù)據(jù)刷新子程序流程圖第四章總結(jié)總結(jié):本次課設(shè)的任務(wù)是采用AT89C2051單片機(jī)作控制器,溫度傳感器選用DS18B20來設(shè)計(jì)數(shù)字溫度計(jì),系統(tǒng)由3個(gè)模塊組成:主控制器、測溫電路及顯示電路.主控制器由單片AT89C2051實(shí)現(xiàn),測溫電路由溫度傳感器DS18B20實(shí)現(xiàn),顯示電路由4位LED數(shù)碼管直讀顯示.通過本次課設(shè)使我學(xué)會(huì)了很多東西,通過自己找材料,向老師答疑,與同學(xué)討論,自己修改,研究,最終完成本次課設(shè)。在這個(gè)過程中,不但使我對單片機(jī)課程所學(xué)的知識(shí)有了更深入的了解,而且還培養(yǎng)了我的自學(xué)能力.有些不懂的問題通過向老師請教得到解決,使我受益匪淺。課設(shè)的過程是艱辛的,但是收獲是巨大的。首先,我再一次的加深鞏固了對已有的知識(shí)的理解及認(rèn)識(shí);其次,我第一次將課本知識(shí)運(yùn)用到了實(shí)際設(shè)計(jì),使得所學(xué)知識(shí)在更深的層次上得到了加深。再次,因?yàn)檫@次課程設(shè)計(jì)的確在某些方面存有一定難度,這對我來講都是一種鍛煉,培養(yǎng)了我自學(xué)、查閱搜集資料的能力;再有,計(jì)算操作工程中,我們曾經(jīng)面臨過失敗、品味過茫然,但是最終我還是堅(jiān)持下來了,這就是我意志、耐力和新年上的勝利,在今后的日子里,它必將成為我的寶貴財(cái)富。參考文獻(xiàn)[1]張毅剛。單片機(jī)原理及應(yīng)用。北京。高等教育出版社,2010[2]李光飛。單片機(jī)C程序設(shè)計(jì)實(shí)例指導(dǎo).北京.北京航空航天大學(xué)出版社,2005[3]劉文濤.單片機(jī)語言C51典型應(yīng)用及設(shè)計(jì)。北京。人民郵電出版社[4]DALLAS公司.DS18B20數(shù)據(jù)手冊[Z]。[5]余永權(quán).ATMEL89系列單片機(jī)應(yīng)用技術(shù)[M].(第三版)。北京:北京航空航天大學(xué)出版社,2002.答辯記錄及評分表課題名稱基于數(shù)字溫度傳感器的數(shù)字溫度計(jì)的設(shè)計(jì)答辯教師(職稱)陸媛宋洪儒答辯時(shí)間2014~2015學(xué)年第2學(xué)期第11周答辯記錄問;硬件電路中數(shù)碼管的顯示內(nèi)容及原理?答;通過AT89C51型號(hào)單片機(jī),由P1和P2兩組I/O引腳分別控制兩個(gè)7SEG–COM–ANODE型號(hào)數(shù)碼管,分十位控制和個(gè)位控制,達(dá)到顯示60秒倒計(jì)時(shí)的目的。問;數(shù)碼管使用的電流與電壓?答;靜態(tài)時(shí),推薦使用10—15mA;動(dòng)態(tài)時(shí),16/1動(dòng)態(tài)掃描時(shí),平均電流為4—5mA,峰值電流50-60mA.問;AT89C51芯片的概述?答;AT89C51是一個(gè)低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4kBytesISP(In-systemprogrammable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISPFlash存儲(chǔ)單元。評分表學(xué)生姓名學(xué)號(hào)評分陳宗國1209111005王疏華1209111046袁繼康1209111059朱海峰1209111068基于FPGA的數(shù)字溫度設(shè)計(jì)摘要:本設(shè)計(jì)有效的克服了傳統(tǒng)的數(shù)字溫度計(jì)的缺點(diǎn),采用EDA技術(shù)自上而下的設(shè)計(jì)思路,繪制出了具體的邏輯電路,最后又在硬件上通過對其進(jìn)行調(diào)試和驗(yàn)證?;贔PGA在QuartusII9。0sp2軟件下應(yīng)用VHDL語言編寫程序,采用ALTRA公司CycloneII系列的EP2C8Q208芯片進(jìn)行了計(jì)算機(jī)仿真,并給出了相應(yīng)的仿真結(jié)果。該電路能夠?qū)崿F(xiàn)很好的測溫功能。關(guān)鍵字:數(shù)字溫度計(jì);EDA;FPGA;VHDL;QuartusII9。0sp2;EP2C8Q208ThedesignofdigitalthermometerbasedonFPGAAbstract:

Thisdesigneffectivelyovercomesthetraditionaldigitalthermometer’sweaknessesandtakesatop—downapproachtodesign。Drawoutaparticularlogiccircuits,andfinallypassthecircuitstothehardwaretodebugandverifyit。ThisdesignisbasedonFPGAusingVHDLlanguagetowriteprograminQuartusIIsoftware,adoptingEP2C8Q208chipofCyclone—IIseriesofALTRAcompanyforcomputersimulationandatthesametimeshowingthecorrespondingsimulationresult。Thiscircuitisabletocarryoutexcellenttemperature—measurementfunction.KeyWo(hù)rds:Digitalthermometer;EDA;FPGA;VHDL;QuartusII;EP2C8Q208引言檢測是控制的基礎(chǔ)和前提,而檢測的精度必須高于控制的精確度,否則無從實(shí)現(xiàn)控制的精度要求。不僅如此,檢測還涉及國計(jì)民生各個(gè)部門,可以說在所以科學(xué)技術(shù)領(lǐng)域無時(shí)不在進(jìn)行檢測??茖W(xué)技術(shù)的發(fā)展和檢測技術(shù)的發(fā)展是密切相關(guān)的.現(xiàn)代化的檢測手段能達(dá)到的精度、靈敏度及測量范圍等,在很大程度上決定了科學(xué)技術(shù)的發(fā)展水平。同時(shí),科學(xué)技術(shù)的發(fā)展達(dá)到的水平越高,又為檢測技術(shù)、傳感器技術(shù)提供了新的前提手段.目前溫度計(jì)技術(shù)的發(fā)展很快,從原始的玻璃管溫度計(jì)發(fā)展到了現(xiàn)在的熱電阻溫度計(jì)、熱電偶溫度計(jì)、數(shù)字溫度計(jì)、電子溫度計(jì)等等。目前的溫度計(jì)中傳感器是它的重要組成部分,它的精度靈敏度基本決定了溫度計(jì)的精度、測量范圍、控制范圍和用途等[1].傳感器應(yīng)用極其廣泛,目前已經(jīng)研制出多種新型傳感器。1.設(shè)計(jì)要求現(xiàn)代社會(huì)的標(biāo)志之一就是信息產(chǎn)品的廣泛使用,而且是產(chǎn)品的性能越來越強(qiáng),復(fù)雜程度越來越高,更新步伐越來越快。支撐信息電子產(chǎn)品高速發(fā)展的基礎(chǔ)就是微電子制造工藝水平的提高和電子產(chǎn)品設(shè)計(jì)開發(fā)技術(shù)的發(fā)展。前者以微細(xì)加工技術(shù)為代表,而后者的代表就是電子設(shè)計(jì)自動(dòng)化(electronicdesignautomatic,EDA)技術(shù)[5]。本設(shè)計(jì)采用的VHDL是一種全方位的硬件描述語言,具有極強(qiáng)的描述能力,能支持系統(tǒng)行為級(jí)、寄存器傳輸級(jí)和邏輯門級(jí)三個(gè)不同層次的設(shè)計(jì);支持結(jié)構(gòu)、數(shù)據(jù)流、行為三種描述形式的混合描述、覆蓋面廣、抽象能力強(qiáng),因此在實(shí)際應(yīng)用中越來越廣泛。ASIC是專用的系統(tǒng)集成電路,是一種帶有邏輯處理的加速處理器。而FPGA是特殊的ASIC芯片,與其他的ASIC芯片相比,它具有設(shè)計(jì)開發(fā)周期短、設(shè)計(jì)制造成本低、開發(fā)工具先進(jìn)、標(biāo)準(zhǔn)產(chǎn)品無需測試、質(zhì)量穩(wěn)定以及可實(shí)時(shí)在線檢測等優(yōu)點(diǎn)[2]。溫度的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便。因此,研究數(shù)字溫度計(jì)及其應(yīng)用,有著非?,F(xiàn)實(shí)的意義.1。1選題背景本節(jié)將從FPGA嵌入式應(yīng)用開發(fā)技術(shù)與溫度計(jì)發(fā)展的客觀實(shí)際出發(fā),通過對該技術(shù)發(fā)展?fàn)顩r的了解,以及課題本身的需要,指出研究基于FPGA的芯片系統(tǒng)與設(shè)計(jì)——數(shù)字溫度計(jì)的設(shè)計(jì)與實(shí)現(xiàn)的必要性[3]。課題相關(guān)技術(shù)的發(fā)展當(dāng)今電子產(chǎn)品正向功能多元化,體積最小化,功耗最低化的方向發(fā)展。它與傳統(tǒng)的電子產(chǎn)品在設(shè)計(jì)上的顯著區(qū)別師大量使用大規(guī)??删幊踢壿嬈骷巩a(chǎn)品的性能提高,體積縮小,功耗降低。同時(shí)廣泛運(yùn)用現(xiàn)代計(jì)算機(jī)技術(shù),提高產(chǎn)品的自動(dòng)化程度和競爭力,縮短研發(fā)周期.EDA技術(shù)正是為了適應(yīng)現(xiàn)代電子技術(shù)的要求,吸收眾多學(xué)科最新科技成果而形成的一門新技術(shù)。美國ALTERA公司的可編程邏輯器件采用全新的結(jié)構(gòu)和先進(jìn)的技術(shù),加上MaxplusII(或最新的QUARTUS)開發(fā)環(huán)境,更具有高性能,開發(fā)周期短等特點(diǎn),十分方便進(jìn)行電子產(chǎn)品的開發(fā)和設(shè)計(jì)[4].EDA技術(shù)以大規(guī)??删幊踢壿嬈骷樵O(shè)計(jì)載體,以硬件描述語言為系統(tǒng)邏輯描述主要表達(dá)方式,以計(jì)算機(jī)、大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實(shí)驗(yàn)開發(fā)系統(tǒng)為設(shè)計(jì)工具,通過有關(guān)的開發(fā)軟件,自動(dòng)完成用軟件的方式設(shè)計(jì)的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯,邏輯化簡,邏輯分割,邏輯映射,編程下載等工作.最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T新技術(shù)[5]。1.1。2課題研究的必要性新產(chǎn)品、新技術(shù)層出不窮,電子技術(shù)的發(fā)展更是日新月異.可以毫不夸張的說,電子技術(shù)的應(yīng)用無處不在,電子技術(shù)正在不斷地改變我們的生活,改變著我們的世界。近些年,隨著科技的發(fā)展和社會(huì)的進(jìn)步,人們對溫度計(jì)的要求也越來越高,不管在哪里,人們都想知道此刻的溫度和天氣狀況等一些信息,傳統(tǒng)的溫度計(jì)由于它的局限性以及不方便性,已不能滿足人們的需求。溫度計(jì)亟待一次革命,不管在性能還是在樣式上它都將發(fā)生質(zhì)的變化,于是數(shù)字溫度計(jì)的時(shí)代悄然來臨了。1。2課題研究的內(nèi)容本設(shè)計(jì)主要研究基于FPGA的數(shù)字溫度計(jì)設(shè)計(jì),要求溫度采集準(zhǔn)確精確,精確度達(dá)到0.0625攝氏度,對溫度的采集由4×1矩形鍵盤進(jìn)行控制.2。FPGA簡介2。1FPGA概述FPGA是現(xiàn)場可編程門陣列(FieldProgrammableGateArray)的簡稱,與之相應(yīng)的CPLD是復(fù)雜可編程邏輯器件(ComplexProgrammableLogicDevice)的簡稱,兩者的功能基本相同,只是實(shí)現(xiàn)原理略有不同,所以有時(shí)可以忽略這兩者的區(qū)別,統(tǒng)稱為可編程邏輯器件或CPLD/PGFA。CPLD/PGFA幾乎能完成任何數(shù)字器件的功能,上至高性能CPU,下至簡單的74電路。它如同一張白紙或是一堆積木,工程師可以通過傳統(tǒng)的原理圖輸入或硬件描述語言自由的設(shè)計(jì)一個(gè)數(shù)字系統(tǒng).通過軟件仿真可以事先驗(yàn)證設(shè)計(jì)的正確性,在PCB完成以后,利用CPLD/FPGA的在線修改功能,隨時(shí)修改設(shè)計(jì)而不必改動(dòng)硬件電路。使用CPLA/FPGA開發(fā)數(shù)字電路,可以大大縮短設(shè)計(jì)時(shí)間,減少PCB面積,提高系統(tǒng)的可靠性。這些優(yōu)點(diǎn)使得CPLA/FPGA技術(shù)在20世紀(jì)90年代以后得到飛速的發(fā)展,同時(shí)也大大推動(dòng)了EDA軟件和硬件描述語言HDL的進(jìn)步[4]。2.2FPGA基本結(jié)構(gòu)FPGA具有掩膜可編程門陣列的通用結(jié)構(gòu),它由邏輯功能塊排成陣列,并由可編程的互連資源連接這些邏輯功能塊來實(shí)現(xiàn)不同的設(shè)計(jì)。FPGA一般由3種可編程電路和一個(gè)用于存放編程數(shù)據(jù)的靜態(tài)存儲(chǔ)器SRAM組成。這3種可編程電路是:可編程邏輯模塊、輸入/輸出模塊(IOB--I/OBlock)和互連資源??删幊踢壿嬆KCLB是實(shí)現(xiàn)邏輯功能的基本單元,它們通常規(guī)則的排列成一個(gè)陣列,散布于整個(gè)芯片;可編程輸入/輸出模塊(IOB)主要完成芯片上的邏輯與外部封裝腳的接口,它通常排列在芯片的四周;可編程互連資源包括各種長度的連接線段和一些可編程連接開關(guān),它們將各個(gè)CLB之間或CLB、IOB之間以及IOB之間連接起來,構(gòu)成特定功能的電路。(1)CLB是FPGA的主要組成部分.圖2-1是CLB基本結(jié)構(gòu)框圖,它主要由邏輯函數(shù)發(fā)生器、觸發(fā)器、數(shù)據(jù)選擇器等電路組成。CLB中3個(gè)邏輯函數(shù)發(fā)生器分別是G、F和H,相應(yīng)的輸出是G’、F’和H’。G有4個(gè)輸入變量G1、G2、G3和G4;F也有4個(gè)輸入變量F1、F2、F3和F4。這兩個(gè)函數(shù)發(fā)生器是完全獨(dú)立的,均可以實(shí)現(xiàn)4輸入變量的任意組合邏輯函數(shù)。邏輯函數(shù)發(fā)生器H有3個(gè)輸入信號(hào);前兩個(gè)是函數(shù)發(fā)生器的輸出G’和F’,而另一個(gè)輸入信號(hào)是來自信號(hào)變換電路的輸出H1。這個(gè)函數(shù)發(fā)生器能實(shí)現(xiàn)3輸入變量的各種組合函數(shù).這3個(gè)函數(shù)發(fā)生器結(jié)合起來,可實(shí)現(xiàn)多達(dá)9變量的邏輯函數(shù)。CLB中有許多不同規(guī)格的數(shù)據(jù)選擇器(四選一、二選一等),通過對CLB內(nèi)部數(shù)據(jù)選擇器的編程,邏輯函數(shù)發(fā)生器G、F和H的輸出可以連接到CLB輸出端X或Y,并用來選擇觸發(fā)器的激勵(lì)輸入信號(hào)、時(shí)鐘有效邊沿、時(shí)鐘使能信號(hào)以及輸出信號(hào)。這些數(shù)據(jù)選擇器的地址控制信號(hào)均由編程信息提供,從而實(shí)現(xiàn)所需的電路結(jié)構(gòu).CLB中的邏輯函數(shù)發(fā)生器F和G均為查找表結(jié)構(gòu),其工作原理類似于ROM.F和G的輸入等效于ROM的地址碼,通過查找ROM中的地址表可以得到相應(yīng)的組合邏輯函數(shù)輸出。另一方面,邏輯函數(shù)發(fā)生器F和G還可以作為器件內(nèi)高速RAM或小的可讀寫存儲(chǔ)器使用,它由信號(hào)變換電路控制。(2)輸入/輸出模塊IOB.IOB提供了器件引腳和內(nèi)部邏輯陣列之間的連接。它主要由輸入觸發(fā)器、輸入緩沖器和輸出觸發(fā)/鎖存器、輸出緩沖器組成.每個(gè)IOB控制一個(gè)引腳,它們可被配置為輸入、輸出或雙向I/O功能。當(dāng)IOB控制的引腳被定義為輸入時(shí),通過該引腳的輸入信號(hào)先送入輸入緩沖器。緩沖器的輸出分成兩路:一路可以直接送到MUX,另一路經(jīng)延時(shí)幾納秒(或者不延時(shí))送到輸入通路D觸發(fā)器,再送到數(shù)據(jù)選擇器.通過編程給數(shù)據(jù)選擇器不同的控制信息,確定送至CLB陣列的I1和I2是來自輸入緩沖器,還是來自觸發(fā)器。圖2—1CLB基本結(jié)構(gòu)當(dāng)IOB控制的引腳被定義為輸出時(shí),CLB陣列的輸出信號(hào)OUT也可以有兩條傳輸途徑:一條是直接經(jīng)MUX送至輸出緩沖器,另一條是先存入輸出通路D觸發(fā)器,再送至輸出緩沖器.IOB輸出端配有兩只MOS管,它們的柵極均可編程,使MOS管導(dǎo)通或截止,分別經(jīng)上拉電阻接通Vcc、地線或者不接通,用以改善輸出波形和負(fù)載能力。(3)可編程互連資源IR??删幊袒ミB資源IR可以將FPGA內(nèi)部的CLB和CLB之間、CLB和IOB之間連接起來,構(gòu)成各種具有復(fù)雜功能的系統(tǒng).IR主要由許多金屬線段構(gòu)成,這些金屬線段帶有可編程開關(guān),通過自動(dòng)布線實(shí)現(xiàn)各種電路的連接.2.3FPGA系統(tǒng)設(shè)計(jì)流程一般說來,一個(gè)比較大的完整的項(xiàng)目應(yīng)該采用層次化的描述方法:分為幾個(gè)較大的模塊,定義好各功能模塊之間的接口,然后各個(gè)模塊再細(xì)分去具體實(shí)現(xiàn),這就是TOPDOWN(自頂向下)的設(shè)計(jì)方法.目前這種高層次的設(shè)計(jì)方法已被廣泛采用。高層次設(shè)計(jì)只是定義系統(tǒng)的行為特征,可以不涉及實(shí)現(xiàn)工藝,因此還可以在廠家綜合庫的支持下,利用綜合優(yōu)化工具將高層次描述轉(zhuǎn)換成針對某種工藝優(yōu)化的網(wǎng)絡(luò)表,使工藝轉(zhuǎn)化變得輕而易舉。CPLD/FPGA系統(tǒng)設(shè)計(jì)的工作流程如圖2-2所示[6]。圖2—2CPLD/FPGA系統(tǒng)設(shè)計(jì)流程流程說明:(1)工程師按照“自頂向下”的設(shè)計(jì)方法進(jìn)行系統(tǒng)劃分。(2)輸入VHDL代碼,這是設(shè)計(jì)中最為普遍的輸入方式。此外,還可以采用圖形輸入方式(框圖、狀態(tài)圖等),這種輸入方式具有直觀、容易理解的優(yōu)點(diǎn)。(3)將以上的設(shè)計(jì)輸入編譯成標(biāo)準(zhǔn)的VHDL文件。(4)進(jìn)行代碼級(jí)的功能仿真,主要是檢驗(yàn)系統(tǒng)功能設(shè)計(jì)的正確性。這一步驟適用于大型設(shè)計(jì),因?yàn)閷τ诖笮驮O(shè)計(jì)來說,在綜合前對源代碼仿真,就可以大大減少設(shè)計(jì)重復(fù)的次數(shù)和時(shí)間。一般情況下,這一仿真步驟可略去。(5)利用綜合器對VHDL源代碼進(jìn)行綜合優(yōu)化處理,生成門級(jí)描述的網(wǎng)絡(luò)表文件,這是將高層次描述轉(zhuǎn)化為硬件電路的關(guān)鍵步驟。綜合優(yōu)化是針對ASIC芯片供應(yīng)商的某一產(chǎn)品系列進(jìn)行的,所以綜合的過程要在相應(yīng)的廠家綜合庫的支持下才能完成.(6)利用產(chǎn)生的網(wǎng)絡(luò)表文件進(jìn)行適配前的時(shí)序仿真,仿真過程不涉及具體器件的硬件特性,是較為粗略的。一般的設(shè)計(jì),也可略去這一步驟。(7)利用適配器將綜合后的網(wǎng)絡(luò)表文件針對某一具體的目標(biāo)器件進(jìn)行邏輯映射操作,包括底層器件配置、邏輯分割、邏輯優(yōu)化和布局布線。(8)在適配完成后,產(chǎn)生多項(xiàng)設(shè)計(jì)結(jié)果:(a)適配報(bào)告,包括芯片內(nèi)部資源利用情況,設(shè)計(jì)的布爾方程描述情況等;(b)適配后的仿真模型;(c)器件編程文件。根據(jù)適配后的仿真模型,可以進(jìn)行適配后時(shí)序仿真,因?yàn)橐呀?jīng)得到器件的實(shí)際硬件特性(如時(shí)延特性),所以仿真結(jié)果能比較精確的預(yù)期未來芯片的實(shí)際性能。如果仿真結(jié)果達(dá)不到設(shè)計(jì)要求,就修改VHDL源代碼或選擇不同速度和品質(zhì)的器件,直至滿足設(shè)計(jì)要求[7]。最后將適配器產(chǎn)生的器件編程文件通過編程器或下載電纜載入到目標(biāo)芯片CPLD/FPGA中。2。4FPGA開發(fā)編程原理硬件設(shè)計(jì)需要根據(jù)各種性能指標(biāo)、成本、開發(fā)周期等因素,確定最佳的實(shí)現(xiàn)方案,畫出系統(tǒng)框圖,選擇芯片,設(shè)計(jì)PCB并最終形成樣機(jī)。CPLD/FPGA軟件設(shè)計(jì)可分為兩大塊:編程語言和編程工具。編程語言主要有VHDL和Verilog兩種硬件描述語言;編程工具主要是兩大廠家Altera和Xilinx的集成綜合EDA軟件(如MAX+plusII、QuartusII、Foundation、ISE)以及第三方工具(如FPGAExpress、Modelsim、SynposysSVS等)。具體的設(shè)計(jì)輸入方式有以下幾種[8]:(1)HDL語言方式.HDL既可以描述底層設(shè)計(jì),也可以描述頂層的設(shè)計(jì),但它不容易做到較高的工作速度和芯片利用率。用這種方式描述的項(xiàng)目最后所能達(dá)到的性能與設(shè)計(jì)人員的水平、經(jīng)驗(yàn)以及綜合軟件有很大的關(guān)系。(2)圖形方式??梢苑譃殡娐吩韴D描述,狀態(tài)機(jī)描述和波形描述3種形式。有的軟件3種輸入方法都支持,如Active-HDL。MAX+plusII圖形輸入方式只支持電路原理圖描述和波形描述兩種。電路原理圖方式描述比較直觀和高效,對綜合軟件的要求不高.一般大都使用成熟的IP核和中小規(guī)模集成電路所搭成的現(xiàn)成電路,整體放到一片可編程邏輯器件的內(nèi)部去,所以硬件工作速度和芯片利用率很高,但是但項(xiàng)目很大的時(shí)候,該方法就顯得有些繁瑣;狀態(tài)機(jī)描述主要用來設(shè)計(jì)基于狀態(tài)機(jī)思想的時(shí)序電路[9]。在圖形的方式下定義好各個(gè)工作狀態(tài),然后在各個(gè)狀態(tài)上輸入轉(zhuǎn)換條件以及相應(yīng)的輸入輸出,最后生成HDL語言描述,送去綜合軟件綜合到可編程邏輯器件的內(nèi)部。由于狀態(tài)機(jī)到HDL語言有一種標(biāo)準(zhǔn)的對應(yīng)描述方式,所以這種輸入方式最后所能達(dá)到的工作速度和芯片利用率主要取決于綜合軟件;波形描述方式是基于真值表的一種圖形輸入方式,直接描述輸入與輸出的波形關(guān)系.這種輸入方式最后所能達(dá)到的工作速度和芯片利用率也是主要取決于綜合軟件[10]。2.5DS18B20的性能特點(diǎn)(1)DS18B20的性能特點(diǎn):①采用單總線專用技術(shù),既可通過串行口線,也可通過其它I/O口線與微機(jī)接口,無須經(jīng)過其它變換電路,直接輸出被測溫度值(9位二進(jìn)制數(shù),含符號(hào)位),②測溫范圍為-55℃—+125℃,測量分辨率為0。0625℃,③內(nèi)含64位經(jīng)過激光修正的只讀存儲(chǔ)器ROM,④適配各種系統(tǒng),⑤用戶可分別設(shè)定各路溫度的上、下限,⑥(2)DS18B20內(nèi)部結(jié)構(gòu)圖2-3DS18B20內(nèi)部結(jié)構(gòu)DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM,溫度傳感器,掉電后仍能保存的溫度報(bào)警觸發(fā)器TH和TL(存儲(chǔ)在EEPROM),高速暫存器。DS18B20的管腳排vccdqgnd.64位光刻ROM是出廠前被光刻好的,它是該DS18B20的序列號(hào)。每一個(gè)DSl820包括一個(gè)唯一的64位長的序號(hào)[12]。開始8位是產(chǎn)品類型編碼(DS18B20編碼均為10H)。接著的48位是每個(gè)器件唯一的序號(hào)最后8位是前面56位的CRC(循環(huán)冗余校驗(yàn))碼。DS18B20中還有用于存儲(chǔ)測得的溫度值的兩個(gè)8位存貯器RAM,編號(hào)為0號(hào)和1號(hào)。1號(hào)存貯器存放溫度值的符號(hào)如果溫度為負(fù),則1號(hào)存貯器8位全為1,否則全為0。0號(hào)存貯器用于存放溫度值的補(bǔ)碼,LSB(最低位)的1表示0.5℃DS18B20有兩種供電方式即數(shù)據(jù)總線供電方式和外部供電方式采取數(shù)據(jù)總線供電方式可以節(jié)省一根導(dǎo)線但完成溫度測量的時(shí)間較長采取外部供電方式則多用一根導(dǎo)線但測量速度較[13].3。設(shè)計(jì)過程3.1總體方案設(shè)計(jì)3。1。1FPGA控制DS18B20FPGA需要完成DS18B20的初始化、讀取DS18B20的48位ID號(hào)、啟動(dòng)DS18B20溫度轉(zhuǎn)換、讀取溫度轉(zhuǎn)化結(jié)果。讀取48位ID號(hào)和讀取溫度轉(zhuǎn)換結(jié)果過程中,F(xiàn)PGA還要實(shí)現(xiàn)CRC校驗(yàn)碼的計(jì)算,保證通信數(shù)據(jù)的可靠性[14].以上操作反復(fù)進(jìn)行,可以用狀態(tài)機(jī)來實(shí)現(xiàn)。狀態(tài)機(jī)的各種狀態(tài)如下:RESET1:對DS18B20進(jìn)行第一次復(fù)位,然后進(jìn)入等待,等待800μs后,進(jìn)入下一狀態(tài)。CMD33:對DS18B20發(fā)出0×33命令,讀取48位ID值.GET_ID:從DS18B20中讀取48位ID值。RESET2:對DS18B20進(jìn)行第二次復(fù)位,然后進(jìn)入DELAY狀態(tài)等待800μs后,進(jìn)入CMDCC狀態(tài)。CMDCC:向DS18B20發(fā)出忽略ROM命令,為進(jìn)入下一狀態(tài)作準(zhǔn)備.CMD44:向DS18B20發(fā)出啟動(dòng)溫度轉(zhuǎn)換命令,然后進(jìn)入等待,900ms后進(jìn)入下一狀態(tài)。RESET3:對DS18B20進(jìn)行第三次復(fù)位。CMDCC2:向DS18B20發(fā)出忽略ROM命令,為了進(jìn)入下一狀態(tài)作準(zhǔn)備.GET_TEMP:從DS18B20中讀取溫度測量數(shù)值。DELAY:等待狀態(tài)。WRITE_BIT:向DS18B20中寫入數(shù)據(jù)位狀態(tài)。READ_BIT:從DS18B20中讀取數(shù)據(jù)位狀態(tài)。在該狀態(tài)中每讀取1位數(shù)據(jù),同時(shí)完成該數(shù)據(jù)位的CRC校驗(yàn)計(jì)算[15]。所有數(shù)據(jù)都讀取后,還要讀取8位CRC校驗(yàn)位。這8位校驗(yàn)位也經(jīng)過CRC校驗(yàn)計(jì)算,如果通信沒有錯(cuò)誤,總的CRC校驗(yàn)結(jié)果應(yīng)該是0。這時(shí)可將通信正確的數(shù)據(jù)保存到id和temp_data寄存器中。3.2單元電路設(shè)計(jì)3.2。1DS18B20溫度采集在開發(fā)板上的原理圖圖3-1開發(fā)板上輸出顯示的按鍵原理圖圖3-2開發(fā)板上的按鍵實(shí)物圖圖3—3發(fā)板上DS18B20實(shí)物圖4。裝調(diào)與測試4.1EP2C8Q208FPAG開發(fā)板裝調(diào)圖4—1開發(fā)板實(shí)物圖核心系統(tǒng):(1)CycloneII核心:EP2C8Q208:(2)SDRAM:64Mbit為滿足用戶海量存儲(chǔ):(為做SOPC或者NIOSII系統(tǒng)提供足夠的內(nèi)存);(3)Flash:16Mbit能滿足大中小型開發(fā),為用戶配置NIOS的鏡像文件:(4)EPCS4配置芯片:(5)提供配置模式:JTAG和AS.此外配置管腳通過插針引出:(6)核心板的有源時(shí)鐘為50Mhz):(7)將所有IO、Avalon總線、配置管腳等都通過3排插針引出,可以充分自由發(fā)揮,擴(kuò)展更靈活:(擴(kuò)展I/O完全考慮了電磁兼容的問題,滿足信號(hào)完整性)(8)FPGA供電系統(tǒng):外接5V的直流電:4。2外圍I/O資源(1)6位LED發(fā)光二極管(做流水等實(shí)驗(yàn))(2)8位LED數(shù)碼管(做動(dòng)態(tài)或靜態(tài)數(shù)碼管顯示實(shí)驗(yàn),頻率計(jì);秒表.。。。)(3)一路蜂鳴器(用作發(fā)聲實(shí)驗(yàn))(4)4只獨(dú)立按鍵(做按鍵控制實(shí)驗(yàn))(5)I2C串行EEPROM24C04(做IIC總線實(shí)驗(yàn))(6)VGA接口(做VGA實(shí)驗(yàn))(7)MAX232專用串口通訊電路(做和其他系統(tǒng)的串口通訊實(shí)驗(yàn))(8)1602LCD字符型液晶接口(做字符顯示實(shí)驗(yàn))(9)12864LCD圖形液晶接口(做圖形漢字等顯示實(shí)驗(yàn))(10)雙PS/2鍵盤接口(做PS/2鍵盤實(shí)驗(yàn))(11)SD卡接口??梢宰x取SD卡的數(shù)據(jù):例如圖片。(12)DS1302時(shí)鐘芯片,(13)DS18B20溫度傳感器(14)紅外線接收頭4。3開發(fā)板源程序測試libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED。ALL;entityds18B20isport(clk:instd_logic;-—原程序可能為50MHzdq:inoutstd_logic;—-temp_h:outstd_logic_vector(7downto0);—-temp_l:outstd_logic_vector(7downto0);LED:outstd_logic;LED2:outstd_logic;LED3:outstd_logic;rst:instd_logic;---—--—-—-—----—dataout:outstd_logic_vector(7downto0);seg:outstd_logic_vector(5downto0));endds18B20;architectureBehavioralofds18B20isTYPESTATE_TYPEis(RESET,CMD_CC,WRITE_(tái)BYTE,WR(shí)ITE_LOW,WRITE_HIGH,READ_BIT,CMD_44,CMD_BE,WAIT800MS,GET_TMP,WAIT4MS);signalSTATE:STATE_(tái)TYPE:=RESET;signalclk_temp:std_logic:='0';signalclk1m:std_logic;--分頻后得到的1M時(shí)鐘signalwrite_temp:std_logic_vector(7downto0):="00000000”;signalTMP:std_logic_vector(11downto0);signaltmp_bit:std_logic;signalWR(shí)ITE_BYTE_CNT:integerrange0to8:=0;signalWRITE_LOW_CNT:integerrange0to2:=0;signalWRITE_HIGH_CNT:integerrange0to2:=0;signalREAD_BIT_CNT:integerrange0to3:=0;signalGET_TMP_CNT:integerrange0to13:=0;signalcnt:integerrange0to100001:=0;--—-—--******************************signalcnt2:integerrange0to4000001:=0;signalseg_temp:std_logic_vector(5downto0);—-signaltemp_h:std_logic_vector(7downto0);--signaltemp_l:std_logic_vector(7downto0);signaltemp:std_logic;signaldata_temp0:std_logic_vector(15downto0);signaldecimal0:std_logic_vector(15downto0);signaldecimal1:std_logic_vector(15downto0);signaldecimal2:std_logic_vector(15downto0);signaldecimal3:std_logic_vector(15downto0);signaldata_temp1:std_logic_vector(7downto0);signalinteger0:std_logic_vector(7downto0);signalinteger1:std_logic_vector(7downto0);signalinteger2:std_logic_vector(7downto0);signalinteger3:std_logic_vector(7downto0);signalinteger4:std_logic_vector(7downto0);signalinteger5:std_logic_vector(7downto0);signalinteger6:std_logic_vector(7downto0);signalsign:std_logic_vector(7downto0);——----———--****************signalcount:integerrange0to51:=0;signalWR(shí)ITE_BYTE_(tái)FLAG:integerrange0to4:=0;beginClkDivider:process(clk,clk_temp)beginifrising_edge(clk)thenif(count=24)thencount<=0;clk_temp〈=notclk_temp;elsecount〈=count+1;endif;endif;clk1m〈=clk_temp;endProcess;STATE_TRANSITION:process(STATE,clk1m)beginifrising_edge(clk1m)thenif(rst=’0')thenSTATE〈=RESET;elsecaseSTATEiswhenRESET=>—-**********LED2〈='0';--*************-LED3〈=’0';-—*********if(cnt〉=0andcnt<500)thendq<=’0';cnt<=cnt+1;STATE〈=RESET;elsif(cnt>=500andcnt<510)thendq<='Z’;cnt〈=cnt+1;STATE〈=RESET;elsif(cnt〉=510andcnt<750)thentemp<=dq;if(cnt=580)thentemp〈=dq;if(temp=’1’)thenLED<='0';elseLED<='1';endif;endif;cnt<=cnt+1;STATE<=RESET;elsif(cnt>=750)thencnt<=0;STATE〈=CMD_CC;endif;whenCMD_CC=〉LED2<=’1';LED3<='0';write_temp〈="11001100”;STATE<=WRITE_BYTE;whenWRITE_BYTE=>caseWRITE_BYTE_CNTiswhen0to7=>if(write_temp(WRITE_BYTE_(tái)CNT)='0')thenSTATE<=WRITE_LOW;LED3〈='1’;elseSTATE<=WRITE_HIGH;endif;WRITE_(tái)BYTE_CNT〈=WRITE_BYTE_CNT+1;when8=〉if(WRITE_BYTE_FLAG=0)then--第一次寫0XCC完畢STATE〈=CMD_44;WRITE_(tái)BYTE_FLAG<=1;elsif(WRITE_BYTE_FLAG=1)then-—寫0X44完畢STATE<=RESET;WRITE_BYTE_FLAG<=2;elsif(WR(shí)ITE_BYTE_FLAG=2)then--第二次寫0XCC完畢STATE<=CMD_BE;WRITE_BYTE_FLAG〈=3;elsif(WRITE_BYTE_FLAG=3)then——寫0XBE完畢STATE<=GET_TMP;WRITE_(tái)BYTE_FLAG<=0;endif;WRITE_BYTE_CNT<=0;whenothers=>STATE〈=RESET;endcase;whenWRITE_LOW=>LED3<='1';caseWRITE_LOW_CNTiswhen0=>dq<='0';if(cnt=70)thencnt〈=0;WRITE_LOW_CNT〈=1;elsecnt<=cnt+1;endif;when1=>dq<=’Z';if(cnt=5)thencnt〈=0;WRITE_LOW_CNT〈=2;elsecnt<=cnt+1;endif;when2=>STATE<=WRITE_(tái)BYTE;WR(shí)ITE_LOW_CNT<=0;whenothers=>WRITE_LOW_CNT〈=0;endcase;whenWRITE_HIGH=>caseWR(shí)ITE_HIGH_CNTiswhen0=>dq<=’0’;if(cnt=8)thencnt<=0;WR(shí)ITE_HIGH_CNT<=1;elsecnt<=cnt+1;endif;when1=>dq〈=’Z’;if(cnt=72)thencnt<=0;WRITE_HIGH_CNT<=2;elsecnt<=cnt+1;endif;when2=>STATE<=WR(shí)ITE_BYTE;WR(shí)ITE_(tái)HIGH_CNT<=0;whenothers=>WRITE_HIGH_CNT〈=0;endcase;whenCMD_44=>write_temp<="01000100”;STATE<=WRITE_BYTE;whenCMD_BE=>write_temp〈=”10111110”;STATE<=WRITE_(tái)BYTE;whenREAD_BIT=>caseREAD_BIT_CNTiswhen0=>dq<=’0';if(cnt=4)thenREAD_BIT_CNT<=1;cnt〈=0;elsecnt<=cnt+1;endif;when1=〉dq<='Z';if(cnt=4)thenREAD_BIT_CNT<=2;cnt〈=0;elsecnt<=cnt+1;endif;when2=〉dq〈=’Z';TMP_BIT<=dq;if(cnt=1)thenREAD_BIT_CNT<=3;cnt〈=0;elsecnt<=cnt+1;endif;when3=〉———---——---—----—----dq〈=’Z’;--—-—-—--—---------——if(cnt=55)thencnt<=0;READ_BIT_CNT〈=0;STATE〈=GET_TMP;elsecnt<=cnt+1;endif;whenothers=>READ_BIT_CNT<=0;endcase;whenWAIT800MS=>if(cnt>=100000)thenSTATE<=RESET;cnt<=0;elsecnt〈=cnt+1;STATE<=WAIT800MS;endif;whenGET_TMP=>caseGET_TMP_CNTiswhen0=〉STATE<=READ_BIT;GET_TMP_CNT<=GET_TMP_CNT+1;when1to12=〉STATE〈=READ_BIT;TMP(GET_TMP_CNT—1)<=TMP_BIT;GET_TMP_CNT〈=GET_TMP_CNT+1;when13=〉GET_TMP_CNT〈=0;STATE<=WAIT4MS;endcase;whenWAIT4MS=>if(cnt>=4000)then--STATE<=WAIT4MS;STATE〈=RESET;cnt<=0;elsecnt<=cnt+1;STATE〈=WAIT4MS;endif;whenothers=〉STATE<=RESET;LED〈=’0';LED2〈='0’;LED3<='0';endcase;endif;endif;endprocess;-—temp_h〈=TMP(11downto8);--temp_h(7downto4)<="1111";--temp_l<=TMP(7downto0);--——--—-——-**************************--temp_h〈='0'&TMP(11downto5);——temp_l〈="0000"&TMP(4downto1);--—---—--—--—--—-—-—----—-—------—-———----——-——---——-—---——--—-—----—-——-———-----—-————---process(seg_temp,clk)—-,temp_l,temp_h)beginifrising_edge(clk)thenif(seg_temp="111110”)then—-”1110")then-—"11110")thencaseTMP(3downto0)is-—temp_l(3downto0)isWHEN"0000"=>dataout〈="11000000";-—0WHEN"0001”=>dataout〈=”11111001”;--1WHEN”0010”=>dataout<=”10100100”;--2WHEN”0011”=〉dataout<="10110000";—-3WHEN"0100”=〉dataout〈="10011001";--4WHEN"0101"=〉dataout<="10010010";—-5WHEN"0110"=>dataout〈="10000010";-—6WHEN”0111"=>dataout<=”11111000";--7WHEN"1000"=〉dataout<=”10000000";——8WHEN”1001"=>dataout〈="10010000";--9WHEN"1010"=>dat(yī)aout<=”10001000”;—-aWHEN"1011”=〉dataout<="10000011";-—bWHEN”1100"=>dataout〈="11000110";—-cWHEN"1101”=>dataout<=”10100001";——dWHEN”1110”=>dataout<="10000110";--eWHEN"1111"=>dataout<=”10001110";--fWHENothers=>dataout<=”11000000";——0endcase;elsif(seg_temp=”111101")then--”1101")then--”11101”)thencaseTMP(7downto4)is--temp_l(7downto4)isWHEN”0000"=>dataout<=”11000000”;--0WHEN"0001"=〉dataout〈="11111001";--1WHEN"0010”=>dataout〈="10100100";——2WHEN"0011"=〉dataout<="10110000";--3WHEN"0100”=〉dat(yī)aout<="10011001";-—4WHEN”0101"=>dat(yī)aout<=”10010010”;—-5WHEN"0110"=>dataout<=”10000010";--6WHEN"0111”=>dat(yī)aout<=”11111000”;--7WHEN”1000"=>dataout〈="10000000";-—8WHEN"1001"=〉dataout<="10010000";——9WHEN"1010"=〉dataout<="10001000”;—-aWHEN”1011"=〉dat(yī)aout<="10000011";-—bWHEN"1100”=>dataout<="11000110";-—cWHEN"1101"=〉dataout<=”10100001";—-dWHEN"1110”=>dataout〈="10000110";--eWHEN"1111"=〉dataout〈="10001110";—-fWHENothers=>dataout〈="11000000”;-—0endcase;elsif(seg_temp=”111011")then——"1011”)then——”11011")thencaseTMP(11downto8)is-—temp_h(3downto0)isWHEN"0000"=>dat(yī)aout<="11000000";--0WHEN”0001"=〉dataout<=”11111001”;--1WHEN"0010"=>dataout<="10100100";—-2WHEN"0011”=〉dataout〈=”10110000";—-3WHEN"0100"=>dataout<="10011001";—-4WHEN”0101"=>dataout<=”10010010”;—-5WHEN”0110"=>dataout<=”10000010”;-—6WHEN"0111”=>dataout<="11111000";—-7WHEN"1000”=>dat(yī)aout<="10000000";--8WHEN"1001"=>dataout〈=”10010000";-—9WHEN"1010"=>dataout<="10001000";-—aWHEN"1011”=>dat(yī)aout〈=”10000011”;--bWHEN”1100”=〉dataout〈="11000110”;—-cWHEN"1101"=>dataout<="10100001";--dWHEN"1110”=>dataout<="10000110";—-eWHEN"1111”=〉dat(yī)aout<="10001110”;--fWHENothers=〉dataout<="11000000”;--0endcase;endif;endif;endprocess;seg<=seg_temp;process(clk1m)beginifrising_edge(clk1m)thenif(cnt2〈20)thencnt2<=cnt2+1;seg_temp〈=”111110";-—"1110”;--"11110";elsif(cnt2〈40ANDcnt2>=20)thencnt2〈=cnt2+1;seg_temp<=”111101”;—-”1101";—-"11101”;elsif(cnt2〈60ANDcnt2>=40)thencnt2〈=cnt2+1;seg_temp<=”111011”;--"1011”;—-"11011";elsecnt2〈=0;seg_temp<=”111110";--”1110";—-”11110";endif;endif;endprocess;endBehavioral;5實(shí)驗(yàn)結(jié)論與研究展望5。1實(shí)驗(yàn)結(jié)論將設(shè)計(jì)程序下載到實(shí)驗(yàn)箱上運(yùn)行調(diào)試后,最終結(jié)果與預(yù)期效果基本一致.DS18b20能夠正常的進(jìn)行數(shù)據(jù)采集,并且由開發(fā)板顯示電路正常顯示。效果良好.在此次的數(shù)字溫度計(jì)設(shè)計(jì)過程中,更進(jìn)一步地熟悉有關(guān)數(shù)字電路的知識(shí)和具體應(yīng)用。學(xué)會(huì)了利Max+plus和QuarterII軟件進(jìn)行原理圖的繪制,硬件描述語言VHDL的編寫,程序的仿真等工作。并能根據(jù)仿真結(jié)果分析設(shè)計(jì)的存在的問題和缺陷,從而進(jìn)行程序的調(diào)試和完善。在設(shè)計(jì)電路中,往往是先仿真后連接實(shí)物圖,但有時(shí)候仿真和電路連接并不是完全一致的,例如在對具體模塊的仿真的過程中,往往沒有考慮到整體設(shè)計(jì)的層面以及與上下模塊接口的設(shè)計(jì)。再加上器件對信號(hào)的延時(shí)等問題,實(shí)際下載到實(shí)驗(yàn)箱上后會(huì)出現(xiàn)一系列的問題,因此仿真圖和電路連接圖還是有一定區(qū)別的.此次的數(shù)字溫度計(jì)設(shè)計(jì)重在于按鍵的控制和各個(gè)模塊代碼的編寫,雖然能把鍵盤接口和各個(gè)模塊的代碼編寫出來,并能正常顯示,但對于各個(gè)模塊的優(yōu)化設(shè)計(jì)還有一定的缺陷和不足??偟膩碚f,通過這次的設(shè)計(jì)實(shí)驗(yàn)更進(jìn)一步地增強(qiáng)了實(shí)驗(yàn)的動(dòng)手能力,對數(shù)字溫度計(jì)的工作原理也有了更加透徹的理解。5。2研究展望本設(shè)計(jì)是采用硬件描述語言和FPGA芯片相結(jié)合進(jìn)行的數(shù)字溫度計(jì)的研究,從中可以看出EDA技術(shù)的發(fā)展在一定程度上實(shí)現(xiàn)了硬件設(shè)計(jì)的軟件化。設(shè)計(jì)的過程變的相對簡單,容易修改等優(yōu)點(diǎn),相信隨著電子技術(shù)的發(fā)展,數(shù)字溫度計(jì)的功能會(huì)更加多樣化,滿足人們的各種需要.參考文獻(xiàn):[1]陳躍東。數(shù)字秒表系統(tǒng)設(shè)計(jì)[J]。自動(dòng)化與儀器儀表,2006,270(1):65~97。[2]廖常初.可編程序控制器應(yīng)用技術(shù)(第三版)[M].重慶:重慶大學(xué)出版社,2000:85~153。[3]俞一鳴.Altera可編程邏輯器件的

溫馨提示

  • 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)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論