汽電13班單片機(jī)實(shí)訓(xùn)指導(dǎo)書_第1頁
汽電13班單片機(jī)實(shí)訓(xùn)指導(dǎo)書_第2頁
汽電13班單片機(jī)實(shí)訓(xùn)指導(dǎo)書_第3頁
汽電13班單片機(jī)實(shí)訓(xùn)指導(dǎo)書_第4頁
汽電13班單片機(jī)實(shí)訓(xùn)指導(dǎo)書_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、-作者xxxx-日期xxxx汽電13班單片機(jī)實(shí)訓(xùn)指導(dǎo)書【精品文檔】 單片機(jī)原理與接口技術(shù)實(shí)訓(xùn)指導(dǎo)書適用班級(jí): 汽電13-1、2班 指導(dǎo)教師: 李 萍實(shí)習(xí)時(shí)間: 2014/6/30 2014/7/4 浙江水利水電學(xué)院機(jī)汽分院?jiǎn)纹瑱C(jī)原理與接口技術(shù)實(shí)訓(xùn)任務(wù)書 一、實(shí)訓(xùn)目的、要求單片機(jī)原理與接口技術(shù)實(shí)訓(xùn)是汽電專業(yè)學(xué)生學(xué)習(xí)該課程后,進(jìn)行的一次全面的綜合訓(xùn)練,以達(dá)到以下的目標(biāo)要求:1 進(jìn)一步熟悉和掌握AT89C51單片機(jī)的結(jié)構(gòu)、工作原理、指令系統(tǒng)、中斷系統(tǒng)及定時(shí)系統(tǒng)等。2 掌握AT89C51單片機(jī)的接口技術(shù)及相關(guān)外圍芯片的外特性,控制方法。3 掌握以單片機(jī)核心的電路設(shè)計(jì)的基本方法和技術(shù)。4 利用開發(fā)軟件P

2、roteus與Keil軟件,完成相應(yīng)的硬件電路原理圖、C語言軟件程序流程圖及程序清單,并進(jìn)行系統(tǒng)調(diào)試,逐步掌握模塊化程序設(shè)計(jì)方法和調(diào)試技術(shù)。5 使學(xué)生了解開發(fā)單片機(jī)應(yīng)用系統(tǒng)的全過程,為今后從事汽電產(chǎn)品的開發(fā)、生產(chǎn)、管理及維護(hù)工作打下一定的基礎(chǔ)。二、計(jì)劃安排 地點(diǎn):工訓(xùn)中心313 日期汽電13-1班汽電13-2班時(shí)間及任務(wù)安排630(一)8:1010:40 ,12:00 14:00 14:0016:30 ,18:00 20:00 課題一設(shè)計(jì)與調(diào)試7. 1(二)8:1010:40 ,12:00 14:00 14:0016:30 ,18:00 20:00課題二設(shè)計(jì)與調(diào)試7. 2(三)8:1010:4

3、014:3017:00課題三設(shè)計(jì)與調(diào)試7. 3(四)14:0016:30 ,18:00 20:008:1010:40 ,12:00 14:00 課題四設(shè)計(jì)與調(diào)試7. 4(五)14:0016:30 ,18:00 20:008:1010:40 ,12:00 14:00 答辯,撰寫報(bào)告三、課題名稱及設(shè)計(jì)要求:詳見指導(dǎo)書。五、實(shí)訓(xùn)成果及要求設(shè)計(jì)說明書一份,包括:功能、硬件電路原理圖、軟件設(shè)計(jì)思路、程序清單。設(shè)計(jì)說明書要求:步驟清楚 、層次分明。設(shè)計(jì)圖紙要求:鉛筆繪制,畫面整潔,線條、字體清晰,符合工程制圖要求。六、考核方法根據(jù)實(shí)訓(xùn)成果(30%)、答辯表現(xiàn)(40%)和平時(shí)表現(xiàn)(20%)分別按優(yōu)、良、中、

4、及格、不及格五級(jí)記分評(píng)定。七、參考資料單片機(jī)應(yīng)用技術(shù)(C語言版) 王靜霞 電子工業(yè)出版社單片機(jī)應(yīng)用技術(shù) 李秀忠 人民郵電出版社單片機(jī)課程設(shè)計(jì) 蔡明文 華中科技大學(xué)出版社 指導(dǎo)老師:李萍 2014年5月單片機(jī)原理與接口技術(shù)實(shí)訓(xùn)指導(dǎo)書課題一 0999計(jì)數(shù)器的設(shè)計(jì)1、預(yù)備知識(shí):數(shù)碼管的顯示方法1)數(shù)碼管的工作原理 數(shù)碼管由8個(gè)發(fā)光二極管構(gòu)成,通過不同的組 合可用來顯示數(shù)字0 9、字符A F、H、L、P、U及小數(shù)點(diǎn)“.”。數(shù)碼管顯示器根據(jù)公共端的連接方式,可分為共陰極數(shù)碼管(將所有發(fā)光二極管的陰極連在一起)和共陽極數(shù)碼管(所有陽極連在一起)。以共陽極數(shù)碼管為例,8個(gè)發(fā)光二極管的陽極連接在一起,其共陽極

5、接高電平(+5V),其它引腳接段驅(qū)動(dòng)電路輸出端。當(dāng)某段為低電平時(shí),該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光段的不同組合顯示數(shù)字或字符。 共陽數(shù)碼管每個(gè)段筆畫是用低電平(“0”)點(diǎn)亮的,要求驅(qū)動(dòng)功率很?。欢碴帞?shù)碼管段筆畫是用高電平(“1”)點(diǎn)亮的,要求驅(qū)動(dòng)功率較大。通常每個(gè)段筆畫要串一個(gè)數(shù)百歐姆的降壓電阻。 2)數(shù)碼管的字形編碼要使數(shù)碼管顯示出相應(yīng)的數(shù)字或字符,必須使段數(shù)據(jù)口輸出相應(yīng)的字形編碼。共陰極和共陽極數(shù)碼管的字形編碼各不相同,見下表: 3) LED數(shù)碼管的靜態(tài)顯示方式 靜態(tài)顯示就是顯示驅(qū)動(dòng)電路具有輸出鎖存功能,單片機(jī)要將所顯示的數(shù)據(jù)送出去后,數(shù)碼管始終顯示該數(shù)據(jù)(不變),CPU不再控制LE

6、D。到下一次顯示時(shí),再傳送一次新的顯示數(shù)據(jù)。靜態(tài)顯示的優(yōu)點(diǎn):顯示的數(shù)據(jù)穩(wěn)定,無閃爍,占用CPU時(shí)間少。并行接口電路中每一個(gè)數(shù)碼管需要由一個(gè)8位輸出接口控制,數(shù)碼管的公共端按共陰或共陽極分別接地或VCC。靜態(tài)顯示的缺點(diǎn):當(dāng)顯示位數(shù)較多時(shí)需要并行I/O接口較多。2、功能:功能1:使用單片機(jī)外部中斷實(shí)現(xiàn)099的加法計(jì)數(shù),并采用兩個(gè)共陰極LED 組成的顯示屏將其顯示出來。其中P0、P1口的8個(gè)引腳分別接到加法計(jì)數(shù)器的個(gè)位和十位LED數(shù)碼管的ag及dp端。每按一次K1(接到外部中斷0)進(jìn)行加法計(jì)數(shù),當(dāng)加到99時(shí),再按加數(shù)按鈕無效,數(shù)據(jù)仍顯示為99。清零鍵接P3.6,按下清零鍵實(shí)現(xiàn)計(jì)數(shù)清零。功能2:在功能

7、1的基礎(chǔ)上,實(shí)現(xiàn)099的加減計(jì)數(shù)。硬件上增加一個(gè)按鍵 K2(接到外部中斷1)進(jìn)行減數(shù),當(dāng)減到00時(shí),減數(shù)按鈕無效,數(shù)據(jù)仍顯示00。功能3:在功能2的基礎(chǔ)上,實(shí)現(xiàn)0999的加減計(jì)數(shù)。硬件上增加P2口接到計(jì)數(shù)器的百位顯示數(shù)碼管輸出端。3、設(shè)計(jì)分析(功能一):8段LED數(shù)碼管輸出采用靜態(tài)顯示方式。硬件上將AT89C51的P0、P1口與共陰極LED數(shù)碼管的8個(gè)引腳相連。軟件上通過Show_Count_On_DSY()子程序可實(shí)現(xiàn)計(jì)數(shù)值個(gè)位和十位的數(shù)據(jù)分離與獨(dú)立顯示。電路中接按鍵K1到外部中斷0作為加數(shù)控制。硬件上按鍵輸入時(shí)要并聯(lián)一個(gè)10K歐的上拉電阻才能接至輸入端。軟件上要注意對(duì)數(shù)據(jù)的判斷。當(dāng)計(jì)數(shù)值已

8、為最大值99時(shí),則計(jì)數(shù)值不變,返回主程序。此外,單片機(jī)正常工作必須具備時(shí)鐘電路和復(fù)位電路。其中時(shí)鐘電路為單片機(jī)提供其工作時(shí)所必須的時(shí)鐘脈沖作為基本時(shí)序信號(hào),復(fù)位電路可實(shí)現(xiàn)單片機(jī)上電時(shí)從初始狀態(tài)開始工作。 圖1 電路仿真圖所用元件如下:共陰極數(shù)碼管:7SEG-COM-CAT-GRN 電容:CAP路徑下晶振:CRYSTAL單片機(jī):AT89C51電阻:RES路徑下按鈕:BUTTON+5V電源:Terminal Mode中的Power地:Terminal Mode中的Ground開始外部中斷設(shè)置顯示十位、個(gè)位計(jì)數(shù)值十位、個(gè)位分離清零鍵按下?計(jì)數(shù)值清零YN Int_0:加1子程序加1計(jì)數(shù)值為100?返回

9、Y計(jì)數(shù)值賦值99N 圖2 099加法計(jì)數(shù)器程序流程 (功能一)#include <reg51.h> #define uchar unsigned char #define uint unsigned int /09的共陰極數(shù)字編碼,最后一位為黑屏uchar code DSY_CODE=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00;uchar Display_Buffer2=0,0; /計(jì)數(shù)值分解后各位待顯示計(jì)數(shù)值uint Count=0; /計(jì)數(shù)值sbit Clear_Key=P36; /清零鍵void Show_Co

10、unt_On_DSY( ) /子程序:在數(shù)碼管上顯示計(jì)數(shù)值 Display_Buffer1=Count/10; /獲取2個(gè)數(shù)位 Display_Buffer0=Count%10;if(Display_Buffer1=0) /十位為零時(shí)不顯示 Display_Buffer1=0x0a;P0=DSY_CODEDisplay_Buffer0; /兩位數(shù)碼管獨(dú)立顯示P1=DSY_CODEDisplay_Buffer1;void main( ) /主程序 P0=0xff; /P0、P1口設(shè)為輸出方式P1=0xff;IT0=1; /INT0為下降沿觸發(fā)方式EA=1;EX0=1; /允許總中斷、允許外部中斷

11、1中斷while (1) if(Clear_Key=0) / 清零 Count=0; Show_Count_On_DSY( ); /持續(xù)刷新顯示 void int_0( ) interrupt 0 /外部中斷0服務(wù)程序,中斷號(hào)為interrupt 0 Count+; /加一計(jì)數(shù) if(Count=100) Count=99; /如原計(jì)數(shù)值為99則不變 注:在功能2中,外部中斷1服務(wù)程序的中斷號(hào)為interrupt 2【精品文檔】 課題二 閃爍燈的設(shè)計(jì)1、 某單片機(jī)控制系統(tǒng)要求如下: 功能1:1) 在正常情況下,8個(gè)發(fā)光二極管常亮。2)按下K1時(shí),第1個(gè)和第8個(gè)發(fā)光二極管閃爍,閃爍5次;3) 按

12、下K2時(shí),8個(gè)發(fā)光二極管變暗。4)發(fā)光二極管由P0口控制,要求P0輸出低電平時(shí)驅(qū)動(dòng)發(fā)光二極管亮,二極管接至+5V電源時(shí)需串聯(lián)一個(gè)100歐姆的電阻。 功能2:在功能1基礎(chǔ)上,增加以下功能:按下K3時(shí),8個(gè)發(fā)光二極管閃爍10次,閃爍時(shí)間間隔為1s。 功能3:在功能1、2基礎(chǔ)上,增加以下功能:按下K4時(shí),8個(gè)發(fā)光二極管輪流點(diǎn)亮,循環(huán)5次,閃爍時(shí)間間隔為1s。 提示:功能2中1S時(shí)間間隔的實(shí)現(xiàn)可參考書本P95任務(wù)7中程序中的delay1s( )子程序,此時(shí)注意主程序需要增加定時(shí)器T1工作方式TMOD值的設(shè)置。2、硬件設(shè)計(jì):在PROTEUS中有四種不同顏色的發(fā)光二極管,為顯示不同顏色可使用4種發(fā)光二極管

13、。由P0口內(nèi)部結(jié)構(gòu)可知,作為I/O口使用時(shí),需要加上拉電阻,在此可采用排阻。開關(guān)K1、K2和K3可接至P1口某3個(gè)未用的引腳上。單片機(jī) AT89C51電阻 RES路徑下開關(guān) SWITCH發(fā)光二極管 LED-排阻 RESPACK-83、 程序設(shè)計(jì):功能一的程序參考流程圖如下圖所示。開始K1按下?PNP0、P1口置為I/O方式(0xFF)K2按下?8個(gè)二極管暗YY8個(gè)二極管亮liang N3、功能一的參考程序如下:#include <reg51.h> #define uchar unsigned char #define uint unsigned int sbit Key_1=P10

14、; /定義位變量Key_1和Key_2sbit Key_2=P11;sbit P00=P00; /定義位變量P00和P07sbit P07=P07;void delay(unsigned char i)/延時(shí)函數(shù),無符號(hào)字符型變量i為形式參數(shù) unsigned int j,k;/定義無符號(hào)字符型變量j和k for(k=0;k<i;k+)/雙重for循環(huán)語句實(shí)現(xiàn)軟件延時(shí) for(j=0;j<500;j+);void Key_1_Flash( ) /按鍵K1的處理程序 uchar u; for(u=0;u<10;u+) /閃爍10次 P00=!P00; /取反 P07=!P07;

15、 delay(200); /延時(shí) void main( ) /主程序 P0=0x00; /常態(tài)下8個(gè)發(fā)光二極管均亮 while(1) if(Key_1=0) Key_1_Flash( ); /若K1按下,則進(jìn)行按鍵處理 else if(Key_2=0) P0=0xff; /若K2按下,則進(jìn)行按鍵處理 else P0=0x00; /無鍵按下,則常亮 4、仿真調(diào)試:1)源程序輸入、編輯及編譯,調(diào)試運(yùn)行成功后生成目標(biāo)文件XX.HEX。 2)程序調(diào)試:在調(diào)試過程中打開工作寄存器窗口、特殊功能寄存器窗口、內(nèi)部RAM窗口,觀察程序運(yùn)行過程中各相關(guān)窗口的單元值。調(diào)試時(shí),先采用單步和斷點(diǎn)的形式運(yùn)行程序,迅速找

16、出問題所在,程序通過后再全速運(yùn)行。3)電路仿真:用Proteus軟件繪制仿真電路,將軟件生成的目標(biāo)代碼文件下載到AT89CT51中,運(yùn)行仿真電路直至實(shí)現(xiàn)電路功能。 課題三、交通燈控制系統(tǒng)的設(shè)計(jì)1、 功能:設(shè)計(jì)一個(gè)十字路口交通燈控制系統(tǒng),分為東西道和南北道,設(shè)東西道為A道,南北道為B道;1)正常情況下輪流點(diǎn)亮交通燈,狀態(tài)如表4.8所示。2)特殊情況下,A道通行。3)有緊急車輛通過時(shí),A、B道均為紅燈。2、系統(tǒng)處理方案及器件選擇 本系統(tǒng)采用AT89C51作為核心控制器件,紅、綠、黃燈各四個(gè)作為交通指示等,處理緊急車輛的中斷開關(guān)兩個(gè)。3、硬件設(shè)計(jì)由于A道、B道上的兩個(gè)同色燈均可連在一起,可用AT89

17、C51的P1.0P1.5共六根輸出線控制各色交通燈的點(diǎn)亮與熄滅;要求低電平輸出驅(qū)動(dòng)交通燈點(diǎn)亮。A紅A黃A綠B紅B黃B綠P1端數(shù)據(jù)狀態(tài)說明110011F3狀態(tài)1:A通行、B禁行110、1011狀態(tài)2:A綠燈閃、B禁行101011EB狀態(tài)3:A警告、B禁行011110DE狀態(tài)4:A禁行、B通行011110、1狀態(tài)5:A禁行、B 綠燈閃011101DD狀態(tài)6:A禁行、B警告按鍵S1和S2模擬緊急情況和特殊情況的發(fā)生,分別接到外部中斷0(P3.2)和外部中斷1 (P3.3)引腳。元器件清單見下表:綠燈LED-GREEN 紅燈LED-RED 黃燈LED-YELLOW 電阻:RES路徑下按鈕:BUTTON

18、單片機(jī)AT89C51 +5V電源:Terminal Mode中的Power地:Terminal Mode中的Ground4、軟件設(shè)計(jì)根據(jù)硬件設(shè)計(jì)原理圖,畫出主程序流程圖。采用自上而下的設(shè)計(jì)方法進(jìn)行程序設(shè)計(jì),對(duì)緊急車輛的處理,采用中斷的方法,由中斷處理程序處理。設(shè)置中斷處理程序時(shí),注意如何保護(hù)進(jìn)入中斷前的狀態(tài)(信號(hào)燈、P口、各寄存器狀態(tài)等),使得中斷程序執(zhí)行后能夠回到交通燈中斷前的狀態(tài)。/功能:交通燈控制程序#include <REG51.H>unsigned char t0,t1;/定義全局變量,用來保存延時(shí)時(shí)間循環(huán)次數(shù)/函數(shù)功能:用T1的方式1編制0.5秒延時(shí)程序,假定系統(tǒng)采用1

19、2MHz晶振,定void delay0_5s1() for(t0=0;t0<0x0a;t0+)/ 采用全局變量t0作為循環(huán)控制變量 TH1=0x3c;/ 設(shè)置定時(shí)器初值 TL1=0xb0; TR1=1; / 啟動(dòng)T1 while(!TF1);/ 查詢計(jì)數(shù)是否溢出,即定時(shí)50ms時(shí)間到,TF1=1 TF1=0;/ 50ms定時(shí)時(shí)間到,將定時(shí)器溢出標(biāo)志位TF1清零 ×tvoid delay_t1(unsigned char t) for(t1=0;t1<t;t1+)/ 采用全局變量t0作為循環(huán)控制變量 delay0_5s1(); /函數(shù):int_0/函數(shù)功能:外部中斷0中斷函

20、數(shù),緊急情況處理,當(dāng)CPU響應(yīng)外部中斷0的中斷請(qǐng)求時(shí),/ 自動(dòng)執(zhí)行該函數(shù),實(shí)現(xiàn)兩個(gè)方向紅燈同時(shí)亮10秒void int_0() interrupt 0/ 緊急情況中斷 unsigned char i,j,k,l,m; i=P1;/ 保護(hù)現(xiàn)場(chǎng),暫存P1口、t0、t1、TH1、TH0 j=t0; k=t1; l=TH1; m=TH0; P1=0xdb;/ 兩個(gè)方向都是紅燈 delay_t1(20);/ 延時(shí)10秒 P1=i;/ 恢復(fù)現(xiàn)場(chǎng),恢復(fù)進(jìn)入中斷前P1口、t0、t1、TH1、TH0 t0=j; t1=k; TH1=l; TH0=m; /函數(shù):int_1/函數(shù)功能:外部中斷1中斷函數(shù),特殊情況處

21、理,當(dāng)CPU響應(yīng)外部中斷1的中斷請(qǐng)求時(shí),/ 自動(dòng)執(zhí)行該函數(shù),實(shí)現(xiàn)A道放行5秒void int_1() interrupt 2/ 特殊情況中斷 unsigned char i,j,k,l,m; EA=0;/關(guān)中斷 i=P1;/ 保護(hù)現(xiàn)場(chǎng),暫存P1口、t0、t1、TH1、TH0 j=t0; k=t1; l=TH1; m=TH0; EA=1; / 開中斷 P1=0xf3;/ A道放行 delay_t1(10);/ 延時(shí)5秒 EA=0;/ 關(guān)中斷 P1=i;/ 恢復(fù)現(xiàn)場(chǎng),恢復(fù)進(jìn)入中斷前P1口、t0、t1、TH1、TH0 t0=j; t1=k; TH1=l; TH0=m; EA=1;/開中斷void main()/主函數(shù) unsigned char k; TMOD=0x10;/ T1工作在方式1 EA=1;/ 開放總中斷允許位 EX0=1;/ 開外部中斷0中斷允許位 IT0=1;/ 設(shè)置外部中斷0為下降沿觸發(fā) EX1=1;/ 開外部中斷1中斷允許位 IT1=1;/ 設(shè)置外部中斷1為下降沿觸發(fā) while(1) P1=0xf3;/ A綠燈,B紅燈,延時(shí)5秒 delay_t1(10); for(k=0;k<3;k+)/ A綠燈閃爍3次 P1=0xf3; P1=0xfb; delay0_5s1(); P1=0xeb;/ A黃燈,B紅燈,延

溫馨提示

  • 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. 人人文庫(kù)網(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)論