手把手教你學(xué)51單片機(jī)_第1頁
手把手教你學(xué)51單片機(jī)_第2頁
手把手教你學(xué)51單片機(jī)_第3頁
手把手教你學(xué)51單片機(jī)_第4頁
手把手教你學(xué)51單片機(jī)_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

手把手教你學(xué)單片機(jī)

--51單片機(jī)C語言開發(fā)金沙灘工作室

作者:宋雪松

第十九課:

實(shí)踐項(xiàng)目開發(fā)——多功能電子鐘類型說明typedeftypedef原類型名新類型名typedefsignedcharint8;//8位有符號(hào)整型數(shù)typedefsignedintint16;//16位有符號(hào)整型數(shù)typedefsignedlongint32;//32位有符號(hào)整型數(shù)typedefunsignedcharuint8;//8位無符號(hào)整型數(shù)typedefunsignedintuint16;//16位無符號(hào)整型數(shù)typedefunsignedlonguint32;//32位無符號(hào)整型數(shù)不推薦的寫法:#defineucharunsignedchartypedef和#define的區(qū)別#define是由預(yù)處理完成的,而typedef則是在編譯時(shí)完成的。#defineucharunsignedchartypedefunsignedcharuint8;對(duì)于#define來說,更多是進(jìn)行程序可讀性、易維護(hù)的替換#defineLCD1602_DBP0#defineSYS_MCLK(11059200/12)typedefunsignedcharuint8;uint8i,j;#defineucharunsignedcharuchari,j;typedefint*int_p;int_pi,j;等價(jià)于int*i;int*j;#defineint_pint*int_pi,j;等價(jià)于int*i;intj;頭文件#include<文件名>:表示預(yù)處理程序直接到系統(tǒng)指定的“包含文件目錄”去查找。#include"文件名":首先在當(dāng)前文件所在的文件目錄中查找被包含文件,如果沒有找到才會(huì)再到系統(tǒng)的“包含文件目錄”去查找。main.h包含內(nèi)容:1、main.c使用的宏;2、其他.c文件要用到的在main.c中定義的全局變量,進(jìn)行extern。3、main.c內(nèi)自定義類型進(jìn)行聲明。4、main.c內(nèi)提供給其他文件使用的全局函數(shù)。1、已經(jīng)定義過此變量的文件不需要進(jìn)行外部聲明語句。2、如果a.h包含main.h文件,b.h也包含了main.h文件,如果Lcd.c文件既包含了a.h,又包含了b.h,那樣就會(huì)出現(xiàn)重復(fù)包含,會(huì)發(fā)生函數(shù)和變量的重復(fù)聲明。條件編譯用法1:#if表達(dá)式程序段1#else程序段2#endif#definePLAN0#if(PLAN==0)程序段1#else程序段2#endif條件編譯表達(dá)式二:#ifdef標(biāo)識(shí)符程序段1#else程序段2#endif

表達(dá)式三:#ifndef標(biāo)識(shí)符程序段1#else程序段2#endif多功能電子鐘--項(xiàng)目需求分析功能需求:日期、時(shí)間、星期、按鍵校時(shí)、鬧鐘、溫度測量、紅外遙控校時(shí)。人性化設(shè)計(jì)需求:時(shí)間顯示:數(shù)碼管(醒目)星期顯示:點(diǎn)陣(醒目+顯示有限)裝飾:來回流水燈日期、溫度和鬧鐘等輔助信息顯示:液晶近距離校時(shí):按鍵遠(yuǎn)距離遙控校時(shí):紅外遙控器

多功能電子鐘--程序結(jié)構(gòu)規(guī)劃功能模塊:時(shí)間走動(dòng):DS1302顯示時(shí)間:點(diǎn)陣、數(shù)碼管、獨(dú)立LED、液晶校對(duì)時(shí)間:板載按鍵、遙控器鬧鐘:蜂鳴器底層劃分:1、DS1302走時(shí)的核心自成一個(gè)模塊2、點(diǎn)陣、數(shù)碼管、獨(dú)立LED都屬于LED,控制方式類似都需要?jiǎng)討B(tài)掃描,作為一個(gè)整體模塊3、液晶顯示有時(shí)序要求,獨(dú)立一個(gè)模塊4、按鍵和遙控器的驅(qū)動(dòng)各自成為一個(gè)模塊5、18B20溫度底層程序應(yīng)用層:Timer.c:調(diào)度各種顯示驅(qū)動(dòng)函數(shù)、決定哪個(gè)數(shù)據(jù)顯示在何處、執(zhí)行按鍵功能動(dòng)作、對(duì)比當(dāng)前時(shí)間和鬧鐘時(shí)間等等上層功能。main.c:執(zhí)行主循環(huán)掃描、系統(tǒng)時(shí)間、個(gè)別零散小功能函數(shù)應(yīng)用層流程圖多功能電子鐘--程序代碼編寫流程1、工程建立和文件存放分配。2、根據(jù)原理圖進(jìn)行全局參數(shù)聲明、引腳聲明、類型說明等頭文件編寫。3、功能模塊調(diào)試:1>1602液晶功能調(diào)試2>LED和蜂鳴器功能調(diào)試:定時(shí)器23>DS1302讀寫調(diào)試4>溫度顯示調(diào)試5>板載按鍵功能調(diào)試:定時(shí)器06>紅外遙控器按鍵功能調(diào)試:定時(shí)器14、應(yīng)用層程序調(diào)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論