單片機(jī)實(shí)驗(yàn)8的學(xué)習(xí)課件_第1頁
單片機(jī)實(shí)驗(yàn)8的學(xué)習(xí)課件_第2頁
單片機(jī)實(shí)驗(yàn)8的學(xué)習(xí)課件_第3頁
單片機(jī)實(shí)驗(yàn)8的學(xué)習(xí)課件_第4頁
單片機(jī)實(shí)驗(yàn)8的學(xué)習(xí)課件_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

單片機(jī)實(shí)驗(yàn)8的學(xué)習(xí)課件第1頁/共20頁微機(jī)原理與接口技術(shù)(單片機(jī))實(shí)驗(yàn)

實(shí)驗(yàn)八

交通燈控制系統(tǒng)

一、實(shí)驗(yàn)?zāi)康模?/p>

1、通過實(shí)驗(yàn)學(xué)會交通燈控制系統(tǒng)設(shè)計(jì)。2、熟悉XL400+單片機(jī)綜合仿真試驗(yàn)儀的組成和使用方法。3、學(xué)會應(yīng)用XLISP和keil-uvision2集成調(diào)試軟件進(jìn)行實(shí)驗(yàn)。掌握實(shí)驗(yàn)的步驟并能得到正確的實(shí)驗(yàn)結(jié)果。第2頁/共20頁二、實(shí)驗(yàn)內(nèi)容與步驟(一)內(nèi)容1

設(shè)計(jì)一個(gè)交通燈控制系統(tǒng),要求能實(shí)現(xiàn)以下功能:

1、正常時(shí)信號燈控制 (1)初始狀態(tài)東西南北全為紅燈 (2)東西紅燈、南北綠燈 (3)東西紅燈、南北綠燈轉(zhuǎn)黃燈閃爍 (4)南北紅燈、東西綠燈 (5)南北紅燈、東西綠燈轉(zhuǎn)黃燈閃爍 (6)轉(zhuǎn)(2)(二)內(nèi)容2

設(shè)計(jì)一個(gè)00-59簡易秒表第3頁/共20頁(二)實(shí)驗(yàn)步驟

第一部分:系統(tǒng)安裝和檢測1、用USB電纜線連接PC機(jī)的USB口和實(shí)驗(yàn)儀的USB插座,打開PC機(jī)的控制面板\系統(tǒng)\硬件\設(shè)備管理器觀看,通常實(shí)驗(yàn)儀連接在COM3上。2、XL400+試驗(yàn)儀設(shè)置按下電源開關(guān),確認(rèn)編程/仿真按鈕處于編程(彈起)狀態(tài)。確認(rèn)CPU卡座上的CPU芯片為AT89S52并已壓下扳手安裝好。3、雙擊桌面XLISP啟動程序,選擇操作/檢測編程器。出現(xiàn)編程器檢測OK!說明系統(tǒng)已經(jīng)連接完好,可以下一步實(shí)驗(yàn),否則需要檢查出錯(cuò)的原因并改正。第4頁/共20頁

第二部分軟件設(shè)計(jì)在Kiel軟件中輸入程序,編輯,編譯鏈接,并運(yùn)行程序。注意要生成HEX文件。1、雙擊桌面上的UV2快捷圖標(biāo),啟動軟件。2、點(diǎn)擊P工程N(yùn)新建工程輸入工程名點(diǎn)擊保存。出現(xiàn)CPU屏幕,選Atmel AT89C51點(diǎn)確定。屏幕左上方出現(xiàn)圖標(biāo)目標(biāo)1。第5頁/共20頁3、點(diǎn)擊文件新建文件出現(xiàn)匯編語言輸入?yún)^(qū)。輸入程序,點(diǎn)擊文件中的保存,輸入:程序名.C并點(diǎn)擊保存。(輸入的程序名一般不超過6個(gè)字母數(shù)字,以字母打頭)4、點(diǎn)擊(圖標(biāo))目標(biāo)1前的“+”號,出現(xiàn)(圖標(biāo))源程序組1,選中并點(diǎn)右鍵,選”文件增加到源程序組1”,選擇文件類型為.C,再選輸入的程序名.C,點(diǎn)ADD(加入),點(diǎn)確定。

此時(shí)點(diǎn)擊源程序組1可以看到輸入的程序名.C

第6頁/共20頁

5、對目標(biāo)1的屬性進(jìn)行修改;如右圖,點(diǎn)擊工程下拉菜單中的”目標(biāo)’目標(biāo)1’屬性”;

第7頁/共20頁6、單擊”目標(biāo)”,輸入仿真器的頻率12(MHz);第8頁/共20頁7、選擇”輸出”菜單中的”生成HEX文件”,以便匯編后產(chǎn)生HEX代碼,供編程器使用;第9頁/共20頁第三部分程序?qū)懭雴纹瑱C(jī)觀察運(yùn)行結(jié)果1、雙擊桌面XLISP啟動程序,選擇打開框,找到需要執(zhí)行的程序(HEX文件),點(diǎn)擊;在XLISP的文件程序區(qū)可見到要執(zhí)行的程序;2、點(diǎn)擊寫入框,在程序?qū)懭虢Y(jié)束后即可觀察運(yùn)行的結(jié)果第10頁/共20頁交通燈控制系統(tǒng)設(shè)置: 綠黃紅(南北)P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0P1口狀態(tài)0000000101H南北紅燈0000010004H南北綠燈0000001002H南北黃燈

第11頁/共20頁交通燈控制控制狀態(tài) 綠黃紅(東西)P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P2口狀態(tài)0000000101H東西紅燈0000010004H東西綠燈0000001002H東西黃燈

(1)東西南北全紅燈:P1=0x01;P2=0x01(2)東西綠燈南北紅燈:P1=0x04;P2=0x01(3)東西黃燈閃爍南北紅燈:P1=02和00;P2=0x01(4)東西紅燈南北綠燈:P1=0x04;P2=0x01第12頁/共20頁

交通燈控制參考程序#include<REG51.H>unsignedchart0,t1; //定義全局變量,用來保存延時(shí)時(shí)間循環(huán)次數(shù)//函數(shù)名:delay0_5s1用T1方式1編制0.5秒延時(shí)程序,voiddelay0_5s1(){for(t0=0;t0<0x0a;t0++)//用全局變量t0作為循環(huán)控制變量{ TH1=0x3c; //設(shè)置定時(shí)器初值

TL1=0xb0;TR1=1; //啟動T1while(!TF1);//查詢計(jì)數(shù)是否溢出,即定時(shí)50ms時(shí)間到,TF1=1TF1=0; //50ms定時(shí)時(shí)間到,將定時(shí)器溢出標(biāo)志位TF1清零

}}第13頁/共20頁//函數(shù)名:delay_t1實(shí)現(xiàn)0.5秒~128秒延時(shí)voiddelay_t1(unsignedchart){for(t1=0;t1<t;t1++) //采用全局變量t0作為循環(huán)控制變量

delay0_5s1();}voidmain() //主函數(shù) {unsignedchark;TMOD=0x10; //T1工作在方式1EA=1; //開放總中斷允許位

EX0=1; //開外部中斷0中斷允許位第14頁/共20頁

while(1){P1=0x01; P2=0x01; //東西南北紅燈,延時(shí)5秒

delay_t1(10);P1=0x04;P2=0x01; //東西綠燈南北紅燈

P1=0x0a; //A黃燈,B紅燈,for(k=0;k<5;k++){ //A黃燈閃爍5次

P1=02;P2=0x01delay0_5s1(); //延時(shí)0.5秒

P1=00;P2=0x01;delay0_5s1(); //延時(shí)0.5秒

}

第15頁/共20頁P(yáng)1=0x04;P2=0x01; //東西紅燈南北綠燈,延時(shí)5秒

delay_t1(10);for(k=0;k<5;k++) //B黃燈閃爍3次

{ P1=0x01;P2=0x02;delay0_5s1(); //延時(shí)0.5秒

P1=0x01;P2=0x00delay0_5s1(); //延時(shí)0.5秒

}}}第16頁/共20頁#include<reg51.h>unsignedcharmsec,sec; //定義msec為50ms計(jì)數(shù)變量,sec為秒變量voiddelay(unsignedchari); voidT0_INT(void)interrupt1 //定時(shí)器0中斷類型號為1{TH0=0x3c; //50ms定時(shí)初值

TL0=0xb0;msec++; //中斷次數(shù)增1if(msec==20) //中斷次數(shù)到20次嗎?

{msec=0; //1秒計(jì)時(shí)到,50ms計(jì)數(shù)單元清零

sec++; //秒單元加1if(sec==60) //到60秒嗎?

{ sec=0; //是,秒單元清零

}}}00~59簡易秒表參考程序第17頁/共20頁voidmain() {unsignedcharled[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //定義數(shù)字0~9字型顯示碼

unsignedchartemp;TMOD=0x01; //定時(shí)器0工作方式1TH0=0x3c; //50ms定時(shí)初值

TL0=0xb0;EA=1; //開總中斷

ET0=1;TR0=1; //開定時(shí)器0中斷while(1){P2=0x7f; //選中P2.0控制的數(shù)碼管

P0=led[sec%10]; //顯示秒個(gè)位

delay(10);P2=0xbf; //選中P2.1控制的數(shù)碼管

P0=led[sec/10]; //顯示秒十位

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論