片機(jī)項目二-燈光控制設(shè)計.ppt_第1頁
片機(jī)項目二-燈光控制設(shè)計.ppt_第2頁
片機(jī)項目二-燈光控制設(shè)計.ppt_第3頁
片機(jī)項目二-燈光控制設(shè)計.ppt_第4頁
片機(jī)項目二-燈光控制設(shè)計.ppt_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 項目導(dǎo)讀項目導(dǎo)讀 項目二 燈光控制設(shè)計 項目小結(jié)項目小結(jié) 任務(wù)任務(wù)1 流水燈閃爍控制流水燈閃爍控制 任務(wù)任務(wù)2 汽車轉(zhuǎn)向燈控制汽車轉(zhuǎn)向燈控制 任務(wù)任務(wù)3 模擬廣告燈控制模擬廣告燈控制 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 流水燈流水燈 任務(wù)任務(wù)1 1 流水燈控制流水燈控制 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 知識分布網(wǎng)絡(luò)知識分布網(wǎng)絡(luò) 任務(wù)任務(wù)1 1 流水燈控制流水燈控制 C 語 言 概 述 特點 結(jié)構(gòu)化語言 函數(shù)構(gòu)成 程序結(jié)構(gòu) 基本語法 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 任務(wù)任務(wù)1 1 流水燈控制流水燈控制 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 1 1、設(shè)計方案、設(shè)計方案 選用AT89C51單片機(jī)芯片、時鐘電

2、路、復(fù)位電路、電源和8個發(fā)光二極管構(gòu) 成最小系統(tǒng),完成對8個LED信號燈的控制。 并并 行行 接接 口口 AT89C51 單片機(jī)單片機(jī) 電源電源 時鐘電路時鐘電路 復(fù)位電路復(fù)位電路 8個發(fā)光二極管個發(fā)光二極管 流水顯示流水顯示 圖2-1 最小工作系統(tǒng)方案設(shè)計框圖 任務(wù)任務(wù)1 1 流水燈控制流水燈控制 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 2 2、硬件電路設(shè)計、硬件電路設(shè)計 圖2-2 流水燈原理圖 電路所用仿真元器件: AT89C51 :單片機(jī) RES :電阻 CRYSTAL :晶振 LED-RED :發(fā)光二極管 CAP :電容 CAP-ELEC :電解電容 74LS04 :反向器 任務(wù)任務(wù)1 1 流水燈控

3、制流水燈控制 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 3 3、程序設(shè)計、程序設(shè)計 圖2-3 流水燈控制流程圖1 實訓(xùn)二實訓(xùn)二 模擬廣告燈控制模擬廣告燈控制 開始 結(jié)束 送顯示字-0FEH 送輸出口, 點亮LED0 延時 左移一位,改變顯示字 點亮下一位 1111 1110B 開始 結(jié)束 P1.0輸出,LED0點亮 延時 P1.1輸出,LED1點亮 延時 P1.7輸出,LED7點亮 方法一:方法一:方法二:方法二: 步驟步驟1 1:流程圖設(shè)計:流程圖設(shè)計 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 C C語言源程序語言源程序方法一方法一 #include void delay(unsigned char i); void ma

4、in() while(1) P1=0 xfe; delay(200); P1=0 xfd; delay(200); P1=0 x7f; delay(200); void delay(unsigned char i) unsigned char j,k; for(k=0;ki;k+) for(j=0;j255;j+); 步驟步驟2 2:編寫程序:編寫程序 任務(wù)任務(wù)1 1 流水燈控制流水燈控制 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 C C語言源程序語言源程序方法二方法二 #include void delay(unsigned char i); void main() unsigned char i,w; w

5、hile(1) w=0 x01; /顯示字初值 for(i=0;i8;i+) P1=w; /顯示字取反(FEH),送P1口 delay(200); /延時 w=1; /顯示字左移一位 void delay(unsigned char i) unsigned char j,k; for(k=0;ki;k+) for(j=0;j255;j+); 任務(wù)任務(wù)1 1 流水燈控制流水燈控制 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 實物連接、制作實物連接、制作 圖2-4 流水燈的電路實物圖 在萬能板上按照單片機(jī)控制LED電路圖元器件進(jìn)行焊接 。 任務(wù)任務(wù)2 2 彩燈閃爍控制彩燈閃爍控制 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 轉(zhuǎn)向燈轉(zhuǎn)

6、向燈 任務(wù)任務(wù)2 2 汽車轉(zhuǎn)向燈控制汽車轉(zhuǎn)向燈控制 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 轉(zhuǎn)向燈轉(zhuǎn)向燈 任務(wù)任務(wù)2 2 汽車轉(zhuǎn)向燈控制汽車轉(zhuǎn)向燈控制 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 知識分布網(wǎng)絡(luò)知識分布網(wǎng)絡(luò) C 語 言 基 本 語 句 表達(dá)式語句 順序結(jié)構(gòu) if-else語句 復(fù)合語句 if-else-if語句 for語句 基本if語句 Switch語句 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu) while語句 do-while語句 break/continue語句 任務(wù)任務(wù)2 2 汽車轉(zhuǎn)向燈控制汽車轉(zhuǎn)向燈控制 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 1 1、確定設(shè)計方案、確定設(shè)計方案 選用AT89C51單片機(jī)芯片、時鐘電路、復(fù)位電路、電源和8個

7、發(fā)光二極管構(gòu) 成最小系統(tǒng),完成對單個信號燈的控制。 任務(wù)實施任務(wù)實施 并并 行行 接接 口口 AT89C51 單片機(jī)單片機(jī) 電源電源 時鐘電路時鐘電路 復(fù)位電路復(fù)位電路 發(fā)光二極管發(fā)光二極管 圖2-5 模擬汽車轉(zhuǎn)向燈最小系統(tǒng)方案設(shè)計框圖 任務(wù)二任務(wù)二 汽車轉(zhuǎn)向燈控制汽車轉(zhuǎn)向燈控制 轉(zhuǎn)向控制開關(guān)轉(zhuǎn)向控制開關(guān) 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 2 2、硬件電路設(shè)計、硬件電路設(shè)計 任務(wù)實施任務(wù)實施 圖2-6 模擬汽車轉(zhuǎn)向燈電路原理圖 電路所用仿真元器件: AT89C51 :單片機(jī) RES :電阻 CRYSTAL :晶振 SW-SPDT :二選通開關(guān) CAP :電容 CAP-ELEC :電解電容 74LS04

8、 :反向器 任務(wù)二任務(wù)二 汽車轉(zhuǎn)向燈控制汽車轉(zhuǎn)向燈控制 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 任務(wù)任務(wù)2 2 汽車轉(zhuǎn)向燈控制汽車轉(zhuǎn)向燈控制 /P1口模擬汽車轉(zhuǎn)向燈閃爍C程序-方法一:循序結(jié)構(gòu) /直接將開關(guān)的狀態(tài)送到輸出引腳 #include sbit P1_0=P10; /定義可尋址位 sbit P1_1=P11; sbit P1_4=P14; sbit P1_5=P15; sbit P1_6=P16; sbit P1_7=P17; void delay(unsigned char i); C C語言源程序語言源程序方法一方法一:循環(huán)語句循環(huán)語句 編寫程序編寫程序 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 void ma

9、in() bit left,right; /定義位,表示左右狀態(tài) P1=0 x0f; /P1低四位置1,作為輸入口 while(1) left=P1_0;/讀取P1.0,P1.1引腳狀態(tài)P1.0=0表示開關(guān)閉合 right=P1_1; P1_4=left; /if(P1_0=0) P1_4=1; P1_5=left; /P1_5=1; P1_6=right; /if(P1_1=0) P1_6=1; P1_7=right; /P1_7=1; delay(200); P1_4=0; P1_5=0; P1_6=0; P1_7=0; delay(200); void delay(unsigned ch

10、ar i) unsigned char j,k; for(k=0;ki;k+) for(j=0;j255;j+); 任務(wù)任務(wù)2 2 汽車轉(zhuǎn)向燈控制汽車轉(zhuǎn)向燈控制 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 任務(wù)任務(wù)2 2 汽車轉(zhuǎn)向燈控制汽車轉(zhuǎn)向燈控制 #include sbit P1_0=P10; /定義可尋址位 sbit P1_1=P11; /P1.0 P1.1接左右控制開關(guān) sbit P1_4=P14; /P1.4- P1.7接左右控制信號燈 sbit P1_5=P15; sbit P1_6=P16; sbit P1_7=P17; void main() P1=0 x0f; /P1低四位置1,作為輸入口 w

11、hile(1) if(P1_0=1 /左右轉(zhuǎn)向燈同時點亮 P1_5=1; P1_6=1; P1_7=1; C C語言源程序語言源程序方法一:選擇語句方法一:選擇語句 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 任務(wù)任務(wù)2 2 汽車轉(zhuǎn)向燈控制汽車轉(zhuǎn)向燈控制 else if(P1_0=1) /若左轉(zhuǎn)向開關(guān)閉合P1.0=1 P1_4=1; /則左轉(zhuǎn)向燈亮 P1_5=1; else if(P1_1=1) /若右轉(zhuǎn)向開關(guān)閉合P1.1=1 P1_6=1; /則右轉(zhuǎn)向燈亮 P1_7=1; else P1_4=0; /左右轉(zhuǎn)向燈均熄滅 P1_5=0; P1_6=0; P1_7=0; 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 實物連接、制作實物

12、連接、制作 任務(wù)實施任務(wù)實施 a)通信數(shù)據(jù)線與仿真器連接圖 b)由LED組成的轉(zhuǎn)向燈連接圖 圖2-7 實際電路搭建 待在Proteus中仿真調(diào)試結(jié)果正常后,用實際硬件搭建電路。 任務(wù)任務(wù)2 2 汽車轉(zhuǎn)向燈控制汽車轉(zhuǎn)向燈控制 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 模擬廣告燈模擬廣告燈 任務(wù)任務(wù)3 3 模擬廣告燈控制模擬廣告燈控制 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 知識分布網(wǎng)絡(luò)知識分布網(wǎng)絡(luò) 任務(wù)任務(wù)1 1 流水燈控制流水燈控制 C 語 言 數(shù) 據(jù) 與 運 算 基本數(shù)據(jù)類型:char、int、long、float、指針型 數(shù)據(jù)類型 數(shù)值常量 常量 變量 運算符 擴(kuò)展數(shù)據(jù)類型:sfr、sfr16、sbit、bit 符號常

13、量 變量存儲器類型 變量存儲模式 常量運算符用法 運算符優(yōu)先級和結(jié)合方向 運算符表達(dá)式 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 C51C51的數(shù)據(jù)類型的數(shù)據(jù)類型 數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)的不同格式叫做數(shù)據(jù)類型。數(shù)據(jù)的不同格式叫做數(shù)據(jù)類型。 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)按一定的數(shù)據(jù)類型進(jìn)行的排列、組合及架構(gòu)稱為數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)按一定的數(shù)據(jù)類型進(jìn)行的排列、組合及架構(gòu)稱為數(shù)據(jù)結(jié)構(gòu)。 C51提供的數(shù)據(jù)結(jié)構(gòu)是以數(shù)據(jù)類型的形式出現(xiàn)的,提供的數(shù)據(jù)結(jié)構(gòu)是以數(shù)據(jù)類型的形式出現(xiàn)的,C51的數(shù)據(jù)類型如下所示:的數(shù)據(jù)類型如下所示: 位型(位型(bit) 字符型(字符型(char) 整型(整型(int) 基本類型:基本類型: 長整型(長整型(lo

14、ng) 浮點型(浮點型(float) 雙精度浮點型(雙精度浮點型(double) 數(shù)據(jù)類型:數(shù)據(jù)類型: 數(shù)組類型(數(shù)組類型(array) 構(gòu)造類型:構(gòu)造類型: 結(jié)構(gòu)體類型(結(jié)構(gòu)體類型(struct) 共用體(共用體(union) 枚舉(枚舉(enum) 指針類型:指針類型: 空類型空類型:(:(void) 任務(wù)任務(wù)3 3 模擬廣告燈控制模擬廣告燈控制 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 基本數(shù)據(jù)類型基本數(shù)據(jù)類型長度長度取值范圍取值范圍 unsigned char1字節(jié)字節(jié)0255 signed char1字節(jié)字節(jié)-128+127 unsigned int2字節(jié)字節(jié)065535 signed int2字節(jié)

15、字節(jié)-32768+32767 unsigned long4字節(jié)字節(jié)04294967295 signed long4字節(jié)字節(jié)-2147483648+2147483647 float4字節(jié)字節(jié) 1.175494E-38 3.402823E+38 bit1位位0或或1 Sbit1位位0或或1 sfr1字節(jié)字節(jié)0255 sfr162字節(jié)字節(jié)065535 一般指針占一般指針占3個字節(jié),存儲空間個字節(jié),存儲空間 065535 任務(wù)任務(wù)3 3 模擬廣告燈控制模擬廣告燈控制 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 運算符名運算符名運運 算算 符符 算數(shù)運算符算數(shù)運算符+ - * / % + - 關(guān)系運算符關(guān)系運算符 = =

16、 != 邏輯運算符邏輯運算符! /函數(shù)聲明 /*- 主函數(shù) -*/ main() unsigned char i; /定義一個無符號字符型局部變量 i 取值范圍 0255 while(1) C C語言源程序語言源程序采用查表方法采用查表方法 編寫程序編寫程序 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 任務(wù)任務(wù)3 3 模擬廣告燈控制模擬廣告燈控制 /下面通過查表方法獲得花樣參數(shù) for(i=0;i8;i+)/查表可以簡單的顯示各種花樣 實用性更強(qiáng) Delay(30000); P2=segi; for(i=0;i=8;i+)/查表可以簡單的顯示各種花樣 實用性更強(qiáng) Delay(30000); P3=segi; P

17、2=0 xff; P3=0 xff; /*- 延時函數(shù),含有輸入?yún)?shù) unsigned int t,無返回值 unsigned int 是定義無符號整形變量,其值的范圍是 065535 -*/ void Delay(unsigned int t) while(-t); 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 任務(wù)任務(wù)3 3 模擬廣告燈控制模擬廣告燈控制 C C語言源程序語言源程序采用查表方法采用查表方法開關(guān)控制 #include /包含頭文件 sbit DIPswitch1=P10; /*- 花樣表格 -*/ unsigned char code seg=0 xfe,0 xfc,0 xf8,0 xf0,0

18、xe0,0 xc0,0 x80,0 x00 ;/rom允許情況可以無限添加 void Delay(unsigned int t); /函數(shù)聲明 /*- 主函數(shù) -*/ main() unsigned char i; /定義一個無符號字符型局部變量 i 取值范圍 0255 while(1) 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 任務(wù)任務(wù)3 3 模擬廣告燈控制模擬廣告燈控制 while(1) if(DIPswitch1=0) /開關(guān)閉合,依次點亮 /下面通過查表方法獲得花樣參數(shù) for(i=0;i8;i+)/查表可以簡單的顯示各種花樣 實用性更強(qiáng) Delay(30000); P2=segi; for(i=0;

19、i=8;i+)/查表可以簡單的顯示各種花樣 實用性更強(qiáng) Delay(30000); P3=segi; P2=0 xff;P3=0 xff; /全部熄滅 else P2=0 x00; /開關(guān)打開,LED亮滅閃爍 P3=0 x00; Delay(30000); P2=0 xff;P3=0 xff;Delay(30000); 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 任務(wù)任務(wù)3 3 模擬廣告燈控制模擬廣告燈控制 /*- 延時函數(shù),含有輸入?yún)?shù) unsigned int t,無返回值 unsigned int 是定義無符號整形變量,其值的范圍是 065535 -*/ void Delay(unsigned int t) while(-t); 單片機(jī)與應(yīng)用單片機(jī)與應(yīng)用 知

溫馨提示

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

評論

0/150

提交評論