基于DS18B20的溫度測試儀_第1頁
基于DS18B20的溫度測試儀_第2頁
基于DS18B20的溫度測試儀_第3頁
基于DS18B20的溫度測試儀_第4頁
基于DS18B20的溫度測試儀_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、蘇州大學(xué) 應(yīng)用技術(shù)學(xué)院電子技術(shù)綜合設(shè)計實驗報告實驗名稱基于ds18b20的溫度測試儀班級/小組10信息/09組報告人姓名/學(xué)號季偉/1016407049完成日期2013-10-24電子技術(shù)綜合設(shè)計實驗報告實驗名稱:基于ds18b20溫度測試儀蘇州大學(xué) 應(yīng)用技術(shù)學(xué)院10信息/09組王兆奇/1016407003 臧壽池/1016407019馬澤鑫/1016407043 季 偉/10164070492013年10月24目 錄1. 任務(wù)41.1. 描述41.1.1. 組成41.1.2. 功能41.2. 要求41.2.1. 基本要求41.2.2. 分工42. 方案42.1. 可選方案42.1.1. 方案

2、142.1.2. 方案252.2. 方案確定52.2.1. 主要思路53. 設(shè)計53.1. 硬件設(shè)計53.1.1. 單元153.1.2. 微控制器stm32f103zet6等單元說明:63.1.3. 溫度傳感器ds18b20的工作原理73.1.4. 顯示模塊的設(shè)計83.1.5. lcd液晶顯示屏與單片機接口電路設(shè)計83.1.6. 軟件結(jié)構(gòu)93.1.7. 主要函數(shù)說明104. 制作104.1. 制作104.1.1. 過程104.1.2. 分工104.2. 實物外形105. 測試115.1.1. 系統(tǒng)仿真115.1.2. 系統(tǒng)硬件調(diào)試115.1.3. 系統(tǒng)軟件調(diào)試115.2. 結(jié)果116. 總結(jié)1

3、3參考文獻13附錄14附錄1:14主程序:14子程序:181. 任務(wù)1.1. 描述本文在基于ds18b20溫度測試儀及微控制器工作原理的基礎(chǔ)上,詳細介紹了該系統(tǒng)的硬件和軟件設(shè)計過程。其中,硬件設(shè)計是以微控制器stm32f103zet6和ds18b20數(shù)字溫度傳感器為核心器件,主要由溫度采集、微控制器、lcd溫度顯示、串口顯示四部分組成。軟件設(shè)計采用模塊化編程方法,使得程序易于調(diào)試和維護,并利用c語言實現(xiàn)數(shù)據(jù)處理、lcd顯示、串口顯示等各功能子程序的編寫。該系統(tǒng)結(jié)構(gòu)簡單、抗干擾性強、實用性強,具有一定的工程應(yīng)用價值。1.1.1. 組成硬件設(shè)計是以微控制器stm32f103zet6和ds18b20

4、數(shù)字溫度傳感器為核心器件,主要由溫度采集、微控制器stm32f103z數(shù)據(jù)處理、lcd溫度顯示、串口顯示四部分組成。1.1.2. 功能該測溫系統(tǒng)應(yīng)用測溫傳感器ds18b20,通過ds18b20把溫度值轉(zhuǎn)換成數(shù)字量,把數(shù)字量送給微處理器,并在液晶顯示器上以及串口助手上顯示出來。1.2. 要求1.2.1. 基本要求該測溫系統(tǒng)應(yīng)用測溫傳感器ds18b20,通過ds18b20把溫度值轉(zhuǎn)換成數(shù)字量,把數(shù)字量送給微處理器,并在液晶顯示器上顯示出來。1.2.2. 分工 總體設(shè)計 臧壽池 軟件設(shè)計 王兆奇 硬件設(shè)計 馬澤鑫 文檔編輯 季 偉2. 方案2.1. 可選方案2.1.1. 方案1由于本設(shè)計是測溫電路,

5、可以使用熱敏電阻之類的器件利用其感溫效應(yīng),可滿足40攝氏度至90攝氏度測量范圍,但熱敏電阻精度、重復(fù)性、可靠性較差,對于檢測1攝氏度的信號是不適用的。而且在溫度測量系統(tǒng)中,采用單片溫度傳感器,比如ad590,lm35等。但這些芯片輸出的都是模擬信號,必須經(jīng)過a/d轉(zhuǎn)換后才能送給計算機,這樣就使得測溫裝置的結(jié)構(gòu)較復(fù)雜。另外,這種測溫裝置的一根線上只能掛一個傳感器,不能進行多點測量。即使能實現(xiàn),也要用到復(fù)雜的算法,一定程度上也增加了軟件實現(xiàn)的難度。2.1.2. 方案2基于ds18b20溫度測試儀,傳統(tǒng)的測溫方法是將模擬信號遠距離采樣進行a/d轉(zhuǎn)換,而為了獲得較高的測溫系統(tǒng),就必須采用措施解決由長線

6、傳輸,多點測量切換及放大電路零點漂移等造成的誤差補償問題。采用數(shù)字溫度芯片ds18b20測量溫度,輸出信號全數(shù)字化。便于單片機處理及控制,省去傳統(tǒng)的測溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,此元件線形較好。在0-100攝氏度時,最大線形偏差小于1攝氏度。ds18b20的最大特點之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計ds18b20和微控制器stm32f103zet6構(gòu)成的溫度測量裝置,它直接輸出溫度的數(shù)字信號,可直接與計算機連接。這樣,測溫系統(tǒng)的結(jié)構(gòu)就比較簡單,體積也不大。本次采用溫度芯片ds18b20測量溫度,可以體現(xiàn)系統(tǒng)芯片化的這個趨勢。部分功能電路的集成,

7、使總體電路更簡潔,搭建電路和焊接電路時更快。而且,集成塊的使用,有效地避免外界的干擾,提高測量電路的精確度。所以集成芯片的使用將成為電路發(fā)展的一種趨勢。本方案應(yīng)用這一溫度芯片,也是順應(yīng)這一趨勢。2.2. 方案確定2.2.1. 主要思路綜上所述,方案使用了stm32f103zet6作為控制核心,以智能溫度傳感器ds18b20為溫度測量元件,顯示電路采用lcd顯示模塊以及串口調(diào)試助手顯示。3. 設(shè)計3.1. 硬件設(shè)計3.1.1. 單元1(1) 電路 基于ds18b20的多點溫度采集系統(tǒng)采用了stm32f103zet6作為控制核心,以智能溫度傳感器ds18b20為溫度測量元件,顯示電路采用lcd數(shù)碼

8、管模塊。電路方案如下圖3.1.1:3.1.1電路方案3.1.2. 微控制器stm32f103zet6等單元說明:3.1.2.1微控制器stm32f103zet6原理圖3.1.1.2 usart1接口模塊原理圖3.1.2.3 onewire原理圖3.1.3. 溫度傳感器ds18b20的工作原理ds18b20溫度傳感器是美國dallas半導(dǎo)體公司最新推出的一種改進型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn)912位的數(shù)字值讀數(shù)方式。ds18b20的性能特點如下:3.1.3 ds18b20溫度傳感器獨特的單線接口僅需要一個端口引腳進行通

9、信;ds18b20可以并聯(lián)在惟一的三線上;無須外部器件;可通過數(shù)據(jù)線供電,電壓范圍為3.05.5;零待機功耗;溫度以9或12位數(shù)字;用戶可定義報警設(shè)置;報警搜索命令識別并標(biāo)志超過程序限定溫度(溫度報警條件)的器件;負電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作;3.1.4. 顯示模塊的設(shè)計1. lcd主要技術(shù)參數(shù) 顯示點陣數(shù) 240*rgb*320 dots; lcd尺寸48.60(w) x 64.80(h) mm ; lcd模式 262k tft; 動態(tài)顯示區(qū) 43.2*57.6 mm ; 象素成分 a-si tft; lcm外型尺寸 55.94(w) x77.60(h)

10、 x 3.70(d) mm; 象素尺寸 0.153*0.153 mm。3.1.5. lcd液晶顯示屏與單片機接口電路設(shè)計本系統(tǒng)的顯示部分采用lcd顯示模塊,與采用數(shù)碼管相比,硬件連接和軟件調(diào)試上都由優(yōu)勢。只要把要顯示的內(nèi)容放進液晶模塊的顯示存儲器里面就可以直觀的顯示出指定的內(nèi)容,操作方便。lcd原理圖,如圖所示:3.1.5 lcd原理圖3.1.6. 軟件結(jié)構(gòu)3.1.6 軟件結(jié)構(gòu)3.1.7. 主要函數(shù)說明見附錄4. 制作4.1. 制作4.1.1. 過程第一步:根據(jù)總體方案,確定軟件設(shè)計與以及硬件設(shè)計;第二步:分別進行硬件設(shè)計與軟件設(shè)計,實現(xiàn)所需功能;第三步:完成軟件設(shè)計與硬件設(shè)計,進行最后調(diào)試;

11、4.1.2. 分工總體設(shè)計 臧壽池 軟件設(shè)計 王兆奇硬件設(shè)計 馬澤鑫 文檔編輯 季 偉4.2. 實物外形4.2.1 實物圖5. 測試5.1.1. 系統(tǒng)仿真其實仿真的概念其實使用非常廣,但是最終的含義就是使用可控的手段來模仿真實的情況。單片機系統(tǒng)開發(fā)中的仿真包括軟件仿真和硬件仿真。軟件仿真這種方法主要是使用計算機軟件來模擬實際的單片機運行,因此仿真與硬件無關(guān)的系統(tǒng)具有一定的優(yōu)點。用戶不需要搭建硬件電路就可以對程序進行驗證,特別適合于偏重算法的程序。軟件仿真的缺點是無法完全仿真與硬件相關(guān)的部分,因此最終還要通過硬件仿真來完成最后的設(shè)計;硬件仿真使用附加的硬件來替代用戶系統(tǒng)的單片機并完成單片機全部或

12、大部分的功能。使用了附加硬件后用戶就可以對程序的運行進行控制,例如單步、全速、查看資源斷點等。在單片機應(yīng)用系統(tǒng)的開發(fā)過程中,程序的設(shè)計是最為重要的但也是難度最大的工作,一種最簡單和原始的開發(fā)流程是:編寫程序,燒寫芯片并驗證功能,這種方法對于功能簡單的小系統(tǒng)是可以對付的,但在比較大的系統(tǒng)中使用這種方法則是完全不可能的。此時就需要用到仿真器。在本系統(tǒng)軟件設(shè)計調(diào)試的過程中使用的是protel dxp型仿真軟件。5.1.2. 系統(tǒng)硬件調(diào)試系統(tǒng)軟硬件調(diào)試的目的是通過控制程序和硬件電路的配合工作,進行一些操作,以驗證系統(tǒng)的軟、硬件是否能夠完成設(shè)計的功能。調(diào)試的過程是按照系統(tǒng)的設(shè)計功能來劃分的。硬件電路系統(tǒng)

13、測試首先是保證各個元件之間以及各個模塊之間的連接正確并且接觸良好,這是整個硬件電路系統(tǒng)正常工作的前提。接著分別測試各個硬件模塊的性能。按照測試性質(zhì)的不同可分為電壓測試和信號測試兩種。單片機輸入輸出接口主要是信號測試。根據(jù)理論計算和軟件仿真的預(yù)期結(jié)果,再通過對響應(yīng)的信號進行測試。測試結(jié)果與預(yù)期結(jié)果基本一致,保證了系統(tǒng)按照設(shè)計的思路正常運行。通過測試硬件電路系統(tǒng)中的幾個測試點,確保關(guān)鍵的電壓信號滿足要求,確保各個引腳連接正確,確保系統(tǒng)正常運行。5.1.3. 系統(tǒng)軟件調(diào)試本次在計算機上使用的是keil 系列軟件對本次設(shè)計進行軟件的調(diào)試,keil軟件 引入靈活的窗口管理系統(tǒng),使開發(fā)人員能夠使用多臺監(jiān)視

14、器,并提供了視覺上的表面對窗口位置的完全控制的任何地方。新的用戶界面可以更好地利用屏幕空間和更有效地組織多個窗口,提供一個整潔,高效的環(huán)境來開發(fā)應(yīng)用程序。多顯示器和靈活的窗口管理系統(tǒng),系統(tǒng)瀏覽器窗口的顯示設(shè)備外設(shè)寄存器信息,調(diào)試還原視圖創(chuàng)建并保存多個調(diào)試窗口布局,多項目工作區(qū)簡化與眾多的項目。5.2. 結(jié)果5.2.1串口顯示 5. 2. 2 lcd顯示溫度界面6. 總結(jié)本文所研究的以微控制器stm32f103zet6和ds18b20數(shù)字溫度傳感器為核心器件,主要由溫度采集、微控制器stm32f103z數(shù)據(jù)處理、lcd溫度顯示、串口顯示四部分組成。該測溫系統(tǒng)應(yīng)用測溫傳感器ds18b20,通過ds

15、18b20把溫度值轉(zhuǎn)換成數(shù)字量,把數(shù)字量送給微控制器,并在lcd上以及串口助手上顯示出來。該測溫系統(tǒng)應(yīng)用智能溫度傳感器ds18b20,大大減弱了傳統(tǒng)模擬信號在傳輸過程中衰減、干擾問題的影晌。使測試系統(tǒng)具有更好的可靠性和精度。實現(xiàn)了一 種在非極端條件下(-50125)的溫度測量方法。而且在硬件電路的設(shè)計上面更加簡潔,不需要太多的外圍電路,也降低了電路設(shè)計的要求。但是該系統(tǒng)存在著一些不足:一般環(huán)境的測量儀器完全可以采用數(shù)字式的傳感器,ds18b20是一款非常優(yōu)秀的數(shù)字式溫度傳感器,在測量速度要求不高的情況下,將來可以實現(xiàn)更多點的溫度測量。而且系統(tǒng)需要結(jié)合機械結(jié)構(gòu)設(shè)計,方便ds18b20的安裝和更換

16、。數(shù)字式傳感器使用中最大的缺點就是軟件復(fù)雜,所以需要更加優(yōu)化通用軟件包的代碼,提高代碼效率和可移植性,這也是將來的工作重點。這次電子綜合設(shè)計是我們每個人必須面臨的一項的考驗,在過去三年里,我們的學(xué)習(xí)是一個專業(yè)知識的積累過程,那么這次設(shè)計就是對過去所學(xué)知識的綜合運用,是對理論進行深化和重新認(rèn)識的時間活動。在這次設(shè)計中,我們努力的設(shè)計。每個人的能力固然得到了鞏固和提高,但我相信在實踐中的切身體會將會使我在以后的工作和學(xué)習(xí)中終身受用。我們學(xué)習(xí)能力得到了提高。在設(shè)計中,完成硬件電路的設(shè)計、軟件編寫。在這些過程中,遇到許多困難,但通過書籍或網(wǎng)絡(luò)查閱了很多相關(guān)文章和向?qū)熣埥毯蠼K于解決了。通過網(wǎng)上查詢相關(guān)

17、的資料,初步掌握了這些知識,并且把查到的應(yīng)用到這次設(shè)計中。通過這次電子綜合設(shè)計,我們不僅對理論有了更深一步的認(rèn)識,增強了和外界技術(shù)的溝通,同時還培養(yǎng)了自學(xué)能力和分析解決問題的能力,更重要的是,培養(yǎng)我們自身的能力。這次電子綜合設(shè)計讓我們的觀念有了很大的改變。之前我們使用的51單片機,這次設(shè)計使用arm。我們想要跟上時代腳步。如何在保證質(zhì)量和完成同等功能的情況下,把產(chǎn)品的成本降到最低并符合用戶的實際使用習(xí)慣。是我們每個設(shè)計人員在作出方案時首要考慮的因素。設(shè)計產(chǎn)品時要聯(lián)系實際,實際情況有時候和我們的理解差距很大!感謝學(xué)校這次出資購買arm。我們作為最先使用這套設(shè)備的人,大家還是比較緊張的。但是這次設(shè)

18、計大家收獲還是相當(dāng)大的。不管對之后的畢業(yè)設(shè)計還是今后的工作都有很大的幫助!參考文獻1. 亞荷毛爾等. 構(gòu)建嵌入式linux系統(tǒng).東南大學(xué)出版社,20092. 周立功. arm嵌入式系統(tǒng)基礎(chǔ)教程.北京航空航天大學(xué)出版社,20083. 杜春雷.arm體系結(jié)構(gòu)與編程. 清華大學(xué)出版社, 20034. 鄭杰. arm嵌入式系統(tǒng)開發(fā)與應(yīng)用完全手冊. 中國鐵道出版社, 20135. 黃建華,歐陽寧.arm嵌入式系統(tǒng)開發(fā)教程.西安電子科技大學(xué)出版社, 20126. 肖廣兵.arm嵌入式開發(fā)實例.電子工業(yè)出版社, 2013 7. 葛超,王嘉偉. arm體系結(jié)構(gòu)與編程.清華大學(xué)出版社, 2012 8. 譚云生.

19、arm嵌入式系統(tǒng)原理及應(yīng)用開發(fā). 西安電子科技大學(xué)出版社,2012附錄附錄1:主程序:/* file : main.c* hardware environment: open103z* build environment : realview mdk-arm version: 4.20* version : v1.0* by : waveshare* (c) copyright 2005-2011, waveshare* * all rights reserved*/* includes -*/#include stm32f10x.h#include #include #include usa

20、rt.h#include onewire.h#include 18b20.h#include lcd.h #include asciilib.h/* private typedef -*/* private define -*/* private macro -*/* private variables -*/* private function prototypes -*/#ifdef _gnuc_/* with gcc/raisonance, small printf (option ld linker-libraries-small printf set to yes) calls _i

21、o_putchar() */#define putchar_prototype int _io_putchar(int ch)#else#define putchar_prototype int fputc(int ch, file *f)#endif /* _gnuc_ */void gpio_configuration(void);void usart_configuration(void);void delay (uint32_t ncount);uint16_t n;/* private functions -*/* * brief main program. * param none

22、 * retval none */int main(void) /*!idr & 0x0040)lcd_clear(white);while(1)if(tmp != i)n+;printf(temperture:%d度,第%d次測試rn ,i,n);sprintf(s3,%4d,i);gui_text(160,100,s3,red,white);gui_chinese(100,100,當(dāng)前溫度,blue,white);gui_chinese(70,20,基于,blue,white);gui_chinese(160,20,的溫度測試儀,blue,white);gui_text(100,20,ds

23、18b20,blue,white);gui_chinese(200,100,度,blue,white);tmp=i; i = readtemp();/* function name : gpio_configuration* description : configure gpio pin* input : none* output : none* return : none* attention : none*/void gpio_configuration(void) gpio_inittypedef gpio_initstructure; rcc_apb2periphclockcmd(

24、rcc_apb2periph_gpioc | rcc_apb2periph_gpiof | rcc_apb2periph_gpiog , enable); /* * led1 - pf6 , led2 - pf7 , led3 - pf8 , led4 - pf9 */ gpio_initstructure.gpio_pin = gpio_pin_6 | gpio_pin_7 | gpio_pin_8 | gpio_pin_9; gpio_initstructure.gpio_speed = gpio_speed_50mhz; gpio_initstructure.gpio_mode = gp

25、io_mode_out_pp; gpio_init(gpiof, &gpio_initstructure); /* key */ gpio_initstructure.gpio_pin = gpio_pin_0 | gpio_pin_1 | gpio_pin_2 | gpio_pin_3; gpio_initstructure.gpio_speed = gpio_speed_50mhz; gpio_initstructure.gpio_mode = gpio_mode_ipu; gpio_init(gpioc, &gpio_initstructure); gpio_initstructure.

26、gpio_pin = gpio_pin_6 | gpio_pin_8; gpio_initstructure.gpio_speed = gpio_speed_50mhz;gpio_initstructure.gpio_mode = gpio_mode_ipu; gpio_init(gpiog, &gpio_initstructure);/* function name : delay* description : delay time* input : - ncount: delay time* output : none* return : none* attention : none*/v

27、oid delay (uint32_t ncount) for(; ncount != 0; ncount-);#ifdef use_full_assert/* * brief reports the name of the source file and the source line number * where the assert_param error has occurred. * param file: pointer to the source file name * param line: assert_param error line source number * ret

28、val none */void assert_failed(uint8_t* file, uint32_t line) /* user can add his own implementation to report the file name and line number, ex: printf(wrong parameters value: file %s on line %drn, file, line) */ /* infinite loop */ while (1) #endif/* end of file */子程序usart.c:/* file : usart.c* hardw

29、are environment: * build environment : realview mdk-arm version: 4.20* version : v1.0* by : * (c) copyright 2005-2011, waveshare* * all rights reserved*/#include usart.h#ifdef _gnuc_ /* with gcc/raisonance, small printf (option ld linker-libraries-small printf set to yes) calls _io_putchar() */ #def

30、ine putchar_prototype int _io_putchar(int ch)#else #define putchar_prototype int fputc(int ch, file *f)#endif /* _gnuc_ */* function name : usart_configuration* description : configure usart1 * input : none* output : none* return : none* attention : none*/void usart_configuration(void) gpio_inittype

31、def gpio_initstructure; usart_inittypedef usart_initstructure; rcc_apb2periphclockcmd( rcc_apb2periph_gpioa | rcc_apb2periph_usart1,enable); /* * usart1_tx - pa9 , usart1_rx -pa10 */ gpio_initstructure.gpio_pin = gpio_pin_9; gpio_initstructure.gpio_mode = gpio_mode_af_pp; gpio_initstructure.gpio_spe

32、ed = gpio_speed_50mhz; gpio_init(gpioa, &gpio_initstructure); gpio_initstructure.gpio_pin = gpio_pin_10; gpio_initstructure.gpio_mode = gpio_mode_in_floating; gpio_initstructure.gpio_speed = gpio_speed_50mhz; gpio_init(gpioa, &gpio_initstructure); usart_initstructure.usart_baudrate = 115200; usart_i

33、nitstructure.usart_wordlength = usart_wordlength_8b; usart_initstructure.usart_stopbits = usart_stopbits_1; usart_initstructure.usart_parity = usart_parity_no; usart_initstructure.usart_hardwareflowcontrol = usart_hardwareflowcontrol_none; usart_initstructure.usart_mode = usart_mode_rx | usart_mode_

34、tx; usart_init(usart1, &usart_initstructure); usart_clearflag(usart1,usart_flag_tc); usart_itconfig(usart1, usart_it_rxne, enable); usart_itconfig(usart1, usart_it_txe, enable); usart_cmd(usart1, enable);void usartgpio_ctrt_configuration(void) gpio_inittypedef gpio_initstruct;gpio_initstruct.gpio_mo

35、de = gpio_mode_af_pp;gpio_initstruct.gpio_pin = gpio_pin_9 | gpio_pin_12;gpio_initstruct.gpio_speed = gpio_speed_50mhz;gpio_init(gpioa, &gpio_initstruct);gpio_initstruct.gpio_mode = gpio_mode_in_floating;gpio_initstruct.gpio_pin = gpio_pin_10 | gpio_pin_11;gpio_init(gpioa, &gpio_initstruct);void usa

36、rt_ctrt_configuartion(void)usart_inittypedef usart_initstruct;rcc_apb2periphclockcmd(rcc_apb2periph_gpioa | rcc_apb2periph_usart1 | rcc_apb2periph_afio,enable);usart_initstruct.usart_baudrate = 115200;usart_initstruct.usart_stopbits = usart_stopbits_1;usart_initstruct.usart_wordlength = usart_wordle

37、ngth_8b;usart_initstruct.usart_parity = usart_parity_no;usart_initstruct.usart_hardwareflowcontrol = usart_hardwareflowcontrol_rts_cts;usart_initstruct.usart_mode = usart_mode_tx | usart_mode_rx;usart_init(usart1, &usart_initstruct);usart_cmd(usart1, enable);usartgpio_ctrt_configuration();/* use no

38、semihosting */#if 1#pragma import(_use_no_semihosting)struct _file int handle;file _stdout;_sys_exit(int x)x = x;#endif/* * brief retargets the c library printf function to the usart. * param none * retval none */putchar_prototype /* place your implementation of fputc here */ /* e.g. write a charact

39、er to the usart */ usart_senddata(usart1, (uint8_t) ch);/usart_senddata(usart1,(u8)ch); /* loop until the end of transmission */ while (usart_getflagstatus(usart1, usart_flag_tc) = reset)/while (usart_getflagstatus(usart1, usart_flag_txe) = reset) return ch;子程序lcd:/* file : lcd.h* hardware environment: * build environment : realview mdk-arm version: 4.20* version : v1.0* by : * (c) copyright 2005-2011, waveshare* * all rights reserved*/#ifndef _glcd_h #define _glcd_h/* includes -*/#include #include stm32f10x.h/* pri

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論