單片機(jī)技術(shù)習(xí)題課5、6、7章_第1頁(yè)
單片機(jī)技術(shù)習(xí)題課5、6、7章_第2頁(yè)
單片機(jī)技術(shù)習(xí)題課5、6、7章_第3頁(yè)
單片機(jī)技術(shù)習(xí)題課5、6、7章_第4頁(yè)
單片機(jī)技術(shù)習(xí)題課5、6、7章_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、.,單片機(jī)技術(shù)習(xí)題課,(第五、六、七章),.,第五章 單片機(jī)中斷系統(tǒng),.,5. 利用外部中斷源INT0、INT1,實(shí)現(xiàn)中斷及中斷嵌套,設(shè)INT1為高優(yōu)先級(jí)。如圖5-1所示,用兩個(gè)按鍵S1和S2,分別接到P3.2和P3.3引腳,按動(dòng)兩個(gè)中斷按鍵,產(chǎn)生兩個(gè)不同的中斷。先按動(dòng)低優(yōu)先級(jí)中斷源S1鍵,緊接著按動(dòng)高優(yōu)先級(jí)按鍵S2鍵,將產(chǎn)生中斷嵌套。設(shè)中斷為邊沿觸發(fā)方式,試編寫程序,實(shí)現(xiàn)上述功能,無中斷請(qǐng)求時(shí),兩個(gè)二極管全滅,低優(yōu)先級(jí)中斷請(qǐng)求時(shí),LED1亮5秒,高優(yōu)先級(jí)中斷時(shí),LED2亮5秒。,.,.,中斷相關(guān)寄存器,05H,85H,04H,.,C語言源程序,#include sbit P1_0=P10;

2、sbit P1_1=P11; sbit P3_2=P32; sbit P3_3=P33; void delay(void)/5秒鐘延時(shí)函數(shù) unsigned int m,n; for(m=620;m0;m-) for(n=1000;n0;n-); ,.,void main(void) TCON=0X05;/外部中斷為邊沿觸發(fā)方式 IE=0X85;/開外部中斷1,2 IP=0X04; /int1為高優(yōu)先級(jí)中斷,int0為低優(yōu)先級(jí)中斷, P1_0=1;/兩個(gè)LED燈熄滅 P1_1=1; while(1);/等待中斷 ,C語言源程序,.,void int0_int(void) interrupt 0

3、 P1_0=0; delay( ); P1_0=1; void int1_int(void) interrupt 2 P1_1=0; delay( ); P1_1=1; ,C語言源程序,Proteus仿真,.,第六章 MCS-51單片機(jī)的定時(shí)器/計(jì)數(shù)器,.,10. 用方式1設(shè)計(jì)兩個(gè)不同頻率的方波,P3.6輸出頻率為200Hz,P3.7輸出頻率為 100Hz,晶振頻率12MHz。,分析: 定時(shí)時(shí)間:頻率200Hz,周期=5ms,則定時(shí)2.5ms; 工作方式:方式1,TMOD = 初值:x= 216-2500 = 65536-2500 =63036D=0F63CH 所以:TH1=0F6H;TL1=

4、3CH 也可以寫成:TH1=63036/256,TL1=63036%256,10H,.,#include sbit P3_6=P36; sbit P3_7=P37; void main() TMOD=0 x10; TL1=0 x3c; TH1=0 xf6; TR1=1; 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; ,Proteus仿真,.,15設(shè)fosc=12MHz。試編寫一段程序,對(duì)定時(shí)

5、器T1初始化,使之工作在模式2,產(chǎn)生200s定時(shí),并用查詢T1溢出標(biāo)志的方法,控制P1.1輸出周期為2ms的方波。,分析: 工作方式:T1模式2,TMOD =20H。 初值:x= 28-200 = 256-200 =56 方波周期2ms,則每定時(shí)5次P1.1電平翻轉(zhuǎn)一次。,.,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) ,Proteus仿真,.,

6、第七章 MCS-51單片機(jī)的串行口,.,3簡(jiǎn)述串行口接收和發(fā)送數(shù)據(jù)的過程。,答: 發(fā)送時(shí),執(zhí)行一條將數(shù)據(jù)寫入發(fā)送緩沖器SBUF的指令,啟動(dòng)數(shù)據(jù)發(fā)送,發(fā)送完畢硬件將中斷標(biāo)志TI置1; 接收時(shí),用軟件置REN=1、RI=0,即啟動(dòng)接收功能,當(dāng)從RXD引腳接收到一幀數(shù)據(jù)后由硬件使中斷標(biāo)志RI置1。,.,7設(shè)fsoc=11.059 2MHz,試編寫一段程序,其功能為對(duì)串行口初始化,使之工作于方式1,波特率為1 200b/s;并用查詢串行口狀態(tài)的方法,讀出接收緩沖區(qū)的數(shù)據(jù)并回送到發(fā)送緩沖區(qū)。,分析: 串口工作方式1,允許接收,則SCON = 波特率1200b/s,設(shè)T1工作于模式2,則: TMOD= 初

7、值x=,50H,20H,E8H,.,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;,Proteus仿真,.,12當(dāng)89C52串行口按工作方式1進(jìn)行串行數(shù)據(jù)通信時(shí),假定波特率為4800b/s,以中斷方式傳送數(shù)據(jù),請(qǐng)編寫全雙工通信程序。,分析: 串口工作方式1,允許接收,則SCON =50H。 波特率4800b/s,設(shè)T1工作于模式2,則: TMOD=20H, 初值x=FAH,.,#include unsigned char data txbuf; unsigned char data rebuf; void main() SCON=0 x50; TMOD=0 x20;,TH1=0 xFA; T

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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)論