嵌入式實(shí)訓(xùn)設(shè)計(jì)報(bào)有代碼_第1頁(yè)
嵌入式實(shí)訓(xùn)設(shè)計(jì)報(bào)有代碼_第2頁(yè)
嵌入式實(shí)訓(xùn)設(shè)計(jì)報(bào)有代碼_第3頁(yè)
嵌入式實(shí)訓(xùn)設(shè)計(jì)報(bào)有代碼_第4頁(yè)
嵌入式實(shí)訓(xùn)設(shè)計(jì)報(bào)有代碼_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

日照職業(yè)技術(shù)學(xué)院嵌入式實(shí)訓(xùn)設(shè)計(jì)報(bào)告2012-2013學(xué)年第一學(xué)期題目:基于嵌入式ARM勺數(shù)字溫度測(cè)量?jī)x學(xué)院:信息科學(xué)與工程學(xué)院專業(yè):移動(dòng)通信期0(3G軟件開(kāi)發(fā))班級(jí):2011級(jí)移動(dòng)通信技術(shù)一班小組:姓名/學(xué)號(hào):仇念忍(201115060104董傳榮(201115060105張士偉(201115060145指導(dǎo)教師:陳祥艷日期:第一章緒論弓?百,-5i'I*…T'I*"…**'1系統(tǒng)方案設(shè)計(jì)1方案設(shè)計(jì)*2第二章系統(tǒng)主要器件EasyARM2131開(kāi)發(fā)板**2溫度傳感器DS18B202MS12864R液晶屏簡(jiǎn)介*14第三章硬件設(shè)計(jì)ARM7開(kāi)發(fā)板硬件設(shè)計(jì)***7LCD液晶屏顯示設(shè)計(jì)7第四章系統(tǒng)的軟件設(shè)計(jì)系統(tǒng)主流程圖,——….9溫度傳感器功能模塊*****10液晶顯小功能模塊10第五章總結(jié)*一.…11附錄A12""前期準(zhǔn)備:董傳榮:編寫(xiě)程序并制定實(shí)訓(xùn)報(bào)告張士偉:負(fù)責(zé)修改實(shí)訓(xùn)報(bào)告仇念忍:負(fù)責(zé)運(yùn)行程序并調(diào)試程序數(shù)字溫度測(cè)量?jī)x緒論引言近年來(lái)隨著科技的飛速發(fā)展,嵌入式的應(yīng)用正在不斷深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)技術(shù)日益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的嵌入式應(yīng)用系統(tǒng)中,嵌入式往往作為一個(gè)核心部件來(lái)使用,僅嵌入式方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。溫度是一種最基本的環(huán)境參數(shù),人們生活與環(huán)境溫度息息相關(guān),在工業(yè)生產(chǎn)過(guò)程中需要實(shí)時(shí)測(cè)量溫度,在工業(yè)生產(chǎn)中也離不開(kāi)溫度的測(cè)量,因此研究溫度的測(cè)量方法和控制具有重要的意義。DS18B201美國(guó)DALLA芥導(dǎo)體公司繼DS1820之后最新推出的一種改進(jìn)型智能溫度傳感器,通過(guò)此次項(xiàng)目設(shè)計(jì),可以在原有的理論基礎(chǔ)上,更加深入的了解傳感器的工作原理特別是DS18B20?度傳感器的工作原理,同時(shí)提高我們的實(shí)踐動(dòng)手能力以及邏輯思維能力,特別是拓寬了對(duì)ARM空制器的使用視野。數(shù)字溫度計(jì)的控制方式很多。本系統(tǒng)采用LPC2000系列ARM芯片和可編程串行I/O接口芯片DS18B2吻中心器件來(lái)設(shè)計(jì)數(shù)字溫度計(jì),實(shí)現(xiàn)了設(shè)計(jì)一個(gè)數(shù)字溫度采集系統(tǒng),利用LCD液晶屏顯示當(dāng)前溫度并具有溫度超限報(bào)警功能。系統(tǒng)方案設(shè)計(jì)利用控制芯片、溫度傳感器、LCD夜晶屏、LED等分別實(shí)現(xiàn):(1)實(shí)時(shí)顯示當(dāng)前室內(nèi)溫度(5(度)<T<80(度));(2)溫度超限報(bào)警;設(shè)計(jì)方案總體框圖如下:系統(tǒng)初始化后,LCD上顯示當(dāng)前室內(nèi)溫度,如果溫度超過(guò)預(yù)先設(shè)定的溫度值,八個(gè)LEW會(huì)閃爍提示溫度超限。方案設(shè)計(jì):(1)顯示模塊使用LCD液晶屏12864作為溫度顯示,LCD液晶顯示器的構(gòu)造是在兩片平行的玻璃當(dāng)中放置液態(tài)的晶體,兩片玻璃中間有許多垂直和水平的細(xì)小電線,透過(guò)通電與否來(lái)控制桿狀水晶分子改變方向,將光線折射出來(lái)產(chǎn)生畫(huà)面。顯示清晰,實(shí)現(xiàn)功能全。(2)溫度傳感器DS18B20數(shù)字溫度傳感器,該產(chǎn)品采用美國(guó)DALLA然司生產(chǎn)的DS18B20可組網(wǎng)數(shù)字溫度傳感器芯片封裝而成,具有耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測(cè)溫和控制領(lǐng)域。(3)報(bào)警電路報(bào)警電路采用8只LED,控制方便、準(zhǔn)確。2系統(tǒng)主要器件2.1EasyARM2131開(kāi)發(fā)板EasyARM2131FF發(fā)板是廣州周立功公司設(shè)計(jì)的EasyARM(列開(kāi)發(fā)套件之一,采用了PHILIPS公司基于ARM7TDMI-S核、單電源供電、LQFP6準(zhǔn)寸裝的LPC2131,具有JTAG仿真調(diào)試、ISP編程等功能。開(kāi)發(fā)板上提供了一些鍵盤(pán)、LED蜂鳴器等常用功能部件,還具有RS232接口電路、I2c存儲(chǔ)器電路。另外,用戶也可以更換兼容的CPU!行仿真調(diào)試,如LPC2132LPC2138LPC2142等。靈活的跳線組合(開(kāi)發(fā)板內(nèi)使用的所有I/O均可斷開(kāi)連接),還有用戶I/O接口,極大地方便了用戶進(jìn)行32位ARMK入式系統(tǒng)的開(kāi)發(fā)實(shí)驗(yàn)。2.2溫度傳感器DS18B20DS18B2O字溫度計(jì)是DALLA宓司生產(chǎn)的1—Wire,即單總線器件,具有線路簡(jiǎn)單,體積小的特點(diǎn)。因此用它來(lái)組成一個(gè)測(cè)溫系統(tǒng),具有線路簡(jiǎn)單,在一根通信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。DS18B2產(chǎn)品的特點(diǎn)(1)、只要求一個(gè)端口即可實(shí)現(xiàn)通信。(2)、在DS18B20^的每個(gè)器件上都有獨(dú)一無(wú)二的序列號(hào)。(3)、實(shí)際應(yīng)用中不需要外部任何元器件即可實(shí)現(xiàn)測(cè)溫。(4)、測(cè)量溫度范圍在一55。C到+125。C之間。(5)、數(shù)字溫度計(jì)的分辨率用戶可以從9位到12位選擇(6)、內(nèi)部有溫度上、下限告警設(shè)置。DS18B20勺弓|腳介紹TO92封裝的DS18B20勺弓|腳排歹1」見(jiàn)下圖1,其引腳功能描述見(jiàn)下表1f底視期)圖1依口不專維引國(guó)功能提述亨居3彝引咽1蹌物江腑助值號(hào)1W料鷲琢i耳出引懺斯單克武強(qiáng)口引職.當(dāng)花用膏在蓄叟電薄不,也可以冉朋停用串電卜前力可就鼻即m引鼻t當(dāng)工作于有生mtf假引imua增.DS18B20勺使用方法由于DS18B2樂(lè)用的是1—Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,而對(duì)AT89S51單片機(jī)來(lái)說(shuō),硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來(lái)模擬單總線的協(xié)議時(shí)序來(lái)完成對(duì)DS18B205片的訪問(wèn)。由于DS18B2Q1在一根I/O線上讀寫(xiě)數(shù)據(jù),因此,對(duì)讀寫(xiě)的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。DS18B20t嚴(yán)格的通信協(xié)議來(lái)保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號(hào)的時(shí)序:初始化時(shí)序、讀時(shí)序、寫(xiě)時(shí)序。所有時(shí)序都是將主機(jī)作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動(dòng)啟動(dòng)寫(xiě)時(shí)序開(kāi)始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫(xiě)命令后,主機(jī)需啟動(dòng)讀時(shí)序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。DS18B20勺復(fù)位時(shí)序

VDCGMD“二機(jī)工一匕也上豚門(mén)?-二暝技也三泯色-回最?。?,VDCGMD“二機(jī)工一匕也上豚門(mén)?-二暝技也三泯色-回最?。?,48Qjq后大,直才96(Xib15sp4-D318B2。發(fā)出——?BOuc■RIt?B■?4>?iV4t*Ht鹿里絲_■■BDS12B2口出琦位時(shí)艇小DS18B20勺讀時(shí)序?qū)τ贒S18B20I勺讀時(shí)序分為讀0時(shí)序和讀1時(shí)序兩個(gè)過(guò)程。對(duì)于DS18B205勺讀時(shí)序是從主機(jī)把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,以讓DS18B20G數(shù)據(jù)傳輸至IJ單總線上。DS18B20ft完成一個(gè)讀時(shí)序過(guò)程,至少需要60us才能完成。DS18B20勺寫(xiě)時(shí)序?qū)τ贒S18B20I勺寫(xiě)時(shí)序仍然分為寫(xiě)0時(shí)序和寫(xiě)1時(shí)序兩個(gè)過(guò)程。對(duì)于DS18B20W0時(shí)序和寫(xiě)1時(shí)序的要求不同,當(dāng)要寫(xiě)0時(shí)序時(shí),單總線要被拉低至少60us,保證DS18B2觸夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當(dāng)要寫(xiě)1時(shí)序時(shí),單總線被拉低之后,在15us之內(nèi)就得釋放單總線。主刊耳一值 主刊耳一值 -? ?-'litf 支E禺3T密2.3MS12864R夜晶屏簡(jiǎn)介MS12864RS字圖形點(diǎn)陣液晶顯示模塊,可顯示漢字及圖形,內(nèi)置8192個(gè)中文漢字(16X16點(diǎn)陣)、128個(gè)字符(8X16點(diǎn)陣)及64X256點(diǎn)陣顯示RAM(GDRAM主要技術(shù)參數(shù)和顯示特性:電源:VDD3.3V~+5V的置升壓電路,無(wú)需負(fù)壓);顯示內(nèi)容:128歹UX64行顯示顏色:黃綠顯示角度:6:00鐘直視LCDgfeS:STN與MClft口:8位或4位并行/3位用行配置LED背光多種軟件功能:光標(biāo)顯示、畫(huà)面移位、自定義字符、睡眠模式等模塊引腳說(shuō)明MS128X64引腳說(shuō)明引腳號(hào)引腳名稱方向功能說(shuō)明1VSS-模塊的電源地2VDD-模塊的電源止端3V0-LCDB動(dòng)電壓輸入端4RS(CS)H/L并行的指令/數(shù)據(jù)選擇信號(hào);串行的片選信號(hào)5R/W(SID)H/L并行的讀寫(xiě)選擇信號(hào);串行的數(shù)據(jù)口6E(CLK)H/L并行的使能信號(hào);串行的同步時(shí)鐘7DB0H/L數(shù)據(jù)08DB1H/L數(shù)據(jù)19DB2H/L數(shù)據(jù)210DB3H/L數(shù)據(jù)311DB4H/L數(shù)據(jù)412DB5H/L數(shù)據(jù)513DB6H/L數(shù)據(jù)614DB7H/L數(shù)據(jù)715PSBH/L并/串行接口選擇:H-并行;L-申行16NC空腳17/RETH/L復(fù)位低電平有效18VOUT19LED_K-背光源負(fù)極(LED-OV20LED_A-背光源正極(LED+5V邏輯工作電壓(VDD):4.5?5.5V電源地(GND):0V工作溫度(Ta):0?60c(常溫)/-20?75c(寬溫)接口時(shí)序模塊有并行和串行兩種連接方法(時(shí)序如下):8位并行連接時(shí)序圖MPU1資料到模塊MPUA模塊讀出資料申行連接時(shí)序圖csJV1234561691011121314151617IS1920212223241 11.1 1 01 11.1 1 0 0口。。口口。口「SID申行數(shù)據(jù)傳送共分三個(gè)字節(jié)完成:第一字節(jié):串口控制一格式11111ABCA為數(shù)據(jù)傳送方向控制:H表示數(shù)據(jù)從LCD到MCUL表示數(shù)據(jù)從MCLSJLCDB為數(shù)據(jù)類型選擇:H表示數(shù)據(jù)是顯示數(shù)據(jù),L表示數(shù)據(jù)是控制指令C固定為0第二字節(jié):(并行)8位數(shù)據(jù)的高4位一格式DDDD0000第三字節(jié):(并行)8位數(shù)據(jù)的低4位一格式0000DDDD串行接口時(shí)序參數(shù):(測(cè)試條件:T=25CVDD=4.5V)3硬件設(shè)計(jì)ARM7開(kāi)發(fā)板硬件設(shè)計(jì)ARM7LPC21系統(tǒng)實(shí)現(xiàn)如下功能:(1)控制溫度傳感器DS18B2順取當(dāng)前溫度值;(2)控制LCD1晶屏顯示當(dāng)前溫度。(3)控制LED溫度超限報(bào)警。LCD液晶屏顯示設(shè)計(jì):LCD夜晶屏顯示電路如下圖所示。該液晶可實(shí)現(xiàn)顯示當(dāng)前的溫度值,具體控制和實(shí)現(xiàn)方法如下:ARM7勺P0.0-P0.7口連接液晶屏的DBO-DB7控制對(duì)液晶屏并行數(shù)據(jù)讀和寫(xiě);ARM7勺P0.8口連接液晶屏的RS口,控制并行的指令/數(shù)據(jù)選擇信號(hào);ARM7勺P0.9口連接液晶屏的R/W口,控制并行的讀寫(xiě)選擇信號(hào);ARM7勺P0.10口連接液晶屏的ENH,控制并行的使能信號(hào);;ARM7勺P0.11口連接液晶屏的PSB口,控制并/串行接口選擇:H-并行;L-申行;LCD夜晶屏電路圖DS18B20溫度傳感器的設(shè)計(jì)電路如下圖所示,該溫度傳感器電路可實(shí)現(xiàn)對(duì)溫度傳感器DS18B2O據(jù)的讀寫(xiě),具體控制方法如下:ARM7勺P0.30口連接DS18B20勺DQ口,控制串行數(shù)據(jù)的讀和寫(xiě);

DS18B20的VDD1接至UARM折發(fā)板的VDD±;DS18B20的GND1接到ARM折發(fā)板的GNDh;溫度傳感器電路4系統(tǒng)的軟件設(shè)計(jì)系統(tǒng)主流程圖圖為系統(tǒng)主流程圖,主流程圖具體介紹如下:(1)系統(tǒng)初始化包括對(duì)DS18B20S行初始化、設(shè)定GPIORTCa始化、液晶屏初始化;(2)初始化之后顯示當(dāng)前室內(nèi)溫度;(3)判斷室內(nèi)溫度是否超過(guò)預(yù)先設(shè)定值,如果超過(guò)驅(qū)動(dòng)LED閃爍報(bào)警。系統(tǒng)主流程圖4.2溫度傳感器功能模塊開(kāi)始結(jié)束溫度傳感器功能模塊流程圖4.3液晶顯7K功能模塊開(kāi)始LCD初始化寫(xiě)命令到LCD液晶顯示功能模塊流程圖5總結(jié)本系統(tǒng)利用控制芯片、溫度傳感器、LCD1晶屏、LED等分別實(shí)現(xiàn):(1)實(shí)時(shí)顯示當(dāng)前室內(nèi)溫度;(2)能夠通過(guò)鍵盤(pán)輸入日期和時(shí)間的初值;(3)溫度超限報(bào)警;一周的綜合電子工藝課程設(shè)計(jì)結(jié)束了,可能在別人看來(lái),這或許只是一個(gè)小的設(shè)計(jì),可是它給于我的卻不僅僅是這樣,認(rèn)真的做課程設(shè)計(jì),運(yùn)用ARMK一個(gè)系統(tǒng)的東西,我從心里給予了足夠的重視。剛開(kāi)始做總是出問(wèn)題,多次重新分析,從細(xì)節(jié)著手尋找問(wèn)題,最后找到了。發(fā)現(xiàn)自己想象的太多、太復(fù)雜,實(shí)際上只需要很簡(jiǎn)單的一種方法就可以的,問(wèn)題解決了,也給我很多收獲。我覺(jué)得自己的方法不可行,關(guān)鍵的原因在于自己對(duì)ARM勺工作原理沒(méi)有透徹的理解,所以就不能很好的理解老師的設(shè)計(jì)要求,結(jié)果就造成了很多的彎路,找不到一種合理的途徑去解決問(wèn)題。希望以后有機(jī)會(huì)可以多做一些這樣的設(shè)計(jì),增強(qiáng)自己的設(shè)計(jì)意識(shí),加深所學(xué)的知識(shí)。附錄A描述:(1)此程序所有延時(shí)采用定時(shí)器做(2)開(kāi)發(fā)板上的P0.30口連接溫度傳感器DQ口線開(kāi)發(fā)板上P0.0-P0.7口連接液晶屏的DBO-DB,7其他液晶口線連接詳見(jiàn)程序中宏定義(4)如需液晶顯示的更清楚,需在液晶屏上加10K電位器,調(diào)節(jié)液晶屏輸入?yún)⒖茧妷?include<LPC213X.H>#defineeq1<<30#defineuint8unsignedchar#defineFpclk11059200#definekey11<<16#definekey21<<17#definekey31<<18#definekey41<<19#definekey51<<20#definekey61<<21intnn=0,yy=0,rr=0,zz=0,ss=0,ff=0,mm=0;/*******************定義與LCDffi關(guān)的宏*******************#defineLCD_DATA0xFF#defineLCD_DI1<<8//與p0.8對(duì)應(yīng)#defineLCD_RW1<<9//與p0.9對(duì)應(yīng)#defineLCD_EN1<<10//與p0.10對(duì)應(yīng).#defineLCD_PSB1<<11//與p0.11對(duì)應(yīng)//電路直接拉高#defineLCD_RST1<<12//與p0.12對(duì)應(yīng)//上電自動(dòng)復(fù)位,一般也可以不接*#defineclear_screen0x01#definereset_address0x02#defineset_point0x06//0000_0110#definedisplay_set0x0c//顯示設(shè)定#definecursor_shift_control0x1c//0001_1100#definefunction_set0x30//功能設(shè)定基本指令集#definefunction_set_ext0x36//功能設(shè)定擴(kuò)充指令集繪圖開(kāi)//#defineset_CGRAM_ADD#defineset_DDRAM_ADD0x80//#definewrite_data_intenalRAMunsignedchardigit[10]={"0123456789"};//定義字符數(shù)組顯示數(shù)字voiddelay1u(unsignedlongt)T1PR=0x00000000;//Loadprescaler

andT1TCR=0x00000003;//ResetcounterandprescalerandT1MCR=0x00000003;//OnmatchresetthecountergenerateaninterruptT1MR0=t*0x0f;//SetthecycletimeT1TCR=0x00000001;//enabletimerwhile((T1IR&0x01)==0);T1IR=0x01;T1TCR=0x00000000;}voidLCD_DATA_input(){IO0DIR=IO0DIR&(~LCD_DATA);//把p1.16-p1.23設(shè)定為輸入}voidLCD_DATA_output(){IO0DIR=IO0DIR|LCD_DATA;//設(shè)定p0.0-p0.7為輸出}voidCheckState()〃狀態(tài)檢查,LC渥否忙?{delay1u(200);//while(read_instruct());**函數(shù)名稱:GPIO_Init()**函數(shù)功能:初始化IO端口,包含一個(gè)uart0,三個(gè)按鍵輸入,以及幾個(gè)普通的輸入輸出端口.**入口參數(shù):無(wú)**出口參數(shù):無(wú)/*voidGPIO_init(){PINSEL0=0;IO0DIR=0xFF<<8;}**函數(shù)名稱:w_data(unsignedchardata_Lcm)**函數(shù)功能:給LCD發(fā)送數(shù)據(jù)或者命令.**入口參數(shù):data_Lcm**出口參數(shù):無(wú)voidW_data(uint8data_Lcm){CheckState();LCD_DATA_output();IO0SET=LCD_DI;IO0CLR=LCD_RW;IO0CLR=0xFF;IO0SET=data_Lcm;IO0SET=LCD_EN;IO0CLR=LCD_EN;}**函數(shù)名稱:**函數(shù)功能:**入口參數(shù):**出口參數(shù):voidW_instruct(uint8data_Lcm){CheckState();LCD_DATA_output();IO0CLR=LCD_DI;IO0CLR=LCD_RW;IO0CLR=0xFF;IO0SET=data_Lcm;IO0SET=LCD_EN;IO0CLR=LCD_EN;**函數(shù)名稱LCD_Init()**函數(shù)功能:初始化led顯示屏**入口參數(shù):無(wú)**出口參數(shù):無(wú)voidinit_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_ADD);}**函數(shù)名稱:***函數(shù)功能:寫(xiě)漢字到LCDx_add顯示RAM的地址dat1/dat2顯示漢字編碼指定的位置***入口參數(shù):***出口參數(shù):/*voiddisplay(uint8x_add,uint8dat1,uint8dat2){W_instruct(x_add);//1xxx,xxxx到地址計(jì)數(shù)器ACW_data(dat1);W_data(dat2);}voidwrite(unsignedchardate){unsignedchari=0;for(i=8;i>0;i--){IO0DIR|=eq;//改回輸出IO0SET|=eq;delay1u(2);IO0CLR=eq;if(date&0x01){IO0SET|=eq;//釋放總線delay1u(80);}elseIO0CLRIO0CLR=eq;// 給脈沖信號(hào)IO0CLR=eq;delay1u(80);}delay1u(30);IO0SET|=eq;delay1u(3);date>>=1;}delay1u(6);}unsignedcharread(){unsignedchari=0;unsignedchardate=0;for(i=8;i>0;i--){date>>=1;改回輸出IO0DIR|=eq;//改回輸出IO0SET|=eq;delay1u(2);delay1u(2);IO0SET|=eq;delay1u(13);IO0DIR=IO0DIR&0xBFFFFFFF;//拉高總線輸入delay1u(12);if(IO0PIN&eq)date|=0x80;delay1u(3);}returndate;}unsignedcharinnit(){unsignedcharnum;IO0DIR|=eq;//稍做延時(shí)IO0CLR=eq;//delay1u(600);//IO0SET=eq;delay1u(30);IO0DIR&=0xBFFFFFFF;//delay1u(30);將DQi低精確延時(shí)大于480us480拉高總線輸入if((IO0PIN&eq)==0){num=0;}else{num=1;}IO0SET=num;delay1u(200);//300returnnum;}voidzhun(){innit();write(0xCC);write(0x44);delay1u(900000);innit();write(0xCC);write(0xBE);

voiddisplay_temp1(unsignedcharx)inti;分別儲(chǔ)存溫度的百位、十位和個(gè)位unsignedchara,b,c;//j,k,l分別儲(chǔ)存溫度的百位、十位和個(gè)位unsignedchark[9]={"溫度是:"};unsignedcharl[16]=("數(shù)字溫度計(jì)姚unsignedcharl[16]=("數(shù)字溫度計(jì)姚 --連");W_instruct(0x88);for(i=0;i<9;i++)W_data(k[i]);W_instruct(0x98);for(i=0;i<16;i++)W_data(l[i]);a=x/100;//取百位b=(x%100)/10;//取十位c=x%10;//取個(gè)位W_instruct(0x8C);//寫(xiě)顯示地址,將在第2行第7列開(kāi)始顯示W(wǎng)_data(digit[a]);W_data(digit[a]);//W_data(digit[b]);//W_data(digit[c]);//delay1u(100); //TOC\o"1-5"\h\z將百位數(shù)字的字符常量寫(xiě)入LCD將十位數(shù)字的字符常量寫(xiě)入LCD將個(gè)位數(shù)字的字符常量寫(xiě)入LCD延時(shí)1ms給硬件一點(diǎn)反應(yīng)時(shí)間voiddisplay_temp2(unsignedcharx)unsignedchart[]unsignedchart[]={"};//寫(xiě)顯示地址,將在第2行第11列開(kāi)始顯示W(wǎng)_data('.');W_data(digit[x]);//LCDW_instruct(0x8F);W_data(t[0]);W_data(t[1]);W_data(t[2]);delay1u(100);//}**函數(shù)名稱:RTCInit()將小數(shù)部分的第一位數(shù)字字符常量寫(xiě)入延時(shí)1ms給硬件一點(diǎn)反應(yīng)時(shí)間*函數(shù)功能:初始化實(shí)時(shí)時(shí)鐘*入口參數(shù):無(wú)*出口參數(shù):無(wú)voidRTCInit(void){PREINT=Fpclk/32768-1;//設(shè)置基準(zhǔn)時(shí)鐘分頻器PREFRAC=Fpclk-(Fpclk/32768)*32768;CCR=0x00;//禁止時(shí)間計(jì)數(shù)器YEAR=2008+nn;MONTH=04+yy;DOM=01+rr;DOW=4+zz;HOUR=8+ss;MIN=30+ff;SEC=59+mm;CIIR=0x01;//設(shè)置秒值的增量產(chǎn)生1次中斷CCR=0x01;//啟動(dòng)RTC}*函數(shù)名稱:SendTimeRtc()*函數(shù)功能:讀取RTC的時(shí)間值,并將讀出的時(shí)分秒值通過(guò)串口送到上位機(jī)顯示。*入口參數(shù):無(wú)*出口參數(shù):無(wú)voidSendTimeRtc(void){unsignedchara,b,c,d;intdatas;inttimes;intbak;unsignedchart[]={"年"};unsignedchars[]={"月unsignedchars[]={"unsignedcharr[]={""};unsignedcharm[]={1!周"};unsignedcharn[]={"時(shí)"};unsignedcharp[]={"分"};unsignedcharq[]={"秒"};times=CTIME0;//讀取完整的時(shí)鐘寄存器datas=CTIME1;W_instruct(0x80);W_data(0x02);//顯示笑臉W_data(0x02);//顯示笑臉bak=(datas>>16)&0xfff;//獲取年a=bak/1000;bak=bak%1000;b=bak/100;bak=bak%100;c=bak/10;d=bak%10;W_instruct(0x81);W_data(digit[a]);//將千位數(shù)字的字符常量寫(xiě)入LCDW_data(digit[b]);//將百位數(shù)字的字符常量寫(xiě)入LCDW_data(digit[c]);//將十位數(shù)字的字符常量寫(xiě)入LCDW_data(digit[d]);//將個(gè)位數(shù)字的字符常量寫(xiě)入LCD//獲取//獲取月//獲取日W_instruct(0x83);W_data(t[0]);W_data(t[1]);bak=(datas>>8)&0x0f;a=bak/10;b=bak%10;W_instruct(0x84);W_data(digit[a]);W_data(digit[b]);W_instruct(0x85);W_data(s[0]);W_data(s[1]);bak=datas&0x1f;c=bak/10;d=bak%10;W_instruct(0x86);W_data(digit[c]);W_data(digit[d]);W_instruct(0x87);W_data(r[0]);W_data(r[1]);

//獲取星期bak=(times>>//獲取星期a=bak;W_instruct(0x90);W_data(m[0]);W_

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論