單片機技術習題課5、6、7章優秀課件_第1頁
單片機技術習題課5、6、7章優秀課件_第2頁
單片機技術習題課5、6、7章優秀課件_第3頁
單片機技術習題課5、6、7章優秀課件_第4頁
單片機技術習題課5、6、7章優秀課件_第5頁
已閱讀5頁,還剩15頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、1單片機技術單片機技術習題課習題課(第五、六、七章)(第五、六、七章)2第五章第五章 單片機中斷系統單片機中斷系統35. 利用外部中斷源利用外部中斷源INT0、INT1,實現中斷及中斷,實現中斷及中斷嵌套,設嵌套,設INT1為高優先級。如圖為高優先級。如圖5-1所示,用兩個所示,用兩個按鍵按鍵S1和和S2,分別接到,分別接到P3.2和和P3.3引腳,按動兩個引腳,按動兩個中斷按鍵,產生兩個不同的中斷。先按動低優先級中斷按鍵,產生兩個不同的中斷。先按動低優先級中斷源中斷源S1鍵,緊接著按動高優先級按鍵鍵,緊接著按動高優先級按鍵S2鍵,將產鍵,將產生中斷嵌套。設中斷為邊沿觸發方式,試編寫程序,生中

2、斷嵌套。設中斷為邊沿觸發方式,試編寫程序,實現上述功能,無中斷請求時,兩個二極管全滅,實現上述功能,無中斷請求時,兩個二極管全滅,低優先級中斷請求時,低優先級中斷請求時,LED1亮亮5秒,高優先級中斷秒,高優先級中斷時,時,LED2亮亮5秒。秒。45中斷相關寄存器中斷相關寄存器PT2PSPT1PX1PT0PX0 IP(B8H) BFH BEH BDH BCH BBH BAH B9H B8HEAET2ESET1EX1ET0EX0 IE(A8H)AFH AEH ADH ACH ABH AAH A9H A8HTF1TF0IE1IT1IE0IT0 TCON(88H)8FH 8EH 8DH 8CH 8B

3、H 8AH 89H 88H05H85H04H6C語言源程序語言源程序#include sbit P1_0=P10;sbit P1_1=P11;sbit P3_2=P32;sbit P3_3=P33;void delay(void)/5秒鐘延時函數秒鐘延時函數unsigned int m,n;for(m=620;m0;m-)for(n=1000;n0;n-);7void main(void) TCON=0X05;/外部中斷為邊沿觸發方式外部中斷為邊沿觸發方式IE=0X85; /開外部中斷開外部中斷1,2IP=0X04; /int1為高優先級中斷,為高優先級中斷,int0為低優先級為低優先級中斷,

4、中斷, P1_0=1;/兩個兩個LED燈熄滅燈熄滅P1_1=1; while(1);/等待中斷等待中斷C語言源程序語言源程序8void int0_int(void) interrupt 0P1_0=0;delay( );P1_0=1;void int1_int(void) interrupt 2P1_1=0;delay( );P1_1=1;C語言源程序語言源程序ProteusProteus仿真仿真9第六章第六章 MCS-51單片機的單片機的定時器定時器/計數器計數器1010. 用方式用方式1設計兩個不同頻率的方波,設計兩個不同頻率的方波,P3.6輸出頻輸出頻率為率為200Hz,P3.7輸出頻率

5、為輸出頻率為 100Hz,晶振頻率,晶振頻率12MHz。分析:分析:定時時間:頻率定時時間:頻率200Hz,周期,周期=5ms,則定時,則定時2.5ms;工作方式:方式工作方式:方式1,TMOD =初值:初值:x= 216-2500 = 65536-2500 =63036D =0F63CH所以:所以:TH1=0F6H;TL1=3CH也可以寫成:也可以寫成:TH1=63036/256,TL1=63036%25610H11#include sbit P3_6=P36;sbit P3_7=P37;void main()TMOD=0 x10; TL1=0 x3c; TH1=0 xf6; TR1=1;

6、ET1=1; EA =1; F0=0; while(1);void serve() interrupt 3 TL1=0 x3c; TH1=0 xf6; P3_6=P3_6; if(F0=0)F0=1; else F0=0;P3_7=P3_7; ProteusProteus仿真仿真1215設設fosc=12MHz。試編寫一段程序,對定時器。試編寫一段程序,對定時器T1初始化,使之工作在模式初始化,使之工作在模式2,產生,產生200s定時,并用查定時,并用查詢詢T1溢出標志的方法,控制溢出標志的方法,控制P1.1輸出周期為輸出周期為2ms的方的方波。波。分析:分析:工作方式:工作方式:T1模式模式

7、2,TMOD =20H。初值:初值:x= 28-200 = 256-200 =56方波周期方波周期2ms,則每定時,則每定時5次次P1.1電平翻轉一次。電平翻轉一次。13 TF1=0; i+; if(i=5) P1_1=P1_1; i=0; #include sbit P1_1=P11;void main() unsigned char i,j; TMOD=0 x20; TL1=56; TH1=56; TR1=1; while(1) while(TF1=1) ProteusProteus仿真仿真14第七章第七章 MCS-51單片機的串行口單片機的串行口 153簡述串行口接收和發送數據的過程。簡

8、述串行口接收和發送數據的過程。答:答: 發送時,執行一條將數據寫入發送緩沖器發送時,執行一條將數據寫入發送緩沖器SBUF的指令,啟動數據發送,發送完畢硬件將的指令,啟動數據發送,發送完畢硬件將中斷標志中斷標志TI置置1; 接收時,用軟件置接收時,用軟件置REN=1、RI=0,即啟動接,即啟動接收功能,當從收功能,當從RXD引腳接收到一幀數據后由硬件引腳接收到一幀數據后由硬件使中斷標志使中斷標志RI置置1。167設設fsoc=11.059 2MHz,試編寫一段程序,其功能,試編寫一段程序,其功能為對串行口初始化,使之工作于方式為對串行口初始化,使之工作于方式1,波特率為,波特率為1 200b/s

9、;并用查詢串行口狀態的方法,讀出接收緩沖;并用查詢串行口狀態的方法,讀出接收緩沖區的數據并回送到發送緩沖區。區的數據并回送到發送緩沖區。分析:分析: 串口工作方式串口工作方式1,允許接收,則,允許接收,則SCON = 波特率波特率1200b/s,設,設T1工作于模式工作于模式2,則:,則: TMOD= 初值初值x=50H20HE8H17 while(RI=0); RI=0; ACC=SBUF; SBUF=ACC;#include void main() SCON=0 x50; TMOD=0 x20; TH1=0 xE8; TL1=0 xE8; TR1=1;ProteusProteus仿真仿真1812當當89C52串行口按工作方式串行口按工作方式1進行串行數據通信進行串行數據通信時,假定波特率為時,假定波特率為4800b/s,以中斷方式傳送數據,以中斷方式傳送數據,請編寫全雙工通信程序。請編寫全雙工通信程序。分析:分析: 串口工作方式串口工作方式1,允許接收,則,允許接收,則SCON =50H。 波特率波特率4800b/s,設,設T1工作于模式工作于模式2,則:,則: TMOD=20H, 初值初值x=FAH19#include unsigned char data txbuf;unsigned char data rebu

溫馨提示

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

評論

0/150

提交評論