單片機(jī)應(yīng)用技術(shù) 課件 項(xiàng)目3 汽車轉(zhuǎn)向燈設(shè)計(jì)與實(shí)現(xiàn)_第1頁
單片機(jī)應(yīng)用技術(shù) 課件 項(xiàng)目3 汽車轉(zhuǎn)向燈設(shè)計(jì)與實(shí)現(xiàn)_第2頁
單片機(jī)應(yīng)用技術(shù) 課件 項(xiàng)目3 汽車轉(zhuǎn)向燈設(shè)計(jì)與實(shí)現(xiàn)_第3頁
單片機(jī)應(yīng)用技術(shù) 課件 項(xiàng)目3 汽車轉(zhuǎn)向燈設(shè)計(jì)與實(shí)現(xiàn)_第4頁
單片機(jī)應(yīng)用技術(shù) 課件 項(xiàng)目3 汽車轉(zhuǎn)向燈設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

項(xiàng)目3汽車轉(zhuǎn)向燈設(shè)計(jì)與實(shí)現(xiàn)素質(zhì)目標(biāo)1.通過汽車轉(zhuǎn)向燈項(xiàng)目分析,培養(yǎng)學(xué)生安全意識(shí)和遵守規(guī)則意識(shí)。2.通過分支選擇語句的學(xué)習(xí),樹立學(xué)生正確的人生觀、價(jià)值觀和世界觀。知識(shí)目標(biāo)1.掌握獨(dú)立式鍵盤的工作原理與應(yīng)用。2.掌握C語言選擇語句的使用。3.掌握典型分支結(jié)構(gòu)程序設(shè)計(jì)和調(diào)試方法。能力目標(biāo)1.能夠根據(jù)設(shè)計(jì)要求,選擇參數(shù)、性能合理的電子元器件,使用Proteus進(jìn)行硬件電路仿真設(shè)計(jì)。2.熟悉C51對(duì)并行I/O端口作輸入口操作的編程方法。3.熟練使用典型分支結(jié)構(gòu)程序設(shè)計(jì)和調(diào)試方法。設(shè)計(jì)要求:

設(shè)計(jì)制作以MCS-51單片機(jī)為主控芯片,外接鍵盤電路、LED電路,通過編程實(shí)現(xiàn)汽車轉(zhuǎn)向燈控制系統(tǒng)?;趩纹瑱C(jī)的汽車轉(zhuǎn)向燈控制系統(tǒng)鍵盤知識(shí)開關(guān)(switch)按鍵/按鈕(button)鍵盤工作原理1、鍵輸入信號(hào)判斷:通過按鍵的接通與斷開,產(chǎn)生兩種相反的邏輯狀態(tài)低電平“0”與高電平“1”。2、鍵功能的實(shí)現(xiàn):對(duì)于一組鍵或一個(gè)鍵盤,需通過接口電路與單片機(jī)相連??刹捎貌樵兓蛑袛喾绞綔y(cè)試有無鍵按下,再確定是哪一個(gè)鍵按下,轉(zhuǎn)入執(zhí)行該鍵的功能程序,執(zhí)行完后再返回主程序按鍵結(jié)構(gòu)與特點(diǎn)機(jī)械式按鍵在按下或釋放時(shí),由于機(jī)械彈性作用的影響,通常伴隨有一定時(shí)間的觸點(diǎn)機(jī)械抖動(dòng),然后其觸點(diǎn)才穩(wěn)定下來。其抖動(dòng)過程如右圖所示,抖動(dòng)時(shí)間的長短與開關(guān)的機(jī)械特性有關(guān),一般為5

10ms。若有抖動(dòng),按鍵按下會(huì)被錯(cuò)誤地認(rèn)為是多次操作。按鍵觸點(diǎn)的機(jī)械抖動(dòng)

為了克服按鍵觸點(diǎn)機(jī)械抖動(dòng)所致的檢測(cè)誤判,必須采取去抖動(dòng)措施,可從硬件、軟件兩方面予以考慮。鍵數(shù)較少時(shí),采用硬件去抖(R-S觸發(fā)器構(gòu)成的去抖動(dòng)電路)鍵數(shù)較多時(shí),采用軟件去抖(延時(shí)去抖)

軟件上采取的措施是在檢測(cè)到有按鍵按下時(shí),執(zhí)行一個(gè)10ms左右(具體時(shí)間應(yīng)視所使用的按鍵進(jìn)行調(diào)整)的延時(shí)程序,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,若仍保持閉合狀態(tài)電平,則確認(rèn)該鍵處于閉合狀態(tài),從而消除抖動(dòng)的影響。按鍵防抖動(dòng)措施鍵盤與單片機(jī)的連接方式1.獨(dú)立式鍵盤2.矩陣式鍵盤鍵盤掃描方式

在單片機(jī)應(yīng)用系統(tǒng)中,鍵盤掃描只是CPU的工作內(nèi)容之一。CPU對(duì)鍵盤的響應(yīng)取決于鍵盤的工作方式,鍵盤的工作方式應(yīng)根據(jù)實(shí)際應(yīng)用系統(tǒng)中CPU的工作狀況而定,其選取的原則是既要保證CPU能及時(shí)響應(yīng)按鍵操作,又不要過多占用CPU的工作時(shí)間。通常,鍵盤的工作方式有三種,即編程掃描、定時(shí)掃描和中斷掃描。

鍵盤掃描程序一般應(yīng)包括以下內(nèi)容:(1)判別有無鍵按下。(2)鍵盤掃描取得閉合鍵的行、列值。(3)用計(jì)算法或查表法得到鍵值。(4)判斷閉合鍵是否釋放,如沒釋放則繼續(xù)等待。(5)將閉合鍵鍵號(hào)保存,同時(shí)轉(zhuǎn)去執(zhí)行該閉合鍵的功能。

本系統(tǒng)功能由硬件和軟件兩大部份協(xié)調(diào)完成,硬件部分主要完成信息的顯示;軟件主要完成信號(hào)的處理及控制功能等。汽車信號(hào)燈控制系統(tǒng)以單片機(jī)AT89C52、電源電路、復(fù)位電路及時(shí)鐘電路構(gòu)成的最小系統(tǒng)模塊和外圍接口電路組成,外圍接口電路主要由LED顯示電路、按鍵輸入電路構(gòu)成。系統(tǒng)通過單片機(jī)并行I/O口構(gòu)成鍵盤輸入和LED顯示輸出電路,可實(shí)現(xiàn)汽車轉(zhuǎn)彎燈中各信號(hào)燈的功能操作。汽車轉(zhuǎn)向燈系統(tǒng)方案設(shè)計(jì)LED電路按鍵輸入電路復(fù)位電路時(shí)鐘電路電源電路單片機(jī)硬件方案確定最小系統(tǒng)

電路單片機(jī)硬件方案按鍵輸入電路LED顯示電路

硬件電路設(shè)計(jì)汽車轉(zhuǎn)向燈參考仿真電路圖C語言知識(shí)1、運(yùn)算符和表達(dá)式2、選擇(分支)語句

軟件設(shè)計(jì)運(yùn)算符及表達(dá)式運(yùn)算類型運(yùn)算符優(yōu)先級(jí)結(jié)合性括號(hào)運(yùn)算符()1從左至右邏輯非和按位取反!~2從右至左算術(shù)運(yùn)算*/%3從左至右+-4從左至右左移、右移運(yùn)算<<>>5從左至右關(guān)系運(yùn)算<<=>>=6從左至右==!=7從左至右位運(yùn)算&8從左至右^9從左至右|10從左至右邏輯與&&11從左至右邏輯或||12從左至右賦值運(yùn)算與復(fù)合賦值運(yùn)算

=+=、-=、*=、/=、%=、&=、^=、|=、<<=、>>=14從右至左選擇分支語句1、if語句2、if……else語句3、if-elseif-else語句

if選擇語句基本if語句的格式如下:if(表達(dá)式){

語句組;

}if語句執(zhí)行過程:當(dāng)“表達(dá)式”的結(jié)果為“真”時(shí),執(zhí)行其后的“語句組”,否則跳過該語句組,繼續(xù)執(zhí)行下面的語句。

if語句中的“表達(dá)式”通常為邏輯表達(dá)式或關(guān)系表達(dá)式,在if語句中,“表達(dá)式”必須用括號(hào)括起來。在if語句中,花括號(hào)“{}”里面的語句組如果只有一條語句,可以省略花括號(hào)。如“if(P3_0==0)P1_0=0;”語句,但是為了提高程序的可讀性和防止程序書寫錯(cuò)誤,建議讀者在任何情況下,都加上花括號(hào)。if-else選擇語句if-else語句的一般格式如下:if(表達(dá)式) {

語句組A;

} else{

語句組B;

}if-else語句執(zhí)行過程:當(dāng)“表達(dá)式”的結(jié)果為“真”時(shí),執(zhí)行其后的“語句組1”,否則執(zhí)行“語句組2”圖6-if-else語句執(zhí)行流程if……elseif……else語句

if-elseif-else是ifelse語句組成的嵌套,用于實(shí)現(xiàn)多個(gè)條件分支的選擇。其一般格式如下:if(表達(dá)式){語句1;}elseif(表達(dá)式){語句2;}elseif(表達(dá)式){語句3;}elseif(表達(dá)式){語句4;}else{語句N;}

if-elseif-else語句執(zhí)行流程

在單片機(jī)應(yīng)用系統(tǒng)中,鍵盤掃描只是CPU的工作內(nèi)容之一。CPU對(duì)鍵盤的響應(yīng)取決于鍵盤的工作方式,鍵盤的工作方式應(yīng)根據(jù)實(shí)際應(yīng)用系統(tǒng)中CPU的工作狀況而定,其選取的原則是既要保證CPU能及時(shí)響應(yīng)按鍵操作,又不要過多占用CPU的工作時(shí)間。通常,鍵盤的工作方式有三種,即編程掃描、定時(shí)掃描和中斷掃描。鍵盤掃描程序一般應(yīng)包括以下內(nèi)容:(1)判別有無鍵按下。(2)鍵盤掃描取得閉合鍵的行、列值。(3)用計(jì)算法或查表法得到鍵值。(4)判斷閉合鍵是否釋放,如沒釋放則繼續(xù)等待。(5)將閉合鍵鍵號(hào)保存,同時(shí)轉(zhuǎn)去執(zhí)行該閉合鍵的功能。

鍵盤掃描方式主程序算法及流程圖開始初始化:LED全滅,正常行駛;輸入端口初始化;鍵盤掃描程序Y有鍵按下N主程序設(shè)計(jì)流程圖

主程序主要完成硬件初始化、鍵盤掃描與鍵位功能處理程序、延時(shí)功能函數(shù)調(diào)用等功能。1.判別有無鍵按下(延時(shí)去抖)

方法:實(shí)時(shí)讀取I/O口狀態(tài),取反后測(cè)試,若有鍵閉合,則x≠0;若無鍵閉合,則x=0。當(dāng)測(cè)試有鍵閉合時(shí),需要進(jìn)行延時(shí)去抖動(dòng)處理,按鍵消除抖動(dòng)仍采用延時(shí)函數(shù)。即在發(fā)現(xiàn)有鍵盤按下后,延時(shí)10ms再進(jìn)行逐行掃描。因?yàn)殒I被按下時(shí)的閉合時(shí)間遠(yuǎn)遠(yuǎn)大于10ms,所以延時(shí)后再掃描再判斷。若某鍵閉合則相應(yīng)單片機(jī)引腳輸入低電平。if(x==0)continue;//如果無鍵按下則認(rèn)為是按鍵抖動(dòng),重新掃描鍵盤。2.采用查詢方式確定鍵位,根據(jù)鍵值轉(zhuǎn)去執(zhí)行該閉合鍵的功能方法:如果有鍵按下,則根據(jù)按鍵的不同執(zhí)行相應(yīng)的按鍵操作。鍵值處理程序?yàn)檫x擇(分支)結(jié)構(gòu),使用了if-elseif-else語句。

鍵盤掃描程序分析鍵盤掃描程序分析開始左轉(zhuǎn)信號(hào)讀取鍵值是否有鍵按下?P1.0按下YYP1.4按下P1.2按下P1.6按下YYNNN右轉(zhuǎn)信號(hào)剎車信號(hào)緊急信號(hào)NNYwhile(1) {/**************鍵盤掃描*************************************************/P1=0xff; //鍵盤初始化

x=P1;//讀鍵盤狀態(tài)

x=~x;//鍵盤狀態(tài)取反

if(x==0)continue;//如果無鍵按下則認(rèn)為是按鍵抖動(dòng),重新掃描鍵盤

delay(250);//延時(shí)去抖動(dòng)

if(x==0)continue;//如果無鍵按下則認(rèn)為是按鍵抖動(dòng),重新掃描鍵盤/*****************根據(jù)鍵值相應(yīng)執(zhí)行功能*******************************************/

if(K1==0)//K1鍵:左轉(zhuǎn)

{P0=tab[0];delay(100);P0=0x00;delay(100);}elseif(K2==0) //K2鍵:右轉(zhuǎn)

{P0=tab[1];delay(100);P0=0x00;delay(100);}elseif(K3==0) //K3鍵:剎車

{while(k3==0)P0=tab[2];P0=0x00;}elseif(K4==0) //K4鍵:緊急

{P0=tab[3];delay(100);P0=0x00;delay(100);

}elseP0=0x00;//正常}鍵盤掃描程序分析1.獨(dú)立式按鍵采用每個(gè)按鍵單獨(dú)占用一根I/O口線結(jié)構(gòu)。當(dāng)按下和釋放按鍵時(shí),輸入到單片機(jī)I/O端口的電平是不一樣的,因此可以根據(jù)不同端口電平的變化判斷是否有按鍵按下以及是哪一個(gè)按鍵按下。獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單,但每個(gè)按鍵必須占用一根I/O口線,因此,在按鍵較多時(shí),I/O口線浪費(fèi)較大。2.C51語言供給了4

溫馨提示

  • 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)論