項目2汽車轉向控制燈設計_第1頁
項目2汽車轉向控制燈設計_第2頁
項目2汽車轉向控制燈設計_第3頁
項目2汽車轉向控制燈設計_第4頁
項目2汽車轉向控制燈設計_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 汽車轉向控制燈設計汽車轉向控制燈設計項目2 任務任務+1.單鍵控制單燈設計;單鍵控制單燈設計;2.模擬汽車轉向控制器設計模擬汽車轉向控制器設計 所謂獨立式按鍵是指直接用所謂獨立式按鍵是指直接用I/0口線構成的單個按鍵電口線構成的單個按鍵電路,每個按鍵單獨有一根路,每個按鍵單獨有一根I/O口線,且其工作狀態(tài)不會影口線,且其工作狀態(tài)不會影響其它響其它I/O口線的工作狀態(tài)。這種按鍵的電路配置靈活,口線的工作狀態(tài)。這種按鍵的電路配置靈活,軟件結構簡單,但每個按鍵必須占用一根軟件結構簡單,但每個按鍵必須占用一根I/O口線??诰€。 跟我學跟我學1獨立式按鍵獨立式按鍵 任務任務1 1單鍵控制單燈設計單鍵控

2、制單燈設計跟我學跟我學2基本基本if語句語句 if語句有語句有if、ifelse和和ifelseif三種不同的形式。三種不同的形式。基本基本if語句格式如下:語句格式如下: if(表達式)(表達式) 語句組;語句組; if語句執(zhí)行的過程是:當表達式為真時,執(zhí)行語句組,語句執(zhí)行的過程是:當表達式為真時,執(zhí)行語句組,否則跳過該語句組,繼續(xù)執(zhí)行下面的語句。否則跳過該語句組,繼續(xù)執(zhí)行下面的語句。動手做動手做1畫出硬件電路圖畫出硬件電路圖 單片機有單片機有4個個8位的位的I/O口口P0、P1、P2、P3,任意一個,任意一個I/O口都可以用來控口都可以用來控制一個制一個LED燈的亮滅顯示(燈的亮滅顯示(P

3、0口要外接上拉電阻),該任務采用口要外接上拉電阻),該任務采用P1口的口的P1.0控制控制LED燈,燈,P3.0連接按鍵,用按鍵控制一個連接按鍵,用按鍵控制一個LED燈電路如圖所示。燈電路如圖所示。 動手做動手做2編寫單燈閃爍的程序編寫單燈閃爍的程序 /程序:ex2_1.c/功能:單鍵控制單燈程序#include sbit P1_0=P10; /定義P1.0引腳名稱為P1_0sbit P3_0=P30; /定義P3.0引腳名稱為P3_0void main()/主函數 while(1) bit led; /定義位變量ledP3_0=1; /P3.0作為輸入口,置1led=P3_0; /讀P3.0

4、if(led=1) P1_0=1; /判斷按鍵是否按下,沒有按下,燈熄滅if(led=0 ) P1_0=0; /按鍵按下,燈點亮動手做動手做3proteus仿真仿真 安裝在汽車不同位置的信號燈是汽車駕駛員之間及駕駛員向行安裝在汽車不同位置的信號燈是汽車駕駛員之間及駕駛員向行人傳遞汽車行使狀況的語言工具。一般包括轉向燈、剎車燈、倒車燈人傳遞汽車行使狀況的語言工具。一般包括轉向燈、剎車燈、倒車燈等,其中,汽車轉向燈包括左轉燈和右轉燈,其顯示狀態(tài)如表所示。等,其中,汽車轉向燈包括左轉燈和右轉燈,其顯示狀態(tài)如表所示。 任務要求任務要求 任務任務2 2模擬汽車轉向控制器設計模擬汽車轉向控制器設計轉向燈顯

5、示狀態(tài)轉向燈顯示狀態(tài)駕駛員命駕駛員命令令開關狀態(tài)開關狀態(tài)左轉燈左轉燈右轉燈右轉燈S0S0S1S1滅滅滅滅無命令無命令0 00 0滅滅閃爍閃爍右轉命令右轉命令0 01 1閃爍閃爍滅滅左轉命令左轉命令1 10 0閃爍閃爍閃爍閃爍故障命令故障命令1 11 1跟我想 分析任務左轉燈左轉燈右轉燈右轉燈駕駛員命令駕駛員命令發(fā)光二極管發(fā)光二極管發(fā)光二極管發(fā)光二極管按下按鍵按下按鍵1輸入低電平輸入低電平左轉左轉按下按鍵按下按鍵2輸入低電平輸入低電平右轉右轉按鍵按鍵1(P3.0) 按鍵按鍵2(P3.1)汽車狀態(tài)或命令汽車狀態(tài)或命令0(低電平)(低電平) 1 (高電平高電平)左轉指示燈亮(左轉指示燈亮(P1.0)

6、 1 (高電平高電平) 0(低電平)(低電平) 右轉指示燈亮(右轉指示燈亮(P1.1) 1 (高電平高電平) 1(高電平)(高電平) 左右轉指示燈不亮左右轉指示燈不亮 0 (低電平低電平) 0(低電平)(低電平) 左右轉指示燈閃爍左右轉指示燈閃爍動手做動手做1畫出硬件電路圖畫出硬件電路圖 按鍵按鍵S0、S1的不同狀態(tài)組合,控制的不同狀態(tài)組合,控制LED燈燈D1、D2的狀態(tài),則只需要檢測連接按的狀態(tài),則只需要檢測連接按鍵鍵S0、S1的的P3.0和和P3.1的電平高低,再給的電平高低,再給P1.0和和P1.1相應的高低電平即可實現。相應的高低電平即可實現。由于不僅僅要使由于不僅僅要使LED燈亮,并

7、且還要閃爍,程序中使用了燈亮,并且還要閃爍,程序中使用了while語句,其表達式為語句,其表達式為常數常數1,即循環(huán)條件永遠成立,不斷重復執(zhí)行,屬于無限循環(huán),從而實現閃爍的效,即循環(huán)條件永遠成立,不斷重復執(zhí)行,屬于無限循環(huán),從而實現閃爍的效果。程序中還使用了延時程序果。程序中還使用了延時程序delay,用于控制閃爍的時間間隔,其時間長短可由,用于控制閃爍的時間間隔,其時間長短可由實參進行傳遞。實參進行傳遞。if語句一般用作單一條件或者分支數目較少的場合,如果使用語句一般用作單一條件或者分支數目較少的場合,如果使用if語句來語句來編寫超過編寫超過3個以上的分支程序,則程序的可讀性將降低。個以上的

8、分支程序,則程序的可讀性將降低。C語言提供了語言提供了一種用于多分支選擇的一種用于多分支選擇的switch語句,其一般格式如下。語句,其一般格式如下。 switch(表達式)(表達式) case 常量表達式常量表達式1: 語句組語句組1;break; case 常量表達式常量表達式2: 語句組語句組2;break; case 常量表達式常量表達式n: 語句組語句組n;break;default: 語句組語句組n+1; 該語句的執(zhí)行過程是:運行該語句的執(zhí)行過程是:運行switch后面的表達式的值將會作為條件,后面的表達式的值將會作為條件,與與case后面的各個常量表達式的值相對比,如果相等時則執(zhí)

9、行后面的后面的各個常量表達式的值相對比,如果相等時則執(zhí)行后面的語句組,再執(zhí)行語句組,再執(zhí)行break(間斷語句)語句,(間斷語句)語句,(break語句也可省略語句也可省略),跳,跳出出switch語句。如果表達式的值與語句。如果表達式的值與case后面常量表達式的值均不相等,后面常量表達式的值均不相等,則執(zhí)行則執(zhí)行default后面的語句組。當要求沒有符合條件時也不做任何處理,后面的語句組。當要求沒有符合條件時也不做任何處理,則可以不寫則可以不寫default語句。語句。跟我學跟我學1基本基本if語句語句 動手做動手做2編寫汽車模擬轉向控制電路的程序編寫汽車模擬轉向控制電路的程序 /程序:e

10、x2_2.c/功能:模擬汽車轉向控制器程序#include void delay(unsigned char i);/延時函數申明sbit P1_0=P10; /定義P1.0引腳名稱為P1_0sbit P1_1=P11; /定義P1.1引腳名稱為P1_1sbit P3_0=P30; /定義P3.0引腳名稱為P3_0sbit P3_1=P31; /定義P3.1引腳名稱為P3_1void main()/主函數 while(1) /無限循環(huán) P3_0=1; /P3。0作為輸入口,置1 P3_1=1; /P3。1作為輸入口,置1 switch(P3) case 0 xfc: P1_0=0,P1_1=0

11、;break; /按鍵S0和S1均按下 case 0 xfd: P1_0=1,P1_1=0;break; /按鍵S1按下,S0未按下 case 0 xfe: P1_0=0,P1_1=1;break; /按鍵S0按下,S1未按下 case 0 xff: P1_0=1,P1_1=1;break; /按鍵S0和S1均未按下 delay(200);/延時,控制閃爍時間 P1_0=1; /左轉燈熄滅 P1_1=1; /右轉燈熄滅 delay(200);/延時 void delay(unsigned char i)/延時函數,無符號字符型變量i為形參 unsigned char j,k; /定義無符號字符

12、型變量j和k for(j=0;ji;j+) /雙重for循環(huán)語句實現軟件延時 for(k=0;k255;k+) ;動手做動手做3proteus仿真仿真舉一反三舉一反三問:如果要求程序用問:如果要求程序用ifelse語句來編寫,怎么修改程序?語句來編寫,怎么修改程序?答:電路依然可以采用原來電路,只要將答:電路依然可以采用原來電路,只要將ex2_2.c中的程序修改一個地方即中的程序修改一個地方即可:將主程序可:將主程序main中的中的switch多分支語句修改為多分支語句修改為ifelse語句即可實現同樣語句即可實現同樣的功能,修改的的功能,修改的ifelse語句如下:語句如下:if(P3_0=

13、0&P3_1=0) /按鍵按鍵S0和和S1均按下均按下 P1_0=1; P1_1=1; else if(P3_0=0&P3_1=1) /按鍵按鍵SO按下,按下,S1未按下未按下 P1_0=1; P1_1=0; else if(P3_0=1&P3_1=0)/按鍵按鍵S0未按下,未按下,S1按下按下 P1_0=0; P1_1=1; else if(P3_0=1&P3_1=1)/按鍵按鍵S0和和S1均未按下均未按下 P1_0=0; P1_1=0; 本項目涉及到按鍵控制本項目涉及到按鍵控制LED燈的基本原理,從最簡單的單燈的基本原理,從最簡單的單個按鍵控制單燈逐步過度到兩個按鍵控制兩個個按鍵控制單燈逐步過度到兩個按鍵控制兩個LED燈(模擬燈(模擬汽車轉向控

溫馨提示

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

評論

0/150

提交評論