PIC單片機實驗報告_第1頁
PIC單片機實驗報告_第2頁
PIC單片機實驗報告_第3頁
PIC單片機實驗報告_第4頁
PIC單片機實驗報告_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

試驗一LED燈一、試驗內(nèi)容:RE0-RE5配置為輸出,6LED燈;編寫程序,調(diào)試并運行,下載到試驗板上,實現(xiàn)循環(huán)點亮。二、試驗目的:學習PIC單片機I/O端口功能及特點,了解I/O端口引腳及連線,把握存放器。在開發(fā)板上實現(xiàn)循環(huán)點亮LED燈。三、試驗要求了解把握PIC單片機的構(gòu)造和功能。應嫻熟把握MPLAB開發(fā)環(huán)境的使用方法。嫻熟把握PIC單片機的程序編寫方法。MPLABIDE四、試驗預備:1、I/OI/O端口特點:1I/O輸入端口都是施密特觸發(fā)器輸入,以便增加抗干擾性。2〔除VDD、VSS、MCLR和OSC1/CLKI〕,均為外設與I/O端口所共用。3、假設外設使能,并且外設正在使用相關引腳時,該引腳將不再作為通用I/O引腳使用。4、I/O與多個外設復用時I/O級,如:I/O引腳與兩個外設復用〔“外設A”和“外設B”〕外設A對引腳的把握具有最高優(yōu)先權(quán),假設外設A和外設B同時使能,外設A將把握I/O引腳5〔CN〕dsPIC30F器件能夠向處理器發(fā)出中斷懇求,以響應所選輸入引腳上的狀態(tài)變化。I/O全部的端口引腳,都有三個與端口引腳的操作直接相關的存放器。①TRISx:數(shù)據(jù)方向存放器。打算各個引腳是輸入引腳還是輸出引腳。假設某個I/O引腳的TRIS位為“1”,則該引腳是輸入引腳。I/O引腳的TRIS位為“0”,則該引腳被配置為輸出引腳。復位以后,全部端口引腳被定義為輸入。②PORTx:I/OI/O引腳,寫的是端口數(shù)據(jù)鎖存器〔LATx〕。③LATx:I/O口數(shù)據(jù)鎖存器〔LATx〕五、試驗過程及結(jié)果:試驗源程序:#include“p30f4011.h”intmain(void){intled=0x01;unsignedlonginti=0;TRISE=0x100;PORTE=led;while(1){PORTE=led;for(i=0;i<65000;i++){}/延時led=led<<1;/當?shù)?個LED燈亮后,重從第1個LED燈點亮if(led==0x40)led=0x01;}return0;}6LED燈開頭循環(huán)點亮,通過修改程序,還可以轉(zhuǎn)變延遲時間,即可把握LED燈點亮時間。試驗二實現(xiàn)外部中斷INT0一、試驗內(nèi)容:學習PIC單片機的中斷內(nèi)容及其特性,了解中斷懇求、中斷響應及中斷效勞原理。在試驗板上實現(xiàn)外部中斷INT0.二、試驗目的:把握PIC單片機的中斷內(nèi)容,學會編程實現(xiàn)外部中斷。三、試驗預備:中斷概述:1、中斷的定義:中斷是指如下過程:CPU與外設同時工作,CPU執(zhí)行主程序,外設做預備工作,當外設預備好時向CPU發(fā)中斷懇求信號,假設條件滿足,則CPU終止主程序的執(zhí)行,轉(zhuǎn)去執(zhí)行中斷效勞程序,在中斷效勞程序中CPUCPU再返回剛剛終止的主程序連續(xù)執(zhí)行。2、中斷源:⑴中斷源的定義:中斷源是指引起中斷懇求的來源。⑵中斷源的分類:①軟中斷和②硬中斷3、中斷處理的全過程中斷處理的全過程分成3個階段:中斷懇求、中斷響應和中斷效勞。4、多重中斷與中斷優(yōu)先級⑴當系統(tǒng)中有多個設備提出中斷懇求時,多個外設的中請信號要通過門電路送到CPU的中請輸入端,使CPU能收到多個外設提出的中請。CPU在收到多個外設的懇求后,按優(yōu)先級原則處理中斷。中斷懇求:CPU都有中請輸入線。中請輸入線有2類:非屏蔽中請輸入線和可屏蔽中請輸入線;CPU的開、關中斷。CPU1個中斷懇求觸發(fā)器IF,當IF=1時,稱CPU開中斷,此時CPU可以處理收到的可屏蔽中請;當IF=0時,稱CPU關中斷,雖然CPU理〔響應〕它。CPU內(nèi)有中斷懇求檢測電路。CPU每執(zhí)行一條指令,其內(nèi)的中斷懇求檢測電路都要檢測中斷懇求輸入端的狀態(tài)中斷效勞:中斷效勞子程序是由用戶依據(jù)自己的需要編制的,編制時要留意如下問題:保護現(xiàn)場:目的是為了保護那些與主程序中有沖突的存放器器與主程序中所使用的存放器等沒有沖突的話,這一步驟可以省略。開/10實現(xiàn)。目的是為了能把握中斷。中斷效勞:與中斷源實現(xiàn)信息交換?;謴同F(xiàn)場:是與保護現(xiàn)場對應的,但要留意數(shù)據(jù)恢復的次序,以免混亂。返回:返回主程序四、試驗過程及結(jié)果:試驗源程序:#include“p30f4011.h”unsignedintLed=0x01;voidInitializeint0{IFS0bits.INT0IF=0; //去除INT0的中斷標志IPC0bits.INT0IP=7; //中斷優(yōu)先級為7}void attribute (( interrupt ))_INT0Interrupt(void){IFS0bits.INT0IF=0; //INT0中斷標志Led=Led<<1;if(Led==0x40)Led=1;}intmain{Initializeint0;TRISE=0x0100;Led=0x01;PORTE=Led;IEC0bits.INT0IE=1;while(1){PORTE=Led;

//RE0~RE5為輸出//使能中斷}}編寫源程序,利用外部中斷INT0實現(xiàn)中斷,編譯通過后下載到試驗板中,編譯并運行。試驗中,當未按下按鍵時,LED燈循環(huán)點亮,當按下按鍵式,發(fā)出中斷懇求,LED燈全部點亮,并延遲確定時間,通過修改程序,可以延長或縮短LED全部點亮時間,當中斷處理完成后,LED燈連續(xù)循環(huán)點亮。一、試驗內(nèi)容:了解PIC單片機定時器的相關內(nèi)容,了解其類型、工作模式,把握定時器預分頻器的構(gòu)造功能。并利用定時器實現(xiàn)循環(huán)點亮LED燈,并設置時間間隔。二、試驗目的:通過學習定時器內(nèi)容,把握了解定時器構(gòu)造功能,并學會應用于程序編寫設計中,以PIC把握完成的定時/計數(shù)及中斷響應的編程技巧,用C語言編寫外部中斷程序,并在MPLAB開發(fā)環(huán)境中對工程進展編譯鏈接和進展調(diào)試。三、試驗預備:工作模式:定時器模式定時器的輸入時鐘由內(nèi)部系統(tǒng)時鐘〔FOSC/4〕供給。當使能為該模式時,對于1:1的預分頻器設置,定時器的計數(shù)值在每個指令周期都1。使用外部時鐘輸入的同步計數(shù)器模式定時器的時鐘源由外部供給所選的定時器在TxCK引腳上的輸入時鐘的每個上升沿進展加1計數(shù)。對外部時鐘高電平和低電平有最短時間的要求。通過在一個指令周期內(nèi)的兩個不同時間對外部時鐘信號進展采樣,可以實現(xiàn)外部時鐘源與器件指令時鐘的同步。使用外部時鐘輸入的A類型定時器異步計數(shù)器模式通過使用連接到TxCK引腳的外部時鐘源,A類型時基能夠在異步計數(shù)模式下工作。外部時鐘輸入不與器件系統(tǒng)時鐘源同步。該時基連續(xù)進展與內(nèi)部器件時鐘異步的遞增計數(shù)。門控時間累加模式當加在TxCKTxCK引的定時器將進展遞增計數(shù)。引腳狀態(tài)從高電平到低電平的轉(zhuǎn)變會將TxIF中斷標志位置1。定時中斷:依據(jù)工作模式的不同,16位定時器可以在發(fā)生周期匹配或外部門控信號的下降沿TxIF1。TxIF位必需用軟件清零。通過對應的定時器中斷使能位TxIE,可以將定時器使能為中斷源。為了使該定時器成為中斷源,必需對中斷優(yōu)先級位〔TxIP<2:0>〕寫入非零值三、試驗過程及結(jié)果:試驗源程序:#include<p30f4011.h>unsignedintLed=1;voidInitializeTMR1{TMR1=0; //1TMR1=0T1CON=0x0030; //關閉定時器,使用內(nèi)部時鐘,預分頻比為1:256PR1=0x1c20; //定時器Timer1周期存放器值1sIFS0bits.T1IF=0; //去除TMR1的中斷標志IPC0bits.T1IP=7; //中斷優(yōu)先級為7IEC0bits.T1IE=1; //使能中斷}void attribute (( interrupt ))_T1Interrupt(void){TMR1=0;IFS0bits.T1IF=0;//清定時器中斷標志Led=Led<<1;if(Led==0x40)Led=1;}intmain{InitializeTMR1;TRISE=0x00;T1CONbits.TON=1;while(1){PORTE=Led;}}LED1s,通過菜單Debuger>stopwatch調(diào)出秒表來觀看執(zhí)行時間我們還可以通過修改程序來修改所設置的時間間隔,以滿足不同需求。試驗四UART通用異步收發(fā)器試驗一、試驗內(nèi)容:利用UART通用異步收發(fā)器實現(xiàn)數(shù)據(jù)的異步收發(fā)。二、實現(xiàn)目的:PICUART通用異步收發(fā)器功能,學習通過UART異步收發(fā)器完CMPLAB鏈接和進展調(diào)試。三、試驗要求了解把握PIC單片機的構(gòu)造和UART應嫻熟把握MPLAB開發(fā)環(huán)境的使用方法。嫻熟把握PIC單片機的程序編寫方法。MPLABIDE三、試驗預備:數(shù)據(jù)傳送的方向:①單工兩端僅有發(fā)送器或接收器、一個通道僅能進展一個方向的傳送②半雙工兩端具有發(fā)送器和接收器、但只有一個通道同一時刻僅能進展一個方向的傳送可交替的進展雙向數(shù)據(jù)傳送③全雙工兩端具有發(fā)送器和接收器、且具有兩個通道同一時刻能進展雙向傳送數(shù)據(jù)傳送的方式:異步方式:發(fā)送和接收只需短時間內(nèi)同步的數(shù)據(jù)傳送,傳送單元較小〔一般為一個Byte〕。同步方式:發(fā)送和接收需長時間內(nèi)同步的數(shù)據(jù)傳送,傳送單元較大〔傳送一個包〕。通用異步收發(fā)器〔UniversalAsynchronousReceiverTransmitter,UART〕:可以和外設〔例如,個人電腦、RS-232和RS-485接口〕通信的全雙工異步系統(tǒng)。UART模塊的主要特性:通過UxTX和UxRX89位數(shù)據(jù)傳輸,由低向高發(fā)送偶、奇或無奇偶校驗選項〔8位數(shù)據(jù)〕一或兩個停頓位16位預分頻器的波特率發(fā)生器4級深度先進先出〔First-In-First-Out,F(xiàn)IFO〕發(fā)送數(shù)據(jù)緩沖器4級深度FIFO接收數(shù)據(jù)緩沖器奇偶,幀和緩沖溢出錯誤檢測9位模式〔9位=1〕發(fā)送和接收中斷用于診斷支持的環(huán)回模式波特率發(fā)生器:UART16位波特率發(fā)生器〔BaudRateGenerator,BRG〕。UxBRG16位定時器的周期。四、試驗過程及結(jié)果:試驗程序:#include<p30f4011.h>unsignedint recdata,txdata;void Uart_Initial{

//接收數(shù)據(jù)存放器IFS0bits.U1TXIF=0; //復位發(fā)送中斷標志位IFS0bits.U1RXIF=0; //復位接收中斷標志位IPC2bits.U1RXIP=1; //收中斷優(yōu)先級:1級IPC2bits.U1TXIP=1;U1MODE=0x8040; //UART使能,8位數(shù)據(jù),無奇偶校驗,環(huán)回U1STA=0x0000; //〔發(fā)送緩沖器中至少還有一//個字符〕產(chǎn)生中斷,當接收到一個字符時,中斷標志位置位U1BRG=0X34; //U1BRG=Fcy/(16*波特率)-19600}void attribute (( interrupt ))_U1TXInterrupt{while(U1STAbits.TRMT==0); //0時,說明移位存放器沒空IFS0bits.U1TXIF=0;}void attribute (( interrupt ))_U1RXInterrupt{ while(U1STAbits.URXDA==1){recdata=U1RXREG;txdata=recdata<<1;U1TXREG=txdata;

//接收數(shù)據(jù)并存儲//返送接收

溫馨提示

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

評論

0/150

提交評論