填空題
1、設(shè)X=5AH,Y=36H,則X與Y“或”運(yùn)算為__7EH_______,X與Y的“異或”運(yùn)算為___6CH_____。
2、若機(jī)器的字長(zhǎng)為8位,X=17,Y=35,則X+Y=__110100_____,X-Y=_11101110______(要求結(jié)果寫出二進(jìn)制形式)。
3、單片機(jī)的復(fù)位操作是____高電平______(高電平/低電平),單片機(jī)復(fù)位后,堆棧指針SP的值是___07h_____。
4、單片機(jī)中,常用作地址鎖存器的芯片是__74HC373____________,常用作地址譯碼器芯片是_____74HC138____________。
5、若選擇內(nèi)部程序存儲(chǔ)器, 應(yīng)該設(shè)置為_____高_(dá)______(高電平/低電平),那么,PSEN信號(hào)的處理方式為___不用__________________。
6、單片機(jī)程序的入口地址是____0000H__________,外部中斷1的入口地址是______0013H_________。
7、若采用6MHz的晶體振蕩器,則MCS-51單片機(jī)的振蕩周期為__0.5us_______,機(jī)器周期為_____2us__________。
8、外圍擴(kuò)展芯片的選擇方法有兩種,它們分別是___線選法_______________和_____譯碼法__________。
9、單片機(jī)的內(nèi)部RAM區(qū)中,可以位尋址的地址范圍是____20H~2FH______________,特殊功能寄存器中,可位尋址的地址是___是能被8整除的地址_________________。
10、子程序返回指令是___ret______,中斷子程序返回指令是__ reti 。
單片機(jī)C語(yǔ)言程序設(shè)計(jì)師試題2(連載)
11、8051單片機(jī)的存儲(chǔ)器的最大特點(diǎn)是 內(nèi)部RAM 與 外部RAM 分開編址。
12、8051最多可以有 32 個(gè)并行輸入輸出口,最少也可以有 8 個(gè)并行口。
13、 函數(shù) 是C語(yǔ)言的基本單位。
14、串行口方式2接收到的第9位數(shù)據(jù)送 SCON 寄存器的 RB8 位中保存。
15、MCS-51內(nèi)部提供 3 個(gè)可編程的 16 位定時(shí)/計(jì)數(shù)器,定時(shí)器有 4 種工作方式。
16、一個(gè)函數(shù)由兩部分組成,即 說(shuō)明部分 和 語(yǔ)句部分 。
17、串行口方式3發(fā)送的第9位數(shù)據(jù)要事先寫入 SCON 寄存器的 TB8 位。
18、利用8155H可以擴(kuò)展 3 個(gè)并行口, 256 個(gè)RAM單元。
19、C語(yǔ)言中輸入和輸出操作是由庫(kù)函數(shù) scanf 和 printf 等函數(shù)來(lái)完成。
單片機(jī)C語(yǔ)言程序設(shè)計(jì)師試題3
二、選擇題
1、C語(yǔ)言中最簡(jiǎn)單的數(shù)據(jù)類型包括( B )。
A、整型、實(shí)型、邏輯型 B、整型、實(shí)型、字符型
C、整型、字符型、邏輯型 D、整型、實(shí)型、邏輯型、字符型
2、當(dāng)MCS-51單片機(jī)接有外部存儲(chǔ)器,P2口可作為 ( C )。
A、數(shù)據(jù)輸入口 B、數(shù)據(jù)的輸出口
C、準(zhǔn)雙向輸入/輸出口 D、輸出高8位地址
3、下列描述中正確的是( D )。
A、程序就是軟件 B、軟件開發(fā)不受計(jì)算機(jī)系統(tǒng)的限制
C、軟件既是邏輯實(shí)體,又是物理實(shí)體 D、軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合
4、下列計(jì)算機(jī)語(yǔ)言中,CPU能直接識(shí)別的是( D )。
A、 自然語(yǔ)言 B、 高級(jí)語(yǔ)言 C、 匯編語(yǔ)言 D、機(jī)器語(yǔ)言
5、MCS-5l單片機(jī)的堆棧區(qū)是設(shè)置在( C )中。
A、片內(nèi)ROM區(qū) B、片外ROM區(qū) C、片內(nèi)RAM區(qū) D、片外RAM區(qū)
6、以下敘述中正確的是( C )。
A、用C語(yǔ)言實(shí)現(xiàn)的算法必須要有輸入和輸出操作
B、用C語(yǔ)言實(shí)現(xiàn)的算法可以沒(méi)有輸出但必須要有輸入
C、用C程序?qū)崿F(xiàn)的算法可以沒(méi)有輸入但必須要有輸出
D、用C程序?qū)崿F(xiàn)的算法可以既沒(méi)有輸入也沒(méi)有輸出
7、定時(shí)器/計(jì)數(shù)器工作方式1是( D )。
A、8位計(jì)數(shù)器結(jié)構(gòu) B、2個(gè)8位計(jì)數(shù)器結(jié)構(gòu)
C、13位計(jì)數(shù)結(jié)構(gòu) D、16位計(jì)數(shù)結(jié)構(gòu)
8、C語(yǔ)言提供的合法的數(shù)據(jù)類型關(guān)鍵字是( B )。
A、Double B、short C、integer D、Char
9、片內(nèi)RAM的20H~2FH為位尋址區(qū),所包含的位地址是( B )。
A、00H~20H B、00H~7FH C、20H~2FH D、00H~FFH
10、以下能正確定義一維數(shù)組的選項(xiàng)是( B )。
A、int a[5]={0,1,2,3,4,5}; B、char a[ ]={0,1,2,3,4,5};
C、char a={'A','B','C'}; D、int a[5]="0123";
單片機(jī)C語(yǔ)言程序設(shè)計(jì)師試題4(連載)
11、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指(D )。
A、存儲(chǔ)在外存中的數(shù)據(jù) B、數(shù)據(jù)所占的存儲(chǔ)空間量
C、數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式 D、數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示
12、下列關(guān)于棧的描述中錯(cuò)誤的是(C )。
A、棧是先進(jìn)后出的先性表 B、棧只能順序存儲(chǔ)
C、棧具有記憶作用 D、對(duì)棧的插入和刪除操作中,不需要改變棧底指針
13、在寄存器間接尋址方式中,間址寄存器中存放的數(shù)據(jù)是( B )。
A、參與操作的數(shù)據(jù) B、操作數(shù)的地址值
C、程序的轉(zhuǎn)換地址 D、指令的操作碼
14、MCS-51單片機(jī)的復(fù)位信號(hào)是( A )有效。
A、高電平 B、低電平 C、脈沖 D、下降沿
15、為了使模塊盡可能獨(dú)立,要求( B )。
A、模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)
B、模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱
C、模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱
D、模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)
16、若MCS-51單片機(jī)使用晶振頻率為6MHz時(shí),其復(fù)位持續(xù)時(shí)間應(yīng)該超過(guò)( B )。
A、2μs B、4μs C、8μs D、1ms
17、以下選項(xiàng)中可作為C語(yǔ)言合法常量的是( A )
A、-80 B、-080 C、-8e1.0 D、-80.0e
18、能夠用紫外光擦除ROM中程序的只讀存儲(chǔ)器稱為( C )。
A、掩膜ROM B、PROM C、EPROM D、EEPROM
19、以下不能定義為用戶標(biāo)識(shí)符是( D )。
A、Main B、_0 C、_int D、sizeof
20、下選項(xiàng)中,不能作為合法常量的是( B )。//冪不能為小數(shù)
A、1.234e04 B、1.234e0.4 C、1.234e+4 D、1.234e0
21、以下敘述中錯(cuò)誤的是( C )
A、對(duì)于double類型數(shù)組,不可以直接用數(shù)組名對(duì)數(shù)組進(jìn)行整體輸入或輸出
B、數(shù)組名代表的是數(shù)組所占存儲(chǔ)區(qū)的首地址,其值不可改變
C、當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時(shí),系統(tǒng)將給出“下標(biāo)越界”的出錯(cuò)信息
D、可以通過(guò)賦初值的方式確定數(shù)組元素的個(gè)數(shù)
22、以下與函數(shù)fseek(fp,0L,SEEK_SET)有相同作用的是( D )
A、feof(fp) B、ftell(fp) C、fgetc(fp) D、rewind(fp)
23、存儲(chǔ)16×16點(diǎn)陣的一個(gè)漢字信息,需要的字節(jié)數(shù)為( A )
A、 32 B、 64 C、 128 D、 256
24、已知1只共陰極LED顯示器,其中a筆段為字形代碼的最低位,若需顯示數(shù)字1,則它的字形代碼應(yīng)為( B )。
A、06H B、F9H C、30H D、CFH
25、在C語(yǔ)言中,合法的長(zhǎng)整型常數(shù)是( A )
A、 OL B、 4962710 C、 324562& D、 216D
26、以下選項(xiàng)中合法的字符常量是( B )
A、 "B" B、 ’\010’ C、 68 D、 D
27、若PSW.4=0,PSW.3=1,要想把寄存器R0的內(nèi)容入棧,應(yīng)使用( D )指令。
A、PUSH R0 B、PUSH @R0 C、PUSH 00H D、PUSH 08H
28、在片外擴(kuò)展一片2764程序存儲(chǔ)器芯片要( B )地址線。
A、8根 B、13根 C、16根 D、20根
29、設(shè)MCS-51單片機(jī)晶振頻率為12MHz,定時(shí)器作計(jì)數(shù)器使用時(shí),其最高的輸入計(jì)數(shù)頻率應(yīng)為( C )
A、2MHz B、1MHz C、500kHz D、250kHz
30、下列數(shù)據(jù)字定義的數(shù)表中,( A )是錯(cuò)誤的。
A、DW “AA” B、DW “A” C、DW “OABC” D、DW OABCH
三、判斷題
( √ )1、在對(duì)某一函數(shù)進(jìn)行多次調(diào)用時(shí),系統(tǒng)會(huì)對(duì)相應(yīng)的自動(dòng)變量重新分配存儲(chǔ)單元。
( × )2、在C語(yǔ)言的復(fù)合語(yǔ)句中,只能包含可執(zhí)行語(yǔ)句。
( √ )3、自動(dòng)變量屬于局部變量。
( × )4、Continue 和break都可用來(lái)實(shí)現(xiàn)循環(huán)體的中止。
( √ )5、字符常量的長(zhǎng)度肯定為1。
( × )6、在MCS-51系統(tǒng)中,一個(gè)機(jī)器周期等于1.5μs。
( √ )7、C語(yǔ)言允許在復(fù)合語(yǔ)句內(nèi)定義自動(dòng)變量。
( √ )8、若一個(gè)函數(shù)的返回類型為void,則表示其沒(méi)有返回值。
( × )9、所有定義在主函數(shù)之前的函數(shù)無(wú)需進(jìn)行聲明。
( × )10、定時(shí)器與計(jì)數(shù)器的工作原理均是對(duì)輸入脈沖進(jìn)行計(jì)數(shù)。
( × )11、END表示指令執(zhí)行到此結(jié)束。
( √ )12、ADC0809是8位逐次逼近式模/數(shù)轉(zhuǎn)換接口。
( √ )13、MCS-51的相對(duì)轉(zhuǎn)移指令最大負(fù)跳距是127B。
( × )14、MCS-51的程序存儲(chǔ)器只是用來(lái)存放程序的。
( √ )15、TMOD中的GATE=1時(shí),表示由兩個(gè)信號(hào)控制定時(shí)器的的啟停。
( × )16、MCS-51的特殊功能寄存器分布在60H~80H地址范圍內(nèi)。
( × )17、MCS-51系統(tǒng)可以沒(méi)有復(fù)位電路。
( × )18、片內(nèi)RAM與外部設(shè)備統(tǒng)一編址時(shí),需要專門的輸入/輸出指令。
( √ )19、鎖存器、三態(tài)緩沖寄存器等簡(jiǎn)單芯片中沒(méi)有命令寄存和狀態(tài)寄存等功能。
( √ )20、使用8751且 =1時(shí),仍可外擴(kuò)64KB的程序存儲(chǔ)器。
四、簡(jiǎn)答題
1、在使用8051的定時(shí)器/計(jì)數(shù)器前,應(yīng)對(duì)它進(jìn)行初始化,其步驟是什么?
答: (1)確定T/C的工作方式——編程TMOD寄存器;
(2)計(jì)算T/C中的計(jì)數(shù)初值,并裝載到TH和TL;
(3)T/C在中斷方式工作時(shí),須開CPU中斷和源中斷——編程IE寄存器;
(4)啟動(dòng)定時(shí)器/計(jì)數(shù)器——編程TCON中TR1或TR0位。
2、什么是重入函數(shù)?重入函數(shù)一般什么情況下使用,使用時(shí)有哪些需要注意的地方?
答: 多個(gè)函數(shù)可以同時(shí)使用的函數(shù),稱為重入函數(shù)。
通常情況下,C51函數(shù)不能被遞歸調(diào)用,也不能應(yīng)用導(dǎo)致遞歸調(diào)用的結(jié)構(gòu)。有此限制是由于函數(shù)參數(shù)和局部變量是存儲(chǔ)在固定的地址單元中。重入函數(shù)特性允許你聲明一個(gè)重入函數(shù)。即可以被遞歸調(diào)用的函數(shù)。
重入函數(shù)可以被遞歸調(diào)用,也可以同時(shí)被兩個(gè)或更多的進(jìn)程調(diào)用。重入函數(shù)在實(shí)時(shí)應(yīng)用中及中斷服務(wù)程序代碼和非中斷程序代碼必須共用一個(gè)函數(shù)的場(chǎng)合中經(jīng)常用到。
3、8051引腳有多少I/O線?他們和單片機(jī)對(duì)外的地址總線和數(shù)據(jù)總線有什么關(guān)系?地址總線和數(shù)據(jù)總線各是幾位?
答:8051引腳共有40個(gè)引腳,8051的地址總線由P2和P0口提供,P2口是地址總線的高8位,P0口是地址總線的低8位;數(shù)據(jù)總線由P0口提供;P0口的地址總線和數(shù)據(jù)總線是分時(shí)進(jìn)行的,P0口的地址總線需要外接地址鎖存器完成地址鎖存。
地址總線共16位,數(shù)據(jù)總線是8位。
4、在有串行通信時(shí),定時(shí)器/計(jì)數(shù)器1的作用是什么,怎樣確定串行口的波特率?
答:在有串行通信時(shí),定時(shí)器/計(jì)數(shù)器1的作用是串行口發(fā)生器。
串行口的波特率根據(jù)串行口的工作方式具有不同的計(jì)算方式:
方式0的波特率固定為晶體振蕩器的十二分之一;
方式1的波特率=2SMOD.(定時(shí)器1的溢出率)/32;
方式2波特率=2SMOD.(fosc/64);
方式3波特率同方式1(定時(shí)器l作波特率發(fā)生器)。
5、如何消除鍵盤的抖動(dòng)?怎樣設(shè)置鍵盤中的復(fù)合鍵?
答:由于按鍵是機(jī)械開關(guān)結(jié)構(gòu),所以當(dāng)用手按下其中一個(gè)鍵時(shí),往往會(huì)出現(xiàn)所按鍵在閉合位置和斷開位置之間發(fā)生跳幾下后才會(huì)穩(wěn)定到閉合狀態(tài)的情況。在釋放一個(gè)鍵時(shí),也會(huì)出現(xiàn)類似的情況,這就是鍵的抖動(dòng),抖動(dòng)的持續(xù)時(shí)間不一,但通常不會(huì)大于10ms。
若抖動(dòng)問(wèn)題不解決,就會(huì)引起對(duì)閉合鍵的多次讀入。對(duì)于鍵抖動(dòng)最方便的解決方法就是當(dāng)發(fā)現(xiàn)有鍵按下后,不是立即進(jìn)行掃描,而是延時(shí)大約10ms后再進(jìn)行。由于一個(gè)鍵按下的時(shí)間一般會(huì)持續(xù)上百毫秒,所以延遲10ms后再掃描處理并不遲。
復(fù)合鍵可以仿照計(jì)算機(jī)復(fù)合鍵的處理方法,通常可以假設(shè)一個(gè)鍵具有復(fù)合功能,再與其它減的鍵值組合成復(fù)合鍵。