(C語言版)單片機(jī)復(fù)習(xí)題資料_第1頁
(C語言版)單片機(jī)復(fù)習(xí)題資料_第2頁
(C語言版)單片機(jī)復(fù)習(xí)題資料_第3頁
(C語言版)單片機(jī)復(fù)習(xí)題資料_第4頁
(C語言版)單片機(jī)復(fù)習(xí)題資料_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余12頁可下載查看

下載本文檔

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

文檔簡介

1、單片機(jī)復(fù)習(xí)題一、名詞解釋1 、時(shí)序:按照時(shí)間順序顯示的對象(或引腳、事件、信息)序列關(guān)系。2、指令:CPU用于指揮功能部件完成某一指定動(dòng)作的指示和命令。3、變量:在程序執(zhí)行過程中,數(shù)值可以發(fā)生改變的量稱為變量。4、偽指令:偽指令又稱匯編系統(tǒng)控制譯碼指令或指示性指令,僅僅用于指示匯編系統(tǒng)軟件要完成的操作,故一般不產(chǎn)生機(jī)器代碼(定義字節(jié)或字的偽指令除外) 。5 、存儲(chǔ)種類:變量在程序執(zhí)行過程中的作用范圍。變量的存儲(chǔ)種類有4 種:自動(dòng)、外部、靜態(tài)和寄存器。6、數(shù)據(jù)類型:數(shù)據(jù)的不同格式。7、中斷:計(jì)算機(jī)在運(yùn)行當(dāng)前程序的過程中,若遇緊急或突發(fā)事件,可以暫停當(dāng)前程序的運(yùn)行,轉(zhuǎn)向處理該突發(fā)事件,處理完成后再

2、從當(dāng)前程序的間斷處接著運(yùn)行。8、串行通信:數(shù)據(jù)一位一位地按順序進(jìn)行傳送。9、波特率:串行通信的數(shù)據(jù)是按位進(jìn)行傳送的,每秒傳送的二進(jìn)制數(shù)碼的位數(shù)稱為波特率。10 、字節(jié):計(jì)算機(jī)數(shù)據(jù)處理的基本單位。11、分辨率:DACt歸夠轉(zhuǎn)換的二進(jìn)制的位數(shù)。12 、 三態(tài)門: 三態(tài)門是一種重要的總線接口電路。 三態(tài)指其輸出既可以是一般二值邏輯電路的正常的高電平(邏輯1 )或低電平(邏輯0 ) ,又可以保持特有的高阻抗?fàn)顟B(tài)( Hi-Z ) 。13、OC門:又稱集電極開路(漏極開路)與非門門14 、總線:為了減少連接線,簡化組成結(jié)構(gòu),把具有共性的連線歸并成一組公共連線,就形成了總線。15 、時(shí)鐘周期:晶振或外加振蕩

3、源的振蕩周期。二、填空題1 、計(jì)算機(jī)中最常用的字符信息編碼是( ASCII 碼) 。2 、 MCS-51 系列單片機(jī)為(8 )位單片機(jī)。3、若不使用 MCS-51 片內(nèi)存儲(chǔ)器引腳 ( EA )必須接地。4、 8051 內(nèi)部有( 4K) ROM 和( 128 )個(gè)字節(jié) RAM 。5、堆棧的地址由(SP)內(nèi)容確定,其操作規(guī)律是“(先)進(jìn)(后)出”。6 、在單片機(jī)擴(kuò)展時(shí), ( P0 )口和( P2 )口為地址線, ( P0 )口又分時(shí)作為數(shù)據(jù)線。7、在MCS-51單片機(jī)中,如采用 6MHZ晶振,一個(gè)機(jī)器周期為(2m )。8 、當(dāng) 80C51 的 RST 引腳上保持( 2 )個(gè)機(jī)器周期以上的高電平時(shí),

4、 80C51 即發(fā)生復(fù)位。9、當(dāng) P1 口做輸入口輸入數(shù)據(jù)時(shí),必須先向該端口的鎖存器寫入( 1) ,否則輸入數(shù)據(jù)可能出錯(cuò)。10 、若某存儲(chǔ)芯片地址線為 12 根 ,那么它的存儲(chǔ)容量為( 4KB )。11、程序狀態(tài)寄存器PSW 的作用是用來保存程序運(yùn)行過程中的各種狀態(tài)信息。其中 CY 為(進(jìn)位)標(biāo)志,當(dāng)進(jìn)行(位)操作時(shí)作為位累加器。 OV 為(溢出)標(biāo)志,用于有符號數(shù)的加(減)運(yùn)算。12、消除鍵盤抖動(dòng)常用兩種方法,一是采用 (硬件去抖電路 ) ,用基本 RS 觸發(fā)器構(gòu)成;二是采用 (軟件去抖程序),既測試有鍵輸入時(shí)需延時(shí)(5-20ms)后再測試是否有鍵輸入,此方法可判斷是否有鍵抖動(dòng)。13、若MC

5、S-51單片機(jī)采用12MHz的晶振頻率,它的機(jī)器周期為(1m ), ALE引腳輸出正脈沖 頻率為( 2MHZ ) 。14 、 8051 有兩個(gè) 16 位可編程定時(shí)/計(jì)數(shù)器,T0 和 T1 。它們的功能可由兩個(gè)控制寄存器( TCON )、 ( TMOD )的內(nèi)容決定,且定時(shí)的時(shí)間或計(jì)數(shù)的次數(shù)與( TH ) 、 (TL )兩個(gè)寄存器的初值有關(guān)。15、串行口的控制寄存器 SCON 中, REN 的作用是 ( 允許串行接收位) 。16 、 單片機(jī)內(nèi)、 外中斷源按優(yōu)先級別分為高級中斷和低級中斷, 級別的高低是由 ( 中斷優(yōu)先級)寄存器的置位狀態(tài)決定的。同一級別中斷源的優(yōu)先順序是由( 自然優(yōu)先級順序 )決

6、定的。17 、 LED 數(shù)碼顯示按顯示過程分為( 靜態(tài) )顯示和( 動(dòng)態(tài) )顯示 2 種。18 、單片機(jī)串行通信時(shí),若要發(fā)送數(shù)據(jù),就必須將要發(fā)送的數(shù)據(jù)送至(并行)單元,若要接收數(shù)據(jù)也要到該單元取數(shù)。19 、計(jì)算機(jī)的系統(tǒng)總線有( 數(shù)據(jù) ) 、 ( 地址 )和( 控制 ) 。20、若某 8 位 D/A 轉(zhuǎn)換器的輸出滿刻度電壓為 +5V ,則 D/A 轉(zhuǎn)換器的分辨率為( 5/255=0.0196V) 。21 、單片機(jī)串行通信時(shí),其波特率分為固定和可變兩種方式,在波特率可變的方式中,可采用( 定時(shí)器 T1 )的溢出率來設(shè)定和計(jì)算波特率。22 、 P0、 P1、 P2、 P3 四個(gè)均是( 8 )位的(

7、并行 )口,其中 P0 的功能是( 地址/數(shù)據(jù)分時(shí)復(fù)接口 ) 。23、片內(nèi) RAM 可進(jìn)行位尋址的空間是( 20H 2FH ) ,其對應(yīng)的位地址范圍是(00H-FFH) 。24 、 8051 單片機(jī)有( 5 )個(gè)中斷源, ( 2 )級中斷優(yōu)先級別。25 、 8255A 屬于可編程的( 并行 )接口芯片, 8255A 的 A 通道有( 3 )種工作方式。8255A 的 B 有( 2 )種工作方式。26、8051內(nèi)部的特殊功能寄存器(SFR)共有(18, 8052系列有21)個(gè)。27 、 8051 有兩個(gè) 16 位可編程定時(shí)/計(jì)數(shù)器,其中定時(shí)作用是指對單片機(jī)(對內(nèi)部晶振頻率fosc/12 )脈沖進(jìn)

8、行計(jì)數(shù),而計(jì)數(shù)器作用是指對單片機(jī)( 外部 )脈沖進(jìn)行計(jì)數(shù)。28 由于執(zhí)行每條指令都要占用 CPU 的時(shí)間,因此采用循環(huán)結(jié)構(gòu)并多次重復(fù)執(zhí)行某些指令可實(shí)現(xiàn)軟件延時(shí)。而硬件延時(shí)一般是采用單片機(jī)的( 定時(shí) / 計(jì)數(shù)器 )再通過軟件編程來實(shí)現(xiàn)。29、中斷源的是否允許中斷是由( IE)寄存器決定的,中斷源的優(yōu)先級別是由( IP)寄存器決定的。30 、當(dāng)單片機(jī)CPU 響應(yīng)中斷后,程序?qū)⒆詣?dòng)轉(zhuǎn)移到該中斷源所對應(yīng)的入口地址處,并從該地址開始繼續(xù)執(zhí)行程序,通常在該地址處存放轉(zhuǎn)移指令以便轉(zhuǎn)移到中斷服務(wù)程序。其中 INT1 的入口地址為(0013H) , 串行口的中斷入口地址為 ( 0023H) , T0 的 入口地

9、址為 ( 000BH) 。31 、 MCS-51 單片機(jī)訪問外部存儲(chǔ)器時(shí),利用( ALE )信號鎖存來自( P0 )口的低 8 位地址 信號。32 、 MCS-51 單片機(jī)中有( 2)個(gè)( 16 )位的定時(shí)/計(jì)數(shù)器,可以被設(shè)定的工作方式有(四 )種。33 當(dāng)定時(shí)器 T0 計(jì)數(shù)計(jì)滿時(shí),由硬件電路使(溢出標(biāo)志TF0 )置位;最后再由硬件電路使(該位TF0自動(dòng))復(fù)位。34 C51 中的任何程序總是由三種基本結(jié)構(gòu)組成: ( 順序 ) 、 ( 分支 ) 、 ( 循環(huán) ) 。35 MCS-51 單片機(jī)擴(kuò)展程序存儲(chǔ)器所用的讀信號為( /PSEN) ,擴(kuò)展數(shù)據(jù)存儲(chǔ)器所用的控制信號為( /RD )和( /WR

10、) 。36 .當(dāng)定時(shí)器To工作在方式3時(shí),要占定時(shí)器T1的(TR1 )和(TF1 )兩個(gè)控制位37 . MCS-51串行接口有(4 )種工作方式,這可在初始化程序中用軟件設(shè)置特殊功能寄存器(SCON )來實(shí)現(xiàn)。.38 .在串行通信中,根據(jù)數(shù)據(jù)傳送方向分為( 單工)、(半雙工 )和(全雙工 )三種方式39 .中斷請求信號有( 電平觸發(fā) )和( 邊沿觸發(fā))兩種觸發(fā)方式。40 . C51的串行口控制寄存器中有 2個(gè)中斷標(biāo)志位,它們是( TI )和( RI )。41 .鍵盤的結(jié)構(gòu)形式一般有兩種:(獨(dú)立式鍵盤)和(矩陣式鍵盤)。42 .單片機(jī)與普通計(jì)算機(jī)的不同之處在于其將(CPU)、(存儲(chǔ)器)和(輸入/

11、輸出接口 )等部分集成在一塊 芯片之內(nèi)。43 .串行通信按信息的格式可分為(異步通彳t)和(同步通信)兩種方式。44 . D/A轉(zhuǎn)換器實(shí)現(xiàn)數(shù)字量轉(zhuǎn)換成模擬量.45 . A/D轉(zhuǎn)換器實(shí)現(xiàn)模擬量轉(zhuǎn)換成數(shù)字量.46、特殊功能寄存器 DPTR是由DPH:存放高位字節(jié)數(shù)據(jù)、DPL:存放低位字節(jié)數(shù)據(jù) 兩個(gè)寄存器組成。47、假設(shè)某CPU含有16根地址線,8根數(shù)據(jù)線,則該 CPU最多尋址能力是 8KB。48、設(shè)X=5AH , Y=36H ,則X與丫 '或"運(yùn)算為 7EH, X與丫的 異或”運(yùn)算為 6CH。49、若機(jī)器的字長為 8 位,X=17 , Y=35,貝U X+Y=_110100, X

12、 Y=_1110111050、 8051單片機(jī)的存儲(chǔ)器的最大特點(diǎn)是內(nèi)部RAM 與 外部RAM分開編址。51、一個(gè)函數(shù)由兩部分組成,即 說明部分 和語句部分。52、C語言中輸入和輸出操作是由庫函數(shù)scanf 和printf 等函數(shù)來完成。53、MCS-51有4組工作寄存器,它們的地址范圍是00H1FH 。54、C51的基本單位是函數(shù) 。一個(gè)C51源程序至少包含一個(gè)主函數(shù),也可以是一個(gè)主函數(shù)和若干個(gè)其它函數(shù)。55、變量的基本屬性是變量名 和 變量值 。三、單項(xiàng)選擇題 1、在單片機(jī)中,通常將一些中間計(jì)算結(jié)果放在( A )中。A、累加器 B、控制器C、程序存儲(chǔ)器D、數(shù)據(jù)存儲(chǔ)器2、單片機(jī)8051的XTA

13、L1和XTAL2引腳是(D )引腳。A、外接定時(shí)器B、外接串行口 C、外接中斷D、外接晶振3、8051單片機(jī)共有(B )中斷源。A、4B、5C、6 D、74、設(shè)MCS-51單片機(jī)晶振頻率為12MHz ,定時(shí)器作計(jì)數(shù)器使用時(shí),其最高的輸入計(jì)數(shù)頻率應(yīng)為(C )A、2MHz B、1MHz C、500kHz D、250kHz5 .當(dāng)MCS-51單片機(jī)接有外部存儲(chǔ)器,P2 口可作為(D )。A、數(shù)據(jù)輸入口B、數(shù)據(jù)的輸出口C、準(zhǔn)雙向輸入/輸出口D、輸出高8位地址6 .單片機(jī)的定時(shí)器/計(jì)數(shù)器設(shè)定為工作方式1時(shí),是(D )。A 、 8 位計(jì)數(shù)器結(jié)構(gòu)C、 13 位計(jì)數(shù)器結(jié)構(gòu)B、 2 個(gè) 8 位計(jì)數(shù)器結(jié)構(gòu)D、 1

14、6位計(jì)數(shù)器結(jié)構(gòu)7 下列具有模數(shù)轉(zhuǎn)換功能的芯片是(A )A、 ADC0809 B、 DAC0832 C、 BS18B20 D、 DS13028、串行口每一次傳送( B )字符。A 、 1 個(gè)字節(jié)B 、 1bitC、 1 幀 D 、 1 串9. MCS-51 單片機(jī)中,當(dāng)寄存器IP=0x81 時(shí),優(yōu)先級最高的中斷是( C )A 、 INT1 B 、串行口中斷C、 INT0 D 、定時(shí)器/計(jì)數(shù)器T0 中斷10. C51 編譯器中支持的存儲(chǔ)模式不包含( A )A 、 xdataB、 smallC、 compact D 、 large11、計(jì)算機(jī)能直接識別的語言是( C ) 。A .匯編語言B.自然語言

15、 C .機(jī)器語言D . C語言12 、采用8031 單片機(jī)必須擴(kuò)展( B ) 。A、數(shù)據(jù)存儲(chǔ)器B、程序存儲(chǔ)器C、I/O接口 D、顯示接口13 .定時(shí)/計(jì)數(shù)器有4種工作模式,它們由( B )寄存器中的 M1 M0狀態(tài)決定。A TCONB TMODC PCON D SCON14 P0 口作數(shù)據(jù)線和低8 位地址線時(shí)( B ) 。A 應(yīng)外接上拉電阻B 不能作 I/O 口 C 能作 I/O 口D 應(yīng)外接高電平15 MCS 51 單片機(jī)的 CPU 主要的組成部分為( A ) 。A.運(yùn)算器、控制器 B.加法器、寄存器 C.運(yùn)算器、加法器 D.運(yùn)算器、譯碼器16 單片機(jī)能直接運(yùn)行的程序叫(C ) 。A 源程序

16、 B. 匯編程序C. 目標(biāo)程序D. 編譯程序17 . 、在8051 片外擴(kuò)展 8K 的 EPROM 2764 需要( C )根地址線。A、 11B、 12C、 13、D、 1418 . MCS-51 的中斷允許觸發(fā)器 IE 內(nèi)容為 83H , CPU 將響應(yīng)的中斷請求是( D )A、T0B INT1 C 串行接口D、INTO19 MCS-51 系列單片機(jī)芯片是雙列直插式封裝的,有( C )個(gè)引腳。A、 24B、 30C、 40 D 、 5020、在匯編語言中,十六進(jìn)制數(shù)據(jù)正確的書寫格式是( B)。A、 1010BB、 A8HC、 0A8HD、 A8H 21 、以下能正確定義一維數(shù)組的選項(xiàng)是(

17、B ) 。A、 int a5=0,1,2,3,4,5;C 、 char a='A','B','C'22 、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指(D ) 。A 、存儲(chǔ)在外存中的數(shù)據(jù)C、數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式B、 char a =0,1,2,3,4,5;D、 int a5="0123"B、數(shù)據(jù)所占的存儲(chǔ)空間量D、數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示23、利用下列( D )關(guān)鍵字可以改變工作寄存器組A interruptB、sfr C 、whileD、using24、執(zhí)行 #define PA8255XBYTEOx3FFC PA8255=Ox7e 后

18、存儲(chǔ)單元 Ox3FFC勺值是(A )A Ox7eB 8255HC、未定D、7e25、用行口每一次傳送( D )字符。A 1個(gè)B、1用C、1幀D 1波特26、MCS-51系列的單片機(jī)中片內(nèi)RAM勺字節(jié)大小可能的是( C )A、128MB、128KC、128D、6427、C51語言提供的合法的數(shù)據(jù)類型關(guān)鍵字是( A )。A、sfrB、BITC、CharD、integer r28、片內(nèi)RAM的位尋址區(qū),位于地址( B )處。A、00H1FHB、20H 2FHC、30H 7FHD、80H FFH 29、間接尋址片內(nèi)數(shù)據(jù)存儲(chǔ)區(qū)(256字節(jié)),所用的存儲(chǔ)類型是( B )A、dataB、bdataC、ida

19、taD、xdata30、MCS-51單片機(jī)上電復(fù)位的信號是( D )A、下降沿B、上升沿C、低電平D、高電平31、可以將P1 口的低4位全部置高電平的表達(dá)式是( B )D、 P1=P1D、 STARTA、P1&=0x0fB、P1|=0x0fC、P1A=0x0f32、ADC0809的啟動(dòng)轉(zhuǎn)換的信號是( D )A、ALEB、EOCC、CLOCK33、控制串行口工作方式的寄存器是。( C )A、TCON B 、PCON C、SCON D 、 TMOD34、決定程序執(zhí)行順序的寄存器是。( A )A、PC B 、DPTR C 、SP D 、PSW 35、8051單片機(jī)的定時(shí)器 T1作計(jì)數(shù)方式,模

20、式 2的方式控制字是(A )。A、60H B 、02H C 、06H D 、20H四、判斷題:1、自動(dòng)變量屬于局部變量(T )。2、C語言允許在復(fù)合語句內(nèi)定義自動(dòng)變量。(T )3、若一個(gè)函數(shù)的返回類型為void ,則表示其沒有返回值。(T )4、所有定義在主函數(shù)之前的函數(shù)無需進(jìn)行聲明。(F )5、定時(shí)器與計(jì)數(shù)器的工作原理均是對輸入脈沖進(jìn)行計(jì)數(shù)。(F )6、bit和sbit都是用來定義位變量,所以兩者之間沒有區(qū)別,可以隨便替換使用。(F )7、C51中,特殊功能寄存器一定需要用大寫。(T )8、使用片內(nèi)存儲(chǔ)器時(shí),EA腳必須置低。(F )9、單片機(jī)外部中斷時(shí)只有用低電平觸發(fā)。10、bit定義的變量

21、一定位于內(nèi)部RAM勺位尋址區(qū)。(T )11、MCS-51單片機(jī)的位地址總共有 256位。(T )12 、串口中斷請求標(biāo)志必須由軟件清除。( T )13、MCS-51的程序存儲(chǔ)器只是用來存放程序的。(F )15、MCS-51的特殊功能寄存器分布在60H80H地址范圍內(nèi)。( F ) (80HFFH)16、ADC080覺8位逐次逼近式模/數(shù)轉(zhuǎn)換接口芯片。(F )17 、中斷函數(shù)的調(diào)用是在滿足中斷的情況下,自動(dòng)完成函數(shù)調(diào)用的。( F )18、單片機(jī)程序設(shè)計(jì)時(shí)C語言中XBYT臣口匯編語言中的 MOV混等效的。()19 、單片機(jī) C 語言程序設(shè)計(jì)中可以不分大小寫。 ( F )20 、 C51 程序設(shè)計(jì)中在

22、定義變量類型時(shí)一般要求定義無符號數(shù)據(jù)類型。 ( )21 、使用循環(huán)語句時(shí)是必須用花括號 將循環(huán)體括起來。 ( T )22 、用Cx51 編程必須在每個(gè)函數(shù)說明后用 using 選擇寄存器組。 ( T )23 、串行通訊必須采用中斷方式。( )24、單片機(jī)C語言程序設(shè)計(jì)中,用關(guān)鍵字 bit定義單片機(jī)的端口。()25、MCS-51串口采用的總線形式是 UART ()五、簡答題1 、在使用 8051 的定時(shí)器/ 計(jì)數(shù)器前,應(yīng)對它進(jìn)行初始化,其步驟是什么?(1)確定T/C的工作方式一一編程 TMO周存器;(2)計(jì)算T/C中的計(jì)數(shù)初值,并裝載到TH和TL;(3)T/C 在中斷方式工彳時(shí),須開CPU中斷和

23、源中斷一一編程IE寄存器;(4)啟動(dòng)定時(shí)器/計(jì)數(shù)器一一編程 TCON TR1或TR0位。2 、把下列十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù).( 1 ) 41H 01000001B(2) 1AFH 110101111B(3) 0F1H 11110001B(4) 20FAH 11010B3 、把下列二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù).( 1 ) 10110011B 0B3H(2) 10000000B 80H(3) 10111B17H(4) 4) 1100B0CH4. 對于二進(jìn)制數(shù) 1000 1001B ,若理解為無符號數(shù),則該數(shù)對應(yīng)十進(jìn)制數(shù)為多少?若理解為有符號數(shù),則該數(shù)對應(yīng)十進(jìn)制為多少?若理解為BCDa,則該數(shù)對應(yīng)十進(jìn)

24、制數(shù)為多少?答:二進(jìn)制數(shù)1000 1001B,若理解為無符號數(shù),則1數(shù)對應(yīng)十進(jìn)制數(shù)為128+9=137,若理解為有符號數(shù),則應(yīng)是補(bǔ)碼,該數(shù)對應(yīng)十進(jìn)制數(shù)為-1110111=119,若理解為BCD,則該數(shù)對應(yīng)十進(jìn)制數(shù)為 89。5.簡述8051的定時(shí)/計(jì)數(shù)器T0和定時(shí)/計(jì)數(shù)器T1的工作方式分別有哪幾種 ? 答:定時(shí)/計(jì)數(shù)器T0的工作方式有:工式各方式功能說明方式。13位定時(shí)/計(jì)數(shù)器方式116位定時(shí)/計(jì)數(shù)器方式28位自動(dòng)重置定時(shí)/計(jì)數(shù)器方式3兩個(gè)8位的定時(shí)/計(jì)數(shù)器定時(shí)/計(jì)數(shù)器T1的工作方式工式方式說明013位定時(shí)/計(jì)數(shù)器116位定時(shí)/計(jì)數(shù)器28位自動(dòng)重置定時(shí)/計(jì)數(shù)器6 .晶振fosc=6MHz,T0工

25、作在模式1,最大定時(shí)的時(shí)長是多少 ?答:最大定時(shí)=(M-T0初值)X時(shí)鐘周期X 12=(216-0) X 1/6 X 12 = 131072 s7.MCS-51系列單片機(jī)具有幾個(gè)中斷源?分別是什么?各自的中斷標(biāo)志位是什么?答:MCS-51系列單片機(jī)共有5個(gè)中斷源,分別為:外部中斷0定時(shí)計(jì)數(shù)器中斷0外部中斷1定時(shí)計(jì)數(shù)器中斷1用行口中斷中斷標(biāo)志為分別為:外部中斷0定時(shí)計(jì)數(shù)器中斷0外部中斷1定時(shí)計(jì)數(shù)器中斷1用行口中斷IE0TF0IE1TF1TI 和 RI8 .為什么外擴(kuò)存儲(chǔ)器時(shí), P0 口要外接鎖存器,而 P2 口卻不接?答:因?yàn)镻0 口 8位是地址線與數(shù)據(jù)線分時(shí)復(fù)用的,即P0 口 8位先輸出外部數(shù)

26、據(jù)存儲(chǔ)器的低8位地址到鎖存器中鎖存,然后再輸出 8位數(shù)據(jù)到數(shù)據(jù)總線上。P2 口 8位輸出的數(shù)據(jù)只作為地址總線的高 8位,所以不需要連接鎖存器。9 .各中斷源對應(yīng)的中斷服務(wù)程序的入口地址是否能任意設(shè)定答:各中斷源的入口地址已經(jīng)在中斷地址區(qū)中被定義了,不能任意設(shè)定。10 .單片機(jī)P3 口各引腳的第二功能有哪些?答:單片機(jī)P3 口各引腳復(fù)用的第二功能有:串行通信(P3.0,P3.1 )、外部中斷請求輸入 (P32P3.3 )、外部計(jì)數(shù)脈沖(P3.4,P3.5 )和外部存儲(chǔ)器的讀寫控制信號(P3.6,P3.7 )11 .串行口的接收和發(fā)送緩沖器SBU或用的一個(gè)地址是多少?如何區(qū)分是“收”還是“發(fā)” ?

27、答:用行口的接收和發(fā)送緩沖器 SBUF共用一個(gè)地址是99H,通過對SBUF的讀、寫語句 來區(qū)別是對接收緩沖器還是發(fā)送緩沖器進(jìn)行操作。例如:CPU在寫SBUF時(shí),操作的是發(fā)送緩沖器;SBUF=sendi; /發(fā)送第i個(gè)數(shù)據(jù)讀SBUF時(shí),就是讀接收緩沖器的內(nèi)容。bufferi=SBUF; / 接收數(shù)據(jù)12、寫出下列匯編語言指令的尋址方式。、SJMP LOOP相對尋址、MOV A , R1寄存器尋址、MOV A , R1 寄存器間接尋址、MOVC A , A+DPTR變址尋址、MOV C , 90H 直接尋址 13、程序狀態(tài)字寄存器 PSW各位的定義是什么?答:程序狀態(tài)字寄存器 PSW各位的定義如下

28、:m 7 g s psi.4 psw. i pw- 2 幡f i par. dCYACF0RS10VF1PPSW.7:進(jìn)/借位標(biāo)志CY加法有進(jìn)位時(shí)置1,減法有借位時(shí)置1;PSW.6輔助進(jìn)位標(biāo)志 AC,加法運(yùn)算低四位向高上四位有進(jìn)位時(shí)置1;PSW.5 PSW.1:用戶標(biāo)志位F0和用戶標(biāo)志位F1,保存用戶的位數(shù)據(jù);PSW.4 PSW.3:工作寄存器選擇控制位RS1和RS0, 00至11分別選擇四組工作之一作為當(dāng)前工作寄存器PSW.2 :溢出標(biāo)志位 OV有符號數(shù)加、減運(yùn)算結(jié)果有溢出或乘除上結(jié)果異常(乘法運(yùn)算結(jié)果大于 255即乘積在BA中,或除法運(yùn)算除數(shù)為 0)時(shí)置1PSW.Q奇偶標(biāo)志位 P,累加器A

29、中1的個(gè)數(shù)為奇數(shù)時(shí)置1。14、什么是時(shí)鐘周期?什么是機(jī)器周期?什么是指令周期?當(dāng)振蕩頻率為12MHz時(shí),一個(gè)機(jī)器周期為多少微秒?答:時(shí)鐘周期又叫振蕩周期或拍,用P表示,是MCS-51單片機(jī)中最小的時(shí)間單位,在一個(gè)時(shí)鐘周期內(nèi),CPU完成一個(gè)最基本的動(dòng)作。機(jī)器周期:由12個(gè)時(shí)鐘周期構(gòu)成,完成一個(gè)基本操作指令周期:是執(zhí)行一條指令所需的時(shí)間,根據(jù)指令的復(fù)雜性,可由1-4 個(gè)機(jī)器周期構(gòu)成。當(dāng)振蕩頻率為12MHz時(shí),一個(gè)機(jī)器周期為1微秒。15、定義變量a, b, c,其中a為內(nèi)部RAM勺可位尋址區(qū)的字符變量,b為外部數(shù)據(jù)存儲(chǔ)區(qū)浮點(diǎn)型變量, c 為指向 int 型 xdata 區(qū)的指針。答: char bd

30、ata a;float xdata b;int xdata *c;16、定時(shí)/計(jì)數(shù)器TO作為計(jì)數(shù)器使用時(shí),其計(jì)數(shù)頻率不能超過晶振頻率的多少?答:由于定時(shí)/計(jì)數(shù)器TO作為計(jì)數(shù)器使用時(shí),是對外部引腳輸入的脈沖進(jìn)行計(jì)數(shù),CPU在每個(gè)機(jī)器周期采樣一次引腳, 當(dāng)前一次采樣為高電平, 后一次采樣為低電平,則為一次有效計(jì)數(shù)脈沖,所以如果晶振頻率為fosc ,則其采樣頻率fosc/12 ,兩次采樣才能決定一次計(jì)數(shù)有效,所以計(jì)數(shù)頻率不能超過fosc/24 。17、執(zhí)行下列程序段后,(A) = 8BH( 或 10001011B) , ( CY) =不影響/ (CY) 。MOV A,#0C5HRL A18、假定 A

31、=83H, (R0) =17H, (17H) =34H,執(zhí)行以下指令:ANLA,#17HORL17H,AXRLA,R0CPLA后,A 的內(nèi)容為34H。解:ANL A,#17H ; A 中 83H與 17H 相與,(A) =03HORL 17H,A; (17H)中 34H與(A)中 03H相或,(17H)=37HXRL A,R0 A ;(A)中 03H與(17H)中 37H異或,(A) =34H19、試編寫一段對中斷系統(tǒng)初始化的程序,使之允許INT0、INT1、T0、串行接口中斷,且使 T0中斷為高優(yōu)先級中斷。MOV IP, #00000010BMOV IE, #10010111B或 SETB

32、PT0SETB ESSETB EX1SETB ET0SETB EX0SETB EA20 、 C51 的 data,bdata,idata 有什么區(qū)別?答: data 、 bdata 、 idata 是表明數(shù)據(jù)的存儲(chǔ)類型。data是指片內(nèi)RAM勺低128字節(jié),可在一個(gè)周期內(nèi)直接尋址;bdata是指片內(nèi)RAM勺位尋址區(qū),16字節(jié);idata是指片內(nèi)RAM勺256字節(jié),必須采用間接尋址。21 、 C51 中的中斷函數(shù)和一般的函數(shù)有什么不同?答: C51 編譯器允許用 C51 創(chuàng)建中斷服務(wù)函數(shù),中斷函數(shù)是由中斷系統(tǒng)自動(dòng)調(diào)用的。中斷函數(shù)的定義格式為:函數(shù)類型 函數(shù)名 interrupt n using

33、n其中: interrupt 和 using 為關(guān)鍵字; interrupt 后面的 n 為中斷源的編號, 即中斷號; using 后面的n所選擇的寄存器組,取值范圍為03。定義中斷函數(shù)時(shí), using 是一個(gè)選項(xiàng),可以省略不用。如果不用 using 選項(xiàng),則由編譯器選擇一個(gè)寄存器組作為絕對寄存器組。8051的中斷過程通過使用interrupt關(guān)鍵字和中斷號(031)來實(shí)現(xiàn),中斷號告訴編譯器中斷函數(shù)的入口地址。22 、 C51 采用什么形式對絕對地址進(jìn)行訪問?答:絕對地址的訪問包括片內(nèi)RAM片外RAM及I/O的訪問。C51提供了兩種比較常用的訪問絕對地 址的方法。( 1 )絕對宏C51 編譯器

34、提供了一組宏定義來對51 系列單片機(jī)的 code 、 data 、 pdata 和 xdata 空間進(jìn)行絕對尋址。在程序中,用“ #include<absacc.h> ”即可使用其中聲明的宏來訪問絕對地址,包括CBYTE、 XBYTE、PWORDDBYTE CWORDXWORDPBYTE DWORD具體使用方法參考absacc.h 頭文件。其中:CBYTEA字節(jié)形式對code區(qū)尋址;CWORD字形式對code區(qū)尋址;DBYTEA字節(jié)形式對data區(qū)尋址;DWORD字形式對data區(qū)尋址;XBYT曰X字節(jié)形式對 xdata區(qū)尋址;XWOR以字形式對xdata區(qū)尋址; PBYT曰X字節(jié)

35、形式對 pdata區(qū)尋址;PWOR以字形式對pdata區(qū)尋址; 如:#include<absacc.h> #define PORTA XBYTE0xFFC0/* 將 PORT1義為外部 I/O 口,地址為 0xFFCQ 長度為 8 位 */ #define NRAM DBYTE0x40 /* 將 NRAMt義為片內(nèi) RAM 地址為 40H,長度為 8 位*/( 2 ) _at_ 關(guān)鍵字可以使用關(guān)鍵字_at_ 對指定的存儲(chǔ)器空間的絕對地址進(jìn)行訪問,一般格式如下: 存儲(chǔ)器類型 數(shù)據(jù)類型說明符 變量名 _at_ 地址常數(shù); 其中, 存儲(chǔ)器類型為 C51 能識別的數(shù)據(jù)類型, 如省略則按存儲(chǔ)

36、器模式規(guī)定的默認(rèn)存儲(chǔ)器類型確定變量的存儲(chǔ)器區(qū)域; 數(shù)據(jù)類型為 C51 支持的數(shù)據(jù)類型; 地址常數(shù)用于指定變量的絕對地址, 必須位于有效的存 儲(chǔ)器空間之內(nèi);使用 _at_定義的變量必須為全局變量。23、簡述C51的數(shù)據(jù)存儲(chǔ)類型?答:8051單片機(jī)存儲(chǔ)區(qū)可分為內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū)、外部數(shù)據(jù)存儲(chǔ)區(qū)以及程序存儲(chǔ)區(qū)。8051單片機(jī)內(nèi)部的數(shù)據(jù)存儲(chǔ)區(qū)是可讀寫的,8051派生系列最多可有 256字節(jié)的內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū),其中低128字節(jié)可直接尋址,高 128字節(jié)(從0x80到0xFF)只能間接尋址,從 20H開始的16字節(jié)可位尋 址。內(nèi)部數(shù)據(jù)區(qū)可分為3個(gè)不同的存儲(chǔ)類型:data、idata和bdata。外部數(shù)據(jù)區(qū)也是可

37、讀寫的,訪問外部數(shù)據(jù)區(qū)比訪問內(nèi)部數(shù)據(jù)區(qū)慢,因?yàn)橥獠繑?shù)據(jù)區(qū)是通過數(shù)據(jù)6指針加載地址來間接訪問的。C51提供兩種不同的存儲(chǔ)類型xdata和pdata訪問外部數(shù)據(jù)。程序存儲(chǔ)區(qū)是只能讀不能寫。程序存儲(chǔ)區(qū)可能在8051單片機(jī)內(nèi)部或者在外部或者內(nèi)外都有,這由8051單片機(jī)的硬件決定。 C51提供了 code存儲(chǔ)類型來訪問程序存儲(chǔ)區(qū)。每個(gè)變量可以明確地分配到指定的存儲(chǔ)空間,對內(nèi)部數(shù)據(jù)存儲(chǔ)器的訪問比對外部數(shù)據(jù)存儲(chǔ)器的訪問 快許多,因此應(yīng)當(dāng)將頻繁使用的變量放在內(nèi)部存儲(chǔ)器中,而把較少使用的變量放在外部存儲(chǔ)器 中。24、哪些變量類型是 51單片機(jī)直接支持的?答:C51編譯器支持的數(shù)據(jù)類型有: 位型(bit )、無符

38、號字符型(unsigned char)、有符號字符型(signed char)、無符號整型(unsigned int )、有符號整型(signed int )、無符號長整型(unsigned long )、 有符號長整型(signed long )、浮點(diǎn)型(float )和指針型等。六、改錯(cuò)題:1、若兩數(shù)存于片內(nèi)RAM30廂31H中,要將其中較大的數(shù)存入片內(nèi) RAM40沖, 如兩數(shù)相等時(shí),則將兩數(shù)中任一個(gè)存入。MOV A, 30HCJNE A, 31H, NEXT1NEXT1: JC NEXT2MOV 40H, 31HSJMP $NEXT2: MOV 40H, A SJMP $答:錯(cuò)誤:改正:

39、2、某8051單片機(jī)系統(tǒng)有四個(gè)中斷源:T0、T1、INT0、INT1。初始化程序中,要求允許中斷,T1設(shè)置成高優(yōu)先級,其余為低優(yōu)先級,允許T0、T1開始計(jì)數(shù),INT0和INT1為邊沿觸發(fā)。試指出以下初始化程序的錯(cuò)誤并改正。MOV IP , # 0000 1000 BMOV IE , # 1000 1111 BMOV TCON , # 0101 0001 B答:錯(cuò)誤:改正:中斷允許控制寄存器(IE)EA一一ESET1EX1ET0EX0中斷優(yōu)先級控制寄存器(IP)一一一PSPT1PX1PT0PX0定時(shí)器控制寄存器(TCON )TF1TR1TF0TR0IE1IT1IE0IT03 .指出下面程序的語法

40、錯(cuò)誤:#include<reg51.h> main()a=C ;int a=7,Cdelay(10) void delay(); cgari ;for(i=O; i<=255;" +” );答:#include<reg51.h>main() a=C ;/a 和C必須先定義才可使用int a=7,C /缺分號,應(yīng)該提在使用前說明delay(10) /延時(shí)子程序必須先定義,或先有函數(shù)原型說明void delay(); /作為函數(shù)定義,有函數(shù)定義不能嵌套的問題,/即不能在一個(gè)函數(shù)內(nèi)定義另一個(gè)函數(shù),而且“”前不應(yīng)有分號/作為函數(shù)原型說明,應(yīng)該放在函數(shù)調(diào)用之前,且

41、其后不應(yīng)該接函數(shù)體cgar i ; / 字符型應(yīng)該是 unsigned charfor(i=O; i<=255;" +" );/" +”應(yīng)改成 i+/主函數(shù)沒有結(jié)束,缺” 4、請判斷下列各條指令的書寫格式是否有錯(cuò),如有錯(cuò)說明原因.MUL RO R1錯(cuò)誤,乘法指令應(yīng)使用A B寄存器操作.MOV A, R7錯(cuò)誤,間接寄存器使用R7有誤,間接寄存器只能使用RQ R1。.MOV A, #3000H 錯(cuò)誤,8位累加器A不能接受16位數(shù)據(jù)。.MOVC A+DPTR , A 錯(cuò)誤,MOVC旨令為對程序存儲(chǔ)區(qū)操作指令,累加器的內(nèi)容不可通過 變址方式送入程序存儲(chǔ)器,兩操作數(shù)寫反了。.LJMP #1000H 錯(cuò)誤,長轉(zhuǎn)移指令中的操作數(shù)為16位轉(zhuǎn)移地址,不能用立即數(shù)的形式來表達(dá)。5、指出下面程序的語法錯(cuò)誤:#include<reg51.h>Sbit led=p1A0;Void into_srv() interrupt 0Led=!led;Void main();IT0=1;IE=0x81while(1);七、編程應(yīng)用題(采用C語言):1、根據(jù)以下電路圖的接線關(guān)系,編寫產(chǎn)生三角波輸出的程序

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論