PIC單片機(jī)練習(xí)題解答_第1頁
PIC單片機(jī)練習(xí)題解答_第2頁
PIC單片機(jī)練習(xí)題解答_第3頁
PIC單片機(jī)練習(xí)題解答_第4頁
PIC單片機(jī)練習(xí)題解答_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、PIC單片機(jī)習(xí)題第一次一、選擇題(B)1、PIC單片機(jī)采用 總線結(jié)構(gòu)。A、普林斯頓 B、哈佛2、PIC16F877單片機(jī)精簡指令集系統(tǒng)共 C 條。A、75 B、133 C、35 D、1113、PIC16F877單片機(jī)程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的寬度是 B 和 。A、8,8 B、14,8 C、16,8 D、16,164、PIC16F877單片機(jī)共 C 中斷源。A、5 B、8 C、14 D、165、PIC16F877單片機(jī)共 C 端口。A、3 B、4 C、5 D、66、PIC16F877單片機(jī)共有 C 個(gè)定時(shí)/計(jì)數(shù)器A、1 B、2 C、3 D、47、PIC16F877單片機(jī)定時(shí)器1具有的特殊功能是 D

2、 。A、定時(shí) B、計(jì)數(shù) C、PWM D、CCP8、若端口B接8個(gè)按鍵,則該端口的TRISB應(yīng)初始化成A、0x00 B、0xFF C、0x0F D、0xF09、TMR0的位寬度為A、8 B、16 C、32 D、6410、 PIC16F877 單片機(jī)外圍接口區(qū)域包括RA,RB,RC,RD 和RE 5個(gè)端口,而每個(gè)端口均有多條輸入/輸出可編程的引腳,合計(jì)5個(gè)端口共有_C_條引腳.A. 30 B. 34 C.33 D.3111、PIC16F877 單片機(jī)外圍接口區(qū)域包括RA,RB,RC,RD 和RE 5 個(gè)端口.在下列端口中,_D_并不具備8 條引腳.A. RA,RB B. RC,RD C. RB,R

3、C D. RA,RE二、問答題1、如何確定I/O端口的輸入和輸出?答:根據(jù)方向控制TRIS確定,高電平做輸出,低電平做輸入。2、在確定A、B、C、D、E端口的功能時(shí),首先要執(zhí)行什么操作?答:確定端口方向。3、PIC16F877單片機(jī)有幾個(gè)定時(shí)/計(jì)數(shù)器?他們的區(qū)別是什么?答:TMR0 8位寬 與WDT共用預(yù)分頻器TMR1 16位寬 與CPP模塊配合使用可實(shí)現(xiàn)捕捉和比較功能TMR2 只作定時(shí);8位寬 與PWM模塊配合使用可實(shí)現(xiàn)脈寬調(diào)制輸出功能4、PIC單片機(jī)具有的優(yōu)點(diǎn)有哪些?答、1、哈佛總線結(jié)構(gòu);2、指令系統(tǒng)采用RISC技術(shù);3、代碼壓縮率高;4、IO端口驅(qū)動(dòng)負(fù)載能力較強(qiáng)及功耗低等。三、程序設(shè)計(jì)題

4、1、電路如圖所示,編程實(shí)現(xiàn)走馬燈的運(yùn)行效果,即D0D7循環(huán)被依次點(diǎn)亮,但同一時(shí)刻只有一個(gè)燈亮。單片機(jī)主頻為4MHz。2、電路如圖所示,編程實(shí)現(xiàn)4個(gè)數(shù)碼管顯示數(shù)值5678。單片機(jī)主頻為4MHz。3、電路如圖所示為3個(gè)按鍵控制8只LED燈顯示狀態(tài),其中3個(gè)按鍵開關(guān)組成獨(dú)立式鍵盤,分別用key 1鍵控制燈依次左移循環(huán)點(diǎn)亮,key2鍵控制燈右移循環(huán)點(diǎn)亮,key3鍵控制8燈閃爍。 第二次作業(yè)1、 假如PIC 單片機(jī)的系統(tǒng)時(shí)鐘振蕩頻率是4MHz,那么執(zhí)行一條非轉(zhuǎn)移類指令的真實(shí)時(shí)間應(yīng)該是_D_usA. 0.5 B. 2 C. 3 D. 12、 在PIC單片機(jī)系統(tǒng)配置和程序設(shè)計(jì)中,采用很有特色的哈佛總線結(jié)構(gòu),

5、其根本意義就在于_B_.A. 減少CPU的功耗 B. 數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器總線分離C. 提高端口的驅(qū)動(dòng)能力C. 可以方便進(jìn)行在線調(diào)試3、 PIC單片機(jī)與其他單片機(jī)相比,具有以下這些明顯的優(yōu)點(diǎn),但_C_除外.A. 哈佛總線結(jié)構(gòu)B.精減指令RISC結(jié)構(gòu)C. 存儲(chǔ)器大D.驅(qū)動(dòng)能 力強(qiáng)4、在PIC16F877 單片機(jī)系統(tǒng)配置中,特別引入A/D 轉(zhuǎn)換器(ADC),它具有_個(gè)模擬量輸入通道. A. 5 B. 8 C. 10 D. 65、PIC16F877 單片機(jī)的ADC轉(zhuǎn)換器具有_A_位的分辯率。A. 10 B. 12 C. 8 D. 146、 PIC16F877 單片機(jī)多數(shù)I/O 引腳都設(shè)計(jì)有第2功能

6、,甚至還有第3功能,RA端口中可以承擔(dān)A/D 轉(zhuǎn)換中負(fù)參考電壓端(VREF-)的引腳是_B_.A. RA0 B. RA2 C. RA3 D. RA47、 在PIC16F877單片機(jī)ADC轉(zhuǎn)換模塊中,配置有8個(gè)模擬量輸入通道,分別由_兩個(gè)端口中的引腳承擔(dān).A. RA和RC B. RC和RB C. RB和RD D. RA和RE二、AD轉(zhuǎn)換的中斷程序設(shè)計(jì)1、設(shè)計(jì)一個(gè)電子溫度測量儀的雛形,溫敏電阻(R2)感受外界溫度變化,單片機(jī)實(shí)時(shí)采集RA0引腳的模擬量將其轉(zhuǎn)化為數(shù)字量,通過端口C連接的一位LED數(shù)碼管顯示AD轉(zhuǎn)換結(jié)果的高8位(要求畫出程序流程圖,寫出相關(guān)中斷程序)。說明:R2是一個(gè)溫敏電阻,其電阻值

7、隨溫度的變化而變化。#include<pic.h>_CONFIG(0x3B31);int adcdata=0;/const unsigned char seg710=0xC0,0xF9,0xA4,0xB0,0x99, 0x92,0x82,0xF8,0x80,0x90;/Void interrupt ISR() if(ADIE&&ADIF) ADIF=0;/ adcdata=(unsigned int)ADRESH)<<8)+ADRESL;/ ADGO=1;/ void delay(unsigned int ms)unsigned int i,j; for

8、(i=ms;i>0;i-) for(j=0;j<67;j+) ;void display(unsigned int idata) unsigned char i,j; / unsigned int t; unsigned char numstr5=0,0,0,0,0;/處理數(shù)據(jù)idata numstr1=idata/1000;/千位數(shù) numstr2=(idata%1000)/100; /百位數(shù) numstr3=idata%100/10; / 十位數(shù) numstr4=idata%10; /個(gè)位數(shù) for(i=0;i<10;i+) PORTD=0x01; for(j=1;j&l

9、t;=4;j+) PORTC=seg7numstrj; delay(5); PORTD=PORTD<<1; void main() char i; int voltage=0; TRISA=0x01;/ TRISB=0x00; TRISC=0x00; TRISD=0x00; /* ADFM=1;/右對(duì)齊 PCFG3=0;PCFG2=0;PCFG1=0;PCFG0=0;/全為模擬引腳,參考電壓為VDD,VSS /*以上5條語句可以用 ADCON1=0b00000000; ADCS1=1;ADCS0=0;/使用內(nèi)部RC振蕩器作為時(shí)鐘 CHS2=0;CHS1=0;CHS0=0;/選擇AN

10、0通道 ADON=1;/開啟AD轉(zhuǎn)換器 /*以上6條語句可以用 ADCON0=0b11000001;/*開中斷 ADIE=1; ADIF=0; PEIE=1; GIE=1; for(i=0;i<25;i+);/為了采用保持電路充電延時(shí),超過25us即可 ADGO=1;/啟動(dòng)一次A/D轉(zhuǎn)換,此位為GO/DONE while(1) voltage=adcdata; /把當(dāng)前測量的數(shù)字結(jié)果放入voltage中 voltage=(long)voltage*5000/1023); /數(shù)據(jù)處理 display(voltage); /調(diào)顯示電阻值子程序 if(voltage>4900|volta

11、ge<100) /報(bào)警 for(i=0;i<5;i+) delay(1);RB0=!RB0; /發(fā)出500Hz的聲音 第三次作業(yè)一、選擇題1、A/D轉(zhuǎn)換器將轉(zhuǎn)換的10位數(shù)字量放入A、ADRESH B、ADRESL C、ADCON0 D、ADRESH和ADRESL2、PIC單片機(jī)I/O端口驅(qū)動(dòng)負(fù)載的能力較強(qiáng),每這并不表示所有端口都同時(shí)具有這樣的功效.對(duì)整個(gè)單片機(jī)而言,所有輸入/輸出驅(qū)動(dòng)小于_C_ mA。A. 100 B. 150 C. 250 D. 2003、預(yù)分頻器最大的分配比是 CA、1:64 B、1:128 C、1:2564、TXSTA是 B A、接收狀態(tài)控制寄存器 B、發(fā)送狀

12、態(tài)控制寄存器 C、接收寄存器 D、發(fā)送寄存器5、PIC16F877單片機(jī)把要發(fā)送的數(shù)據(jù)放入 A、TXREG B、RCREG C、TXSTA D、RCSTA6、PIC16F877單片機(jī)接收到一個(gè)數(shù)據(jù),CPU自動(dòng)將接收的數(shù)據(jù)放入A、TXREG B、RCREG C、TXSTA D、RCSTA二、判斷題1、PIC單片機(jī)采用哈佛總線結(jié)構(gòu),在芯片內(nèi)部數(shù)據(jù)總線和指令總線分離,允許采用不同的字節(jié)寬度。2、PIC16F877單片機(jī)的數(shù)據(jù)存儲(chǔ)器共有512字節(jié)單元空間,即0000H01FFH。3、PIC16F877單片機(jī)的程序存儲(chǔ)器共有8K×14位單元空間,即0000H01FFH。4、TIMER0與其他部

13、件配合具有捕捉功能。5、PIC16F877的三個(gè)定時(shí)器都是8位寬可編程定時(shí)器。6、PIC16F877單片機(jī)的A/D轉(zhuǎn)換器具有8個(gè)模擬輸入通道。7、PIC16F877單片機(jī)的A/D轉(zhuǎn)換器具有8位分辨率。8、PIC16F877單片機(jī)的RA端口全部能做A/D轉(zhuǎn)換器功能引腳。9、PIC16F877單片機(jī)的RB0端口除了作為一般IO口還可作外部中斷輸入端。10、PIC16F877單片機(jī)端口RB引腳中,只有RB4RB7具有電平變化中斷功能。11、PIC16F877單片機(jī)I/O端口驅(qū)動(dòng)負(fù)載能力較弱。12、INTF外部中斷標(biāo)志位是硬件置1,軟件清0。13、TXIF發(fā)送中斷標(biāo)志位和RCIF接收中斷標(biāo)志位都是硬件

14、置1,軟件清0。14、波特率指的是每秒中傳送的字節(jié)數(shù)。15、異步通信是以幀為單位的。16、SPBRG波特率因子寄存器寫入的是波特率。17、PIC16F877單片機(jī)主要用PORTA、PORTB、PORTC、PORTD和PORTE5個(gè)寄存器與外界交換的信息。18、OPTION寄存器的上電復(fù)位的初始狀態(tài)為0xFF。三、程序設(shè)計(jì)1、下圖為一個(gè)雙機(jī)通信的線路圖,2個(gè)單片機(jī)通過異步串行通信接口相連的方式為:RX和TX交叉連接。左邊的單片機(jī)U1為發(fā)送,每按一下按鍵S1就發(fā)送一個(gè)數(shù),從1開始發(fā)送,每送一個(gè)數(shù),此數(shù)加1,(即09)。發(fā)送的數(shù)同時(shí)在D口上輸出顯示。讀寫其發(fā)送與接收程序,并補(bǔ)充相應(yīng)的語句。(兩單片機(jī)

15、主頻都是4MHz)/雙方通信協(xié)議為:波特率9600bps,數(shù)據(jù)格式:8位數(shù)據(jù)位,無奇偶校驗(yàn),1位停止位/發(fā)送方串行通信U1,按一下發(fā)送鍵便發(fā)送一個(gè)數(shù)據(jù),從1開始發(fā)送,隨后按一下鍵數(shù)值自動(dòng)加1,到9后以后循環(huán)從0開始發(fā)送。#include<pic.h>_CONFIG(0x3B31);unsigned char num=0; /發(fā)送數(shù)據(jù)變量const char seg10=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;/顯示數(shù)值筆段碼/延時(shí)子程序void delay(unsigned int ms)unsigned int i,j;

16、 for(i=ms;i>0;i-) for(j=0;j<67;j+) ;/發(fā)送初始化子程序void transinit() TRISB=0x01; /發(fā)送按鍵為輸入 TRISC7=1; /RX引腳置為輸入 TRISC6=0; /TX引腳置為輸出 TRISD=0; /RD端口方向控制寄存器為輸出 PORTD=0; /PORTD清0 INTE=1 ; /打開全局中斷使能位 GIE=1 ; /打開外部中斷使能位 SPBRG=25 ; /選擇波特率9600 RCSTA=0b10010000; /高速,8位數(shù)據(jù) TXSTA=0b00100100; /外部中斷INT子程序void interr

17、upt INTISR() if(INTF=1&&INTE=1) INTF=0 ;/清INT中斷標(biāo)志 RB1=1 ;/發(fā)送指示燈亮 num+ ;/發(fā)送數(shù)據(jù)+1 if(num=10)num=0; TXREG=num ;/將發(fā)送數(shù)據(jù)放入TXREG中 PORTD=segnum ;/同時(shí)將發(fā)送的數(shù)據(jù)送PORTD顯示 delay(100);/延時(shí) RB1=0;/發(fā)送指示燈滅 /主程序main() transinit() ; /調(diào)發(fā)送初始化子程序 RB1=0; / 發(fā)送指示燈滅 while(1); / 循環(huán)等待/接收方串行通信U2/保證每次接收到完整的數(shù)據(jù)包/PIC單片機(jī)主頻:4MHz,波特

18、率9600bps/數(shù)據(jù)格式:8位數(shù)據(jù)位,無奇偶校驗(yàn),1位停止位#include<pic.h>_CONFIG(0x3B31);const char seg10=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;/延時(shí)子程序void delay(unsigned int ms)unsigned int i,j; for(i=ms;i>0;i-) for(j=0;j<67;j+) ;/接收初始化子程序void receivinit() TRISB=0x00; TRISC6=0; / TRISC7=1;/ TRISD=0x00;/ GIE=1; / PEIE=1;/ RCIE=1;/ SPBRG=25;/波

溫馨提示

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