




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
單片機實驗報告題 目:班 級:姓 名:
實驗三急救車與交通燈實驗0310405學 號: 031040522指導老師:時 間: 2013年6月4日精品文檔交流一、實驗目的了解8255芯片的結(jié)構(gòu)、工作方式及編程方法學習模擬十字路口交通控制的實現(xiàn)方法;熟練掌握外部中斷技術(shù)的使用方法。二、實驗內(nèi)容(1)在實驗箱上完成:用8255的PA口、PB口的低四位做輸出口,控制十二個發(fā)光二極管亮滅,模擬十字路口交通燈管理。一般情況下正常顯示,有急救車到達時,兩個方向四個路口交通信號燈全紅,以便讓急救車通過。設急救車通過路口時間為 10秒,急救車通過后,交通恢復正常。本實驗用單次脈沖申請外部中斷,表示有急救車通過。(2)用Proteus軟件參照實驗電路連線并仿真運行, 得出與實驗箱上相同的軟件仿真結(jié)果。所用元器件:單片機AT89C51、可編程并口芯片8255A、按鍵BUTTON、發(fā)光二極管LED-GREEN(RED、YELLOW)、8位鎖存器74LS273或74LS373、3-8譯碼器74LS138、或非門74LS02、排阻或電阻RESPACK-8(RES)、8位緩沖器74LS244三、程序框圖四、實驗連線(只連圖中粗實線)精品文檔交流五、實驗步驟5.1 在實驗箱上完成8255PB3~PB0、PA7~PA0依次接發(fā)光二極管L1~L12。②編寫程序,初始態(tài)為四個路口的紅燈全亮之后,東西路口的綠燈亮南北路口的紅燈亮,東西路口方向通車。延時一段時間后東西路口的綠燈熄滅,黃燈開始閃耀。閃耀若干次后,東西路口紅燈亮,而同時南北路口的綠燈亮,南北路口方向開始通車,延時一段時間后,南北路口的綠燈熄滅,黃燈開始閃耀。閃耀若干次后,再切換到東西路口方向,之后重復以上過程。5.2proteus 仿真電路圖:精品文檔交流P0034U4LD0PA04P01333KD1PA1P02322JD2PA2P03311ID3PA3P043040HU2U3D4PA4P052939GU1D5PA5P0032A0A2115P062838FD0Q0AY0D6PA61939P00P0145A1A3214P072737EXTAL1P0.0/AD0D1Q1BY1D7PA738P01P0276A2A4313P0.1/AD1D2Q2CY237P02P0389A312518DP0.2/AD2D3Q3Y3RDPB01836P03P041312A411WR3619CXTAL2P0.3/AD3D4Q4Y4WRPB1KT351415A5A6610A0920BP0.4/AD4D5Q5E1Y5A0PB234P05P061716A6A549CSA1821ACRP0.5/AD5D6Q6E2Y6A1PB333P06P071819A557RST3522P0.6/AD6D7Q7E3Y7RESETPB4932P0723RSTP0.7/AD7PB5CLK1174LS138CS624CLKCSPB6U721VCC125P2.0/A8MRPB722NOTP2.1/A92374LS27314P2.2/A10PC0292415PSENP2.3/A11PC1302516ALEP2.4/A12CCCPC2312617EAP2.5/A13PC32713P2.6/A14VVVPC42812P2.7/A15D10D11D12PC511GNDPC61P1.0P3.0/RXD100LED-YELLOWLED-GREENLED-REDPC710211GNDP1.1P3.1/TXD111312P1.2P3.2/INT0U5:A4138255AP1.3P3.3/INT1R1A1514218P1.4P3.4/T0D1D9A0Y0B2615100R4167P1.5P3.5/T116VCC17VCCC6A1Y1143P1.6P3.6/WRA2Y2817RCD8124P1.7P3.7/RDCA3Y3WVLED-YELLOWLED-YELLOWAT89C51D2D8GND1OEVCC28VCCC74LS244VLED-GREENLED-GREEND3D7U5:BVCC39VCCE11A0Y095LED-REDLED-REDF1376A1Y1G1557A2Y2456H1738A3Y3D4D5D619CCCGNDOEC74LS244VVVI2U6:A189A0Y0J41610A1Y1K61411A2Y2L81212A3Y3GND1OE74LS244六、實驗說明中斷服務程序的關(guān)鍵是:①保護進入中斷時的狀態(tài),并在退出中斷之前恢復進入時的狀態(tài)。②必須在中斷程序中設定是否 允許中斷重入,即設置 EX0位。本例中使用了 INT0 中斷(P3.2),一般中斷程序進入時應保護 PSW、ACC以及中斷程序使用但非其專用的寄存器。本例的中斷程序保護了 PSW、ACC等三個寄存器并且在退出前恢復了這三個寄存器。另外中斷程序中涉及到關(guān)鍵數(shù)據(jù)的設置時應關(guān)中斷,即設置時不允許重入。本例中沒有涉及這種情況。中斷信號由單脈沖按鈕 SP產(chǎn)生(實驗箱上的開關(guān)K1以及proteus仿真軟件里的按鍵button 產(chǎn)生)。七、程序清單:#include<reg51.h>#include<absacc.h> //訪問外部存儲器時,必須用到此頭文件#definePAXBYTE[0xffd8]//8255A的PA端口地址#definePBXBYTE[0xffd9]//8255A的PB端口地址#defineCTLXBYTE[0xffdb]//8255A的控制端口地址精品文檔交流voiddelay(unsignedintx);// 延時子函數(shù)的聲明voidmain(){unsignedchari;CTL=0x80;//8255A的控制方式字EA=1; //打開總中斷EX0=1; //外部中斷允許IT0=1; // 打開外部中斷0PA=0xb6; //初始東西南北四個紅燈亮PB=0xd;delay(60);while(1) // 一直循環(huán)執(zhí)行{PA=0xae; // 東西路口的綠燈亮南北路口的紅燈亮,東西路口方向通車PB=0xb;delay(60);for(i=0;i<3;i++){PA=0x9e; // 東西路黃燈開始閃耀,南北路口的紅燈亮PB=0x7;delay(10);PA=0xbe;PB=0xf;delay(10);}PA=0x75; // 東西路口紅燈亮,南北路口綠燈亮PB=0xd;delay(60);for(i=0;i<3;i++){PA=0xf3;精品文檔交流PB=0xc;delay(10);PA=0xf7;PB=0xd;delay(10);}}}voiddelay(unsignedintx) // 延時子函數(shù)的定義{unsignedchari,j,k;for(i=x;i>0;i--)for(j=100;j>0;j--)for(k=100;k>0;k--);}voidint_0()interrupt0 // 外部中斷服務子程序,東西南北四個紅燈亮{PA=0xb6;PB=0xd;delay(80);}八、思考題(1)試編程解決中斷返回以后不能回到中斷之前狀態(tài)的問題。解:本例中使用了INT0中斷(P3.2),外接按鍵,模擬有急救車到來,一般中斷程序進入時應保護PSW、ACC以及中斷程序使用但非其專用的寄存器。本例的中斷程序保護了PSW、ACC等三個寄存器并且在退出前恢復了這三個寄存器。在試驗箱和proteus仿真軟件運行程序并按下按鍵后,延時一段時間,可以回到中斷之前的位置。精品文檔交流2)將交通燈控制程序放在定時器T0中斷服務子函數(shù)中完成,試編程實現(xiàn)。程序清單:#include<reg51.h>#include<absacc.h> // 訪問外部存儲器時,必須用到此頭文件#definePAXBYTE[0xffd8] //8255A的PA端口地址#definePBXBYTE[0xffd9] //8255A的PB端口地址#defineCTLXBYTE[0xffdb] //8255A的控制端口地址#defineuintunsignedintunsignedcharnum=0,num1=0,flag;// 設置3個全局變量,num用于總循環(huán)時間,//num1 用于控制黃燈閃爍時間間隔, flag 是黃燈閃爍標志位voiddelays(); // 延時子函數(shù)聲明,只用于讓急救車通過voidmain(){TMOD=0X01; //T0定時器初始化TH0=(65536-50000)/256;TL0=(65536-50000)%256;ET0=1;TR0=1;EA=1;EX0=1; //外部中斷初始化IT0=1;CTL=0X80;PA=0Xb6; //初始時,東西南北 4個紅燈亮PB=0Xd;while(1); //程序在此等待中斷}voidint_0()interrupt0// 外部中斷服務子程序,模擬有急救車到來{intnum=0;PA=0Xb6; // 四個方向的紅燈全亮PB=0Xd;delays(); // 延時一段時間,讓急救車優(yōu)先通過}精品文檔交流voidtimer0()interrupt1 // 定時器T0中斷服務子程序{num++;num1++;if(num==100) num=20;//控制總時間與循環(huán)返回位置, 注意num=20而不是0,// 因為初始時,4個紅燈亮不在循環(huán)內(nèi)if(num1==5)flag=0; // 黃燈閃爍標志控制位的設置if(num1>5&&num1<=10){flag=1;num1=0;}if(20<num&&num<40)//預留一段時間,為初始四個紅燈亮延時一段時間{PA=0xae;//東西路口的綠燈亮,南北路口的紅燈亮,東西路口方向通車PB=0xb;}if(num>=40&&num<=60)// 東西路口黃燈閃爍,南北路口紅燈亮{if(flag==0){PA=0X9e;PB=0X7;} //黃燈亮if(flag==1){PA=0Xbe;PB=0Xf;} //黃燈滅}if(60<num&&num<80) // 東西路口紅燈亮,南北路口綠燈亮{PA=0X75;PB=0Xd;}if(num>=80&&num<100)// 南北路口黃燈閃爍,東西路口紅燈亮{if(flag==0){PA=0Xf3;PB=0Xc;} // 黃燈亮if(flag==1){PA=0Xf7;PB=0Xd;} // 黃燈滅精品文檔交流}}voiddelays() // 延時子函數(shù)的定義{uinth;for(h=0;h<50000;h++);}九、實驗心得體會做完此次的單片機急救車與交通燈實驗后,不僅加深了對可編程并口芯片8255A、74LS273鎖存器、8位緩沖器74LS244和74LS138譯碼器的工作原理,51單片機的定時器和外部中斷INT0中斷系統(tǒng)的理解,而且掌握了用C語言實現(xiàn)交通燈的編程方法和標志控制位flag設置用法,以及用proteus畫出硬件電路的方法(包括總線bus的快速畫法),最重要的是,培養(yǎng)了自己獨立調(diào)試程序的動手能力和解決實際問題的能力;掌握以單片機為核心的電路基本畫法,通過實際程序設計和調(diào)試,逐步掌握模塊化程序設計方法和調(diào)試技術(shù),為今后調(diào)試程序,設計一般的系統(tǒng)打下了一點基礎;另外,注意紅綠燈亮的時間要
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZSA 272-2024 高磁導率低矯頑力FeNiMnSi 軟磁合金
- 二零二五年度養(yǎng)老公寓入住與心理咨詢服務合同
- 二零二五年度房屋買賣及家居升級借款協(xié)議
- 2025年度生鮮配送與電商渠道合作合同范本
- 二零二五年度互聯(lián)網(wǎng)公司業(yè)績對賭協(xié)議約定倍收益合同
- 2025年度退房合同租賃期滿通知協(xié)議
- 二零二五年度人工智能產(chǎn)業(yè)股東入股合同
- 2025年度新能源技術(shù)研發(fā)中心委托管理合同協(xié)議書
- 二零二五年度健身俱樂部合伙開店經(jīng)營協(xié)議
- 二零二五年度手機行業(yè)經(jīng)銷商返利管理細則
- 2020-2024年五年高考歷史真題分類匯編(全國)專題14 中國古代史(非選擇題)(解析版)
- 電子教案-《3D打印技術(shù)概論》
- 安全生產(chǎn)責任體系重點崗位履職清單
- 四川省成都市2024年中考道德與法治真題試卷(含答案)
- 《東北財經(jīng)大學審計》課件
- 牧童謠課件教學
- 大學物理實驗(緒論)學習通超星期末考試答案章節(jié)答案2024年
- 圖書出版項目合作協(xié)議
- 《現(xiàn)代家政導論》電子教案 2.2模塊二項目二家庭制度認知
- 商務禮儀課件教學課件
- 部編版七年級歷史下冊全冊導學案
評論
0/150
提交評論