




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、綜合電子課程設計總 結 報 告設計項目: 基于ARM7與DS18B20的數字溫度計的設計 項目完成人: 指導教師: 學 院: 信息與計算機工程學院 專 業: 2011年7月7日綜合電子課程設計任務書學生姓名 學號 專業(班級)08級電信3班同組成員 設計項目基于ARM7與DS18B20的數字溫度計的設計設計內容本設計利用DS18B20智能溫度傳感器、ARM7 LPC2131嵌入式系統、MS12864LCD液晶屏,設計一個數字溫度采集系統。人機接口電路的設計:控制系統采用ARM7 LPC2131,鍵盤采用獨立按鍵,顯示器采用MS12864液晶屏,溫度超限報警采用LED。主要技術指標和要求1. 測
2、量溫度范圍:-50150;2. 精度:±;3. 線性度:±;4. 超限報警功能;5. 具有溫度和時間顯示功能;6. 工作電壓:總線供電。設計所用儀器設備1 ARM7 LPC2138小系統;2 高精度溫度計;3 數字萬用表;4 示波器。工作計劃12011年6月22日:下達課程設計任務書;22011年6月23日:撰寫開題報告;32011年6月25日:開題答辯PPT;42011年6月26日 6月27日:硬件分析與設計、軟件結構化設計;52011年6月28日 7月9日:電路焊接與組裝、軟件結構化編程、單元調試、系統聯調、撰寫課程設計總結報告;62011年7月10日: 課程設計結題驗
3、收,提交數字溫度計系統一套、總結報告一份。參考資料溫度傳感器DS18B20芯片資料液晶屏MS12864R中文資料嵌入式ARM7 LPC2131開發板系統原理指導教師簽子系主任簽字數字溫度計的設計摘 要本系統用ARM7 LPC2131、溫度傳感器DS18B20、液晶屏12864、LED等組成,系統可實現實時顯示當前室內溫度功能。系統除基本數字溫度計功能外,還具有顯示當前時間和日期、溫度超限報警、設置時間和日期初值功能。在設計中我們應用ARM7開發板。ARM7開發板具有豐富的硬件資源。本設計采用LPC2131控制可編程芯片DS18B20實現對溫度的采集。利用LPC213內部時鐘資源采集時間和日期。
4、溫度、時間和日期通過液晶屏12864顯示,溫度超限報警通過LED閃爍提示。本文詳細介紹了如何實現對DS18B20編程采集溫度功能,以及如何采集ARM7 LPC2131內部時鐘資源,并實現鍵盤輸入修改日期時間、溫度超限報警等功能。關鍵詞:LPC2131;DS18B20;12864;溫度超限報警; 目 錄1 緒論2 1.1 引言.21.2 系統方案設計31.3 方案論證32系統主要器件選型與依據42.1 EasyARM2131 開發板.4溫度傳感器DS18B20.5 MS12864R液晶屏簡介.63系統的硬件設計9 ARM7開發板硬件設計.9 LCD液晶屏顯示設計.9 DS18B20溫度傳感器的設
5、計. .104 系統的軟件設計11系統主流程圖11溫度傳感器功能模塊124.3液晶顯示功能模塊125 總結13參考文獻附錄A 數字溫度計設計1緒論近年來隨著科技的飛速發展,嵌入式的應用正在不斷深入,同時帶動傳統控制檢測技術日益更新。在實時檢測和自動控制的嵌入式應用系統中,嵌入式往往作為一個核心部件來使用,僅嵌入式方面知識是不夠的,還應根據具體硬件結構軟硬件結合,加以完善。溫度是一種最基本的環境參數,人們生活與環境溫度息息相關,在工業生產過程中需要實時測量溫度,在工業生產中也離不開溫度的測量,因此研究溫度的測量方法和控制具有重要的意義。DS18B20是美國DALLAS半導體公司繼DS1820之后
6、最新推出的一種改進型智能溫度傳感器,通過此次項目設計,可以在原有的理論基礎上,更加深入的了解傳感器的工作原理特別是DS18B20溫度傳感器的工作原理,同時提高我們的實踐動手能力以及邏輯思維能力,特別是拓寬了對ARM控制器的使用視野。數字溫度計的控制方式很多。本系統采用LPC2000系列ARM芯片和可編程串行I/O接口芯片DS18B20為中心器件來設計數字溫度計,實現了設計一個數字溫度采集系統,利用LCD液晶屏顯示當前溫度、時間和日期,并具有溫度超限報警功能1.2 系統方案設計 利用控制芯片、溫度傳感器、LCD液晶屏、時鐘資源、LED等分別實現:(1)實時顯示當前室內溫度(2)顯示年、月、日、星
7、期、時、分、秒;(3)能夠通過鍵盤輸入日期和時間的初值;(4)溫度超限報警;圖1-1為設計方案總體框圖溫度傳感器顯示ARM7LPC2131報警模塊按鍵圖1-1設計方案總體框圖系統初始化后,LCD上顯示當前室內溫度 ,同時LCD上顯示時間和日期,通過功能鍵能實現日期和時間的初值設定,如果溫度超過預先設定的溫度值,八個LED燈會閃爍提示溫度超限。(1)顯示模塊方案一:使用LCD液晶屏12864作為時間日期顯示,LCD 液晶顯示器的構造是在兩片平行的玻璃當中放置液態的晶體,兩片玻璃中間有許多垂直和水平的細小電線,透過通電與否來控制桿狀水晶分子改變方向,將光線折射出來產生畫面。顯示清晰,實現功能全。方
8、案二:使用8為數碼管作為顯示,通過芯片HD7279控制數碼管,可實現時間和日期還有當前溫度顯示,缺點是數碼管顯示數字,顯示不靈活多變。由于LCD可同時顯示溫度和時間,顯示清晰,實現功能全。故選用方案一LCD12864作為顯示模塊。(2) 溫度傳感器DS18B20數字溫度傳感器,該產品采用美國DALLAS公司生產的 DS18B20可組網數字溫度傳感器芯片封裝而成,具有耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設備數字測溫和控制領域。由于DS18B20性能已經夠好,控制起來也比較方便,故不需要對比,直接選用DS18B20作為溫度傳感器(3) 時鐘電路模塊方案一:DS1302一種高
9、性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V5.5V。采用三線接口與CPU進行同步通信,并可采用突發方式一次傳送多個字節的時鐘信號或RAM數據。DS1302內部有一個31×8的用于臨時性存放數據的RAM寄存器。方案二:ARM7LPC2131具有豐富的硬件資源,直接編程即可使用內部時鐘資源由于使用DS1302還得外接電路而且編程比較麻煩,故選用ARM7內部時鐘資源(4)報警電路報警電路采用8只LED,控制方便、準確。2 系統主要器件選型及依據 EasyARM2131 開發板EasyARM2131 開發板是廣州周
10、立功公司設計的 EasyARM 系列開發套件之一,采用 了 PHILIPS 公司基于 ARM7TDMI-S 核、單電源供電、LQFP64 封裝的 LPC2131,具有 JTAG 仿真調試、ISP 編程等功能。開發板上提供了一些鍵盤、LED、蜂鳴器等常用功能部件,還具有RS232 接口電路、 I2C存儲器電路。另外,用戶也可以更換兼容的CPU進行仿真調試,如LPC2132、LPC2138、 LPC2142 等。靈活的跳線組合(開發板內使用的所有I/O均可斷開連接),還有用戶I/O接 口,極大地方便了用戶進行 32 位ARM嵌入式系統的開發實驗。EasyARM2131 實驗板功能特點:* 完全自主
11、設計的軟硬件、擁有自主版權的 JTAG 仿真技術;* 支持 ADS1.2 集成開發環境及其 PHILIPS 所有型號 ARM 微控制器的仿真與開發;* 采用“主板CPU PACK 適配器SD 卡適配器(標準配置)多種可選配置適配器”* 的 形 式構成 EasyARM2131 開發 套 件,標 準 配置的 CPU PACK 主 芯片為 LPC2131FBD;* 板上的功能部件與 CPU 之間,可以使用跳線器選擇連接;* 全面支持 9 種型號的 64 PIN 小管腳 ARM7 微控制器:LPC213x(LPC2131/2132/2134/2136/2138)內置 USB 接口的 LPC214x(L
12、PC2142/2144/2146/2148)* 多種免費商業化軟件包及其詳細的開發文檔:* 移植C/OSII到ARM7 軟件包* 數據隊列軟件包* 串口驅動軟件包* MODEM接口軟件包* SPI總線軟件包* I2C總線軟件包* ZLG/FS V1.0 版本文件管理系統軟件包* ZLG/GUI圖形用戶界面軟件包* ZLG/SD卡讀寫軟件包* ZLG/USB固件程序及其驅動程序軟件包* 多種可選配置適配器:各種型號的 CPU PACK,用戶可按需求和喜好配置主 ARM 芯片MG12864 點陣圖型液晶模塊* 所有 I/O 口全部引出,方便用戶連接外部電路的開發與使用;* 可進行 GPIO 的控制
13、實驗,如鍵盤輸入、蜂鳴器控制、模擬 SPI 等;* 6 個獨立按鍵(可用于外部中斷、定時器捕獲輸入),8 個 LED 指示燈;* 具有 RS232 轉換電路,可與上位機進行通訊,完成 UART 通訊實驗;* 可以與標準串行 modem 直接接口,方便遠程通訊;* 具有I2C接口和SPI/SSP接口輸出;* 提供基于 PC 的人機界面,方便調試實時時鐘、串口通信等功能;* 可進行外部中斷實驗,學習向量中斷控制器(VIC);* 定時器控制實驗,如定時控制 LED、定時器捕獲等;* 使用板內的CAT1025(內含復位功能),完成I2C總線的實驗;* 使用 74HC595 芯片,實現 SPI 接口數據
14、發送、接收實驗;* A/D 轉換實驗;DAC 轉換實驗(更換 CPU 為 LPC2132 及以上);* 實時時鐘控制實驗;* WDT 及低功耗控制實驗;* 54 個基礎實驗及其大量的中間件軟件包,完整地驗證了幾乎所有的硬件功能資源;* 詳細的配套資料(深入淺出 ARM7LPC213x/214x(上/下冊),北航出版社,其 中上冊為標準配置)。2.2 溫度傳感器DS18B20DS18B20數字溫度計是DALLAS公司生產的1Wire,即單總線器件,具有線路簡單,體積小的特點。因此用它來組成一個測溫系統,具有線路簡單,在一根通信線,可以掛很多這樣的數字溫度計,十分方便。 DS18B20產品的特點(
15、1)、只要求一個端口即可實現通信。(2)、在DS18B20中的每個器件上都有獨一無二的序列號。(3)、實際應用中不需要外部任何元器件即可實現測溫。(4)、測量溫度范圍在55。C到125。C之間。(5)、數字溫度計的分辨率用戶可以從9位到12位選擇。(6)、內部有溫度上、下限告警設置。 DS18B20的引腳介紹TO92封裝的DS18B20的引腳排列見圖1,其引腳功能描述見表1。DS18B20的使用方法由于DS18B20采用的是1Wire總線協議方式,即在一根數據線實現數據的雙向傳輸,而對AT89S51單片機來說,硬件上并不支持單總線協議,因此,我們必須采用軟件的方法來模擬單總線的協議時序來完成對
16、DS18B20芯片的訪問。由于DS18B20是在一根I/O線上讀寫數據,因此,對讀寫的數據位有著嚴格的時序要求。DS18B20有嚴格的通信協議來保證各位數據傳輸的正確性和完整性。該協議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機作為主設備,單總線器件作為從設備。而每一次命令和數據的傳輸都是從主機主動啟動寫時序開始,如果要求單總線器件回送數據,在進行寫命令后,主機需啟動讀時序完成數據接收。數據和命令的傳輸都是低位在先。 DS18B20的復位時序DS18B20的讀時序對于DS18B20的讀時序分為讀0時序和讀1時序兩個過程。對于DS18B20的讀時隙是從主機把單總線拉低之后
17、,在15秒之內就得釋放單總線,以讓DS18B20把數據傳輸到單總線上。DS18B20在完成一個讀時序過程,至少需要60us才能完成。DS18B20的寫時序對于DS18B20的寫時序仍然分為寫0時序和寫1時序兩個過程。對于DS18B20寫0時序和寫1時序的要求不同,當要寫0時序時,單總線要被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當要寫1時序時,單總線被拉低之后,在15us之內就得釋放單總線。2.3 MS12864R液晶屏簡介MS12864R漢字圖形點陣液晶顯示模塊,可顯示漢字及圖形,內置8192個中文漢字(16X16點陣)、128個
18、字符(8X16點陣)及64X256點陣顯示RAM(GDRAM)。主要技術參數和顯示特性:電源:VDD 3.3V+5V(內置升壓電路,無需負壓);顯示內容:128列× 64行顯示顏色:黃綠顯示角度:6:00鐘直視LCD類型:STN與MCU接口:8位或4位并行/3位串行配置LED背光多種軟件功能:光標顯示、畫面移位、自定義字符、睡眠模式等模塊引腳說明MS128X64R 引腳說明引腳號引腳名稱方向功能說明1VSS-模塊的電源地2VDD-模塊的電源正端3V0-LCD驅動電壓輸入端4RS(CS)H/L并行的指令/數據選擇信號;串行的片選信號5R/W(SID)H/L并行的讀寫選擇信號;串行的數據
19、口6E(CLK)H/L并行的使能信號;串行的同步時鐘7DB0H/L數據08DB1H/L數據19DB2H/L數據210DB3H/L數據311DB4H/L數據412DB5H/L數據513DB6H/L數據614DB7H/L數據715PSBH/L并/串行接口選擇:H-并行;L-串行16NC空腳17/RETH/L復位 低電平有效18VOUT19LED_K-背光源負極(LED-OV)20LED_A-背光源正極(LED+5V)V電源地(GND):0V工作溫度(Ta):060(常溫) / -2075(寬溫)接口時序模塊有并行和串行兩種連接方法(時序如下):8位并行連接時序圖MPU寫資料到模塊MPU從模塊讀出資
20、料串行連接時序圖串行數據傳送共分三個字節完成:第一字節:串口控制格式 11111ABC A為數據傳送方向控制:H表示數據從LCD到MCU,L表示數據從MCU到LCD B為數據類型選擇:H表示數據是顯示數據,L表示數據是控制指令 C固定為0第二字節:(并行)8位數據的高4位格式 DDDD0000第三字節:(并行)8位數據的低4位格式 0000DDDD串行接口時序參數:(測試條件:T=25 VDD=4.5V)3 硬件設計3.1 ARM7開發板硬件設計系統原理圖設計如圖3-1所示,ARM7 LPC213系統實現如下功能:(1)控制溫度傳感器DS18B20讀取當前溫度值;(2)控制ARM7內部時鐘資源
21、讀取時間和日期;(3)控制LCD液晶屏顯示當前溫度、時間和日期;(4)控制LED溫度超限報警。 圖3-1 系統原理圖 LCD液晶屏顯示設計:LCD液晶屏顯示電路如圖3-2所示。該液晶可實現顯示當前年、月、日、周、時、分秒和溫度值,具體控制和實現方法如下:(1)ARM7的P0.0-P0.7口連接液晶屏的DBO-DB7,控制對液晶屏并行數據讀和寫;(2)口連接液晶屏的RS口,控制并行的指令/數據選擇信號;(3)ARM7的P0.9口連接液晶屏的R/W口,控制并行的讀寫選擇信號;(4)ARM7的P0.10口連接液晶屏的EN口,控制并行的使能信號;(5)ARM7的P0.11口連接液晶屏的PSB口,控制并
22、/串行接口選擇:H-并行;L-串行;(6)ARM7的P0.12口連接液晶屏的RET口,實現對液晶屏的復位,低電平有效; 圖3-2LCD液晶屏電路圖3.3 DS18B20溫度傳感器的設計電路如圖3-3所示,該溫度傳感器電路可實現對溫度傳感器DS18B20數據的讀寫,具體控制方法如下:(1) ARM7的P0.30口連接DS18B20的DQ口,控制串行數據的讀和寫;(2) DS18B20 的VDD連接到ARM7開發板的VDD上;(3) DS18B20 的GND連接到ARM7開發板的GND上;圖3-3 溫度傳感器電路4 系統的軟件設計4.1系統主流程圖圖4-1為系統主流程圖,主流程圖具體介紹如下:(1
23、)系統初始化包括對DS18B20進行初始化、設定GPIO、RTC初始化、液晶屏初始化;(2)初始化之后顯示當前室內溫度同時顯示日期和時間;(3)與此同時進行按鍵判斷,如果有按鍵繼續判斷是什么按鍵,如果是修改時間按鍵那么修改時間;如果是修改日期按鍵那么修改日期。如沒有按鍵按下,那么判斷室內溫度是否超過預先設定值,如果超過驅動LED閃爍報警。開始系統初始化顯示時間、日期、溫度有按鍵?NYNY修改年?修改年值NY修改月?修改月值NY修改日?修改日值NY修改周?修改周值NY修改時?修改時值NY修改分?修改分值溫度超過限?YNLED閃爍報警圖4-1 系統主流程圖4.2溫度傳感器功能模塊圖4-2為溫度傳感
24、器功能模塊流程圖; 開始初始化溫度傳感器向溫度傳感器寫指令讀取溫度傳感器數據數據轉化為溫度顯示結束圖4-2 溫度傳感器功能模塊流程圖4.3液晶顯示功能模塊圖4-3為液晶顯示功能模塊流程圖; 開始LCD初始化寫命令到LCD寫數據到LCD顯示圖4-3 液晶顯示功能模塊流程圖5總結本系統利用控制芯片、溫度傳感器、LCD液晶屏、LED等分別實現:(1)實時顯示當前室內溫度(2)顯示年、月、日、星期、時、分、秒;(3)能夠通過鍵盤輸入日期和時間的初值;(4)溫度超限報警;系統設計簡便、實用性強、操作簡單、程序設計簡便。 系統不足:時間和日期初值設定中利用按鍵較多,此外還沒有充分考慮到溫度超限報警的多變性
25、,溫度報警上限不可調節,只能預先程序中設定超限報警溫度值。一周的綜合電子工藝課程設計結束了,可能在別人看來,這或許只是一個小的設計,可是它給于我的卻不僅僅是這樣,認真的做課程設計,運用ARM做一個系統的東西,我從心里給予了足夠的重視。剛開始做總是出問題,多次重新分析,從細節著手尋找問題,最后找到了。發現自己想象的太多、太復雜,實際上只需要很簡單的一種方法就可以的,問題解決了,也給我很多收獲。我覺得自己的方法不可行,關鍵的原因在于自己對ARM的工作原理沒有透徹的理解,所以就不能很好的理解老師的設計要求,結果就造成了很多的彎路,找不到一種合理的途徑去解決問題。希望以后有機會可以多做一些這樣的設計,
26、增強自己的設計意識,加深所學的知識。參考文獻4 汪建軍.基于非平衡電橋的電阻數字溫度計設計J.浙江萬里學院學報,20096 宋文緒、楊帆.傳感器與檢測技術M.高等教育出版社,2004:附錄A/* * 描述: *(1)此程序所有延時采用定時器做(3)開發板上P0.0-P0.7口連接液晶屏的DBO-DB7,其他液晶口線連接詳見程序中宏定義(4)如需液晶顯示的更清楚,需在液晶屏上加10K電位器,調節液晶屏輸入參考電壓* */#include <LPC213X.H>#define eq 1<<30#define uint8 unsigned char #define Fpclk
27、 11059200#define key1 1<<16#define key2 1<<17#define key3 1<<18#define key4 1<<19#define key5 1<<20#define key6 1<<21int nn=0,yy=0,rr=0,zz=0,ss=0,ff=0,mm=0;/*定義與LCD相關的宏*/#define LCD_DATA 0xFF #define LCD_DI 1<<8 /與p0.8對應 #define LCD_EN 1<<10 /與p0.10對應.
28、#define LCD_RST 1<<12 /與p0.12對應/上電自動復位,一般也可以不接*#define clear_screen 0x01#define reset_address 0x02#define set_point 0x06 / 0000_0110#define display_set 0x0c /顯示設定#define cursor_shift_control 0x1c /0001_1100#define function_set 0x30 /功能設定 基本指令集#define function_set_ext 0x36 /功能設定 擴充指令集 繪圖開/#defi
29、ne set_CGRAM_ADD #define set_DDRAM_ADD 0x80/#define write_data_intenalRAM unsigned char digit10="0123456789" /定義字符數組顯示數字void delay1u(unsigned long t) T1PR = 0x00000000; /Load prescaler T1TCR = 0x00000003; /Reset counter and prescaler T1MCR = 0x00000003; /On match reset the counter and gene
30、rate an interrupt T1MR0 = t*0x0f; /Set the cycle time T1TCR = 0x00000001; /enable timer while(T1IR & 0x01) = 0); T1IR = 0x01; T1TCR = 0x00000000;/*/*/void LCD_DATA_input() IO0DIR = IO0DIR & (LCD_DATA); /把設定為輸入/*/void LCD_DATA_output() IO0DIR = IO0DIR | LCD_DATA; /設定為輸出/*/void CheckState( )/狀
31、態檢查,LCD是否忙? delay1u(200);/while(read_instruct();/*/* 函數名稱:GPIO_Init()* 函數功能:初始化IO端口,包含一個uart0,三個按鍵輸入,以及幾個普通的輸入輸出端口.* 入口參數:無* 出口參數:無 */*void GPIO_init() PINSEL0 = 0; IO0DIR = 0xFF<<8; */* 函數名稱: w_data(unsigned char data_Lcm)* 函數功能:給LCD發送數據或者命令.* 入口參數:data_Lcm* 出口參數:無 */void W_data(uint8 data_Lc
32、m)CheckState();LCD_DATA_output(); IO0SET = LCD_DI;IO0CLR = LCD_RW;IO0CLR = 0xFF;IO0SET = data_Lcm;IO0SET = LCD_EN;IO0CLR = LCD_EN;/* 函數名稱:* 函數功能:* 入口參數:* 出口參數: */void W_instruct(uint8 data_Lcm)CheckState();LCD_DATA_output(); IO0CLR = LCD_DI;IO0CLR = LCD_RW;IO0CLR = 0xFF;IO0SET = data_Lcm;IO0SET = LC
33、D_EN;IO0CLR = LCD_EN;/* 函數名稱LCD_Init()* 函數功能:初始化lcd顯示屏* 入口參數:無* 出口參數:無 */void init_lcd(void)IO0SET = LCD_RST;IO0CLR = LCD_RST;IO0SET = LCD_RST;IO0SET = LCD_PSB;IO0SET = LCD_PSB;W_instruct(function_set);W_instruct(display_set);W_instruct(clear_screen);W_instruct(reset_address);W_instruct(set_DDRAM_AD
34、D);/* 函數名稱:* 函數功能: 寫漢字到 LCDx_add 顯示 RAM 的地址dat1/dat2 顯示漢字編碼指定的位置* 入口參數:* 出口參數: */*void display(uint8 x_add,uint8 dat1,uint8 dat2) W_instruct(x_add); /1xxx,xxxx 到地址計數器 ACW_data(dat1);W_data(dat2);*/*/*/void write(unsigned char date) unsigned char i=0; for (i=8; i>0; i-) IO0DIR |= eq; /改回輸出IO0SET |
35、= eq;delay1u(2); IO0CLR = eq; if(date&0x01) IO0SET |= eq; /釋放總線 delay1u(80); else IO0CLR = eq; delay1u(80); delay1u(30); IO0SET |= eq; delay1u(3); date>>=1; delay1u(6);unsigned char read() unsigned char i=0; unsigned char date = 0; for (i=8;i>0;i-) date>>=1; IO0DIR |= eq; /改回輸出IO0
36、SET |= eq;delay1u(2); IO0CLR = eq; / 給脈沖信號 delay1u(2);IO0SET |= eq; delay1u(13); IO0DIR = IO0DIR&0xBFFFFFFF; / 拉高總線輸入 delay1u(12); if(IO0PIN&eq) date |=0x80; delay1u(3); return date; unsigned char innit() unsigned char num; IO0DIR |= eq; /稍做延時 IO0CLR = eq; /將DQ拉低 delay1u(600); /精確延時 大于 480us
37、 480 IO0SET = eq; delay1u(30); IO0DIR &= 0xBFFFFFFF; /拉高總線輸入 delay1u(30); if(IO0PIN &eq) =0) num=0; else num=1; IO0SET = num; delay1u(200); /300 return num; void zhun() innit(); write(0xCC); write(0x44); delay1u(900000); innit();write(0xCC); write(0xBE);void display_temp1(unsigned char x) in
38、t i; unsigned char a,b,c; /j,k,l分別儲存溫度的百位、十位和個位 unsigned char k9 = "溫度是:"unsigned char l16=("數字溫度計姚-連"); W_instruct(0x88);for(i=0;i<9;i+)W_data(ki); W_instruct(0x98); for(i=0;i<16;i+) W_data(li); a=x/100; /取百位 b=(x%100)/10; /取十位 c=x%10; /取個位 W_instruct(0x8C); /寫顯示地址,將在第2行第7
39、列開始顯示 W_data(digita); /將百位數字的字符常量寫入LCD W_data(digitb); /將十位數字的字符常量寫入LCD W_data(digitc); /將個位數字的字符常量寫入LCD delay1u(100); /延時1ms給硬件一點反應時間 void display_temp2(unsigned char x) unsigned char t ="" /寫顯示地址,將在第2行第11列開始顯示 W_data('.'); W_data(digitx); /將小數部分的第一位數字字符常量寫入LCD W_instruct(0x8F); W
40、_data(t0); W_data(t1); W_data(t2); delay1u(100); /延時1ms給硬件一點反應時間/* 函數名稱 :RTCInit()* 函數功能 :初始化實時時鐘* 入口參數 :無* 出口參數 :無*/void RTCInit (void)PREINT = Fpclk / 32768 - 1;/ 設置基準時鐘分頻器PREFRAC = Fpclk - (Fpclk / 32768) * 32768;CCR = 0x00;/ 禁止時間計數器YEAR = 2008+nn;MONTH = 04+yy;DOM = 01+rr;DOW = 4+zz;HOUR = 8+ss;MIN = 30+ff;SEC = 59+mm;CIIR = 0x01;/ 設置秒值的增量產生1次中斷CCR = 0x01;/ 啟動RTC /* 函數名稱 :SendTimeRtc()* 函數功能 :讀取RTC的時間值,并將讀出的時分秒值通過串口送到上位機顯示。* 入口參數 :無* 出口參數 :無*/void SendTimeRtc (void) unsigned char a,b,c,d; int datas;int times; int ba
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆湖北省孝感市漢川市第二中學高三一診考試英語試卷含答案
- 2025年云南省昆明市祿勸縣一中高考英語二模試卷含答案
- 初級消防設施操作員習題庫及答案
- 分析化學練習題庫(含答案)
- 海洋石油鉆探的深海地質調查進展考核試卷
- 電氣機械設備施工安裝考核試卷
- 繼續拓展調味品與發酵制品相關主題考核試卷
- 電力設備維護與保養管理考核試卷
- 玻璃行業生產過程中的能源管理考核試卷
- 航標反射器設計原理考核試卷
- 全友家居導購員銷售流程及常用銷售話術
- 2025年建筑施工安全管理人員安全生產考試題庫
- 十萬頭生態養豬場項目可行性報告
- 2025年安全評價師職業資格考試真題回顧與模擬試題
- 2025年陜西省高考適應性檢測(三)語文試題及參考答案
- 湖北省武漢市2025屆高中畢業生四月調研考試語文試卷及答案(武漢四調)
- 2024國家安全教育大學生讀本題庫
- 工序自檢、互檢、巡檢制度(共8頁)
- 《春夜喜雨》PPT
- 銀行間債券市場非金融企業債務融資工具持有人會議規程
- 管道鋪設用地征收
評論
0/150
提交評論