版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、一、填空1KeiL C51軟件中,工程文件的擴展名是_UV2_,編譯連接后生成可燒寫的文件擴展名是_HEX_。2C51支持的指針有 一般指針 和 存儲器指針 。3C51中,沒有專門的循環(huán)語句,我們可以用函數(shù)_ crol _完成一個字節(jié)的循環(huán)左移,用_ _irol_ _完成二個字節(jié)的循環(huán)左移。4C51的基本數(shù)據(jù)類型有 位型、 字符型 、 整型 、 長整型 、 浮點型 、 雙精度浮點型 。5C51的存儲類型有 data 、 bdata 、 idata 、 pdata 、 xdata 、 code 。6C51的存儲模式有 SMALL 、 COMPACT 和 LARGE 。7C51程序與其他語言程序一
2、樣,程序結(jié)構(gòu)也分為 順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu) 三種。8C51中int型變量的長度為 4位 ,其值域為 065535 。9C51中關(guān)鍵字sfr的作用 定義8位特殊功能寄存器 ,sbit的作用 定義可位尋址對象,用于位尋址,從位尋址字節(jié)中定義位變量 。10函數(shù)定義由 函數(shù)首部 和 函數(shù)體 兩部分組成。11C51中“!”運算符的作用是 邏輯運算結(jié)果值取反 。12若函數(shù)無返回值,用 void 關(guān)鍵字指定。13若局部變量
3、未初始化,其初值為 0 。二、單項選擇題:1.89S51的內(nèi)部程序存儲器與數(shù)據(jù)存儲器容量各為多少?( C )(A)64KB、 128B ( B)4KB、64KB (C)4KB、128B (D)8KB、256B2在8x51芯片里,哪個引腳用于控制使用內(nèi)部程序存儲器還是外部程序存儲器?( B) P17 (A)XTAL1 (B)/EA (C)/PSEN (D)ALE3.下列哪個不是KeilC的預處理命令?(C) (A)#include(B)#define(C)#exit(D)#if4.下列哪個不是KeilC的數(shù)據(jù)類型?( B) (A)void(B)string(C)char(D)float5在Kei
4、lC的程序里,若要指定P0口的bit3,如何編寫?(C )(A)P0.3 (B)Port0.3 (C)P03 (D)Port36.在8x51里,若要擴展外部存儲器時,數(shù)據(jù)總線連接哪個輸入/輸出端口?(A )(A)P0 (B)P1 (C)P2 (D)P37.在KeilC里,判讀開關(guān)狀態(tài)時,使用if_else if語句與使用switch語句有何差異?(B )(A)if-else if 語句較快 (B)if-else if語句有優(yōu)先級 (C)switch語句可判讀較多開關(guān)狀態(tài) (D)switch語句有優(yōu)先級8.在KeilC里,中斷子程序與函數(shù)有何不同?(A )(A)中斷子程序不必聲明(B)函數(shù)不必聲
5、明(C)中斷子程序必須有形式參數(shù) (D)中斷子程序一定會有返回值9利用下列( A )關(guān)鍵字可以改變工作寄存器組A、interrupt B、sfr C、while D、using10C51中一般指針變量占用( C )字節(jié)存儲。A、一個B、兩個C、三個D、四個11使用宏來訪問絕對地址時,一般需包含的庫文件是(B)A、reg51.h B、absacc.h C、intrins.h D、startup.h1
6、2執(zhí)行#define PA8255 XBYTE0x3FFC;PA8255=0x7e;后存儲單元0x3FFC的值是(A )A、Ox7e B、8255H C、未定D、7e三、判斷題:(每小題1分,共10分。正確的在括號內(nèi)打“”,錯誤的打“×”。判對得分,不判、判錯均不得分。)1若一個函數(shù)的返回類型為void,則表示其沒有返回值。( )2特殊功能寄存器的名字,在C51程序中,全部大寫。( )3“sfr”后面的地址可以用帶有運算的表達式來表示。( × )4#include <
7、reg51.h>與#include “reg51.h”是等價的。( )5sbit不可以用于定義內(nèi)部RAM的可位尋址區(qū),只能用在可位尋址的SFR上。(×)6一個函數(shù)利用return不可能同時返回多個值。( )四、問答題1哪些變量類型是51單片機直接支持的?答:C51編譯器支持的數(shù)據(jù)類型有:位型(bit)、無符號字符型(unsigned char)、有符號字符型(signed char)、無符號整型(unsigned int)、有符號整型(signed int)、無符號長整型(unsigned long)、有符號長整型(signed lo
8、ng)、浮點型(float)和指針型等。2簡述C51的數(shù)據(jù)存儲類型答:我們都知道,8051單片機存儲區(qū)可分為內(nèi)部數(shù)據(jù)存儲區(qū)、外部數(shù)據(jù)存儲區(qū)以及程序存儲區(qū)。8051單片機內(nèi)部的數(shù)據(jù)存儲區(qū)是可讀寫的,8051派生系列最多可有256字節(jié)的內(nèi)部數(shù)據(jù)存儲區(qū),其中低128字節(jié)可直接尋址,高128字節(jié)(從0x80到0xFF)只能間接尋址,從20H開始的16字節(jié)可位尋址。內(nèi)部數(shù)據(jù)區(qū)可分為3個不同的存儲類型:data、idata和bdata。外部數(shù)據(jù)區(qū)也是可讀寫的,訪問外部數(shù)據(jù)區(qū)比訪問內(nèi)部數(shù)據(jù)區(qū)慢,因為外部數(shù)據(jù)區(qū)是通過數(shù)據(jù)指針加載地址來間接訪問的。C51提供兩種不同的存儲類型xdata和pdata訪問外部數(shù)據(jù)。
9、程序存儲區(qū)是只能讀不能寫。程序存儲區(qū)可能在8051單片機內(nèi)部或者在外部或者內(nèi)外都有,這由8051單片機的硬件決定。C51提供了code存儲類型來訪問程序存儲區(qū)。每個變量可以明確地分配到指定的存儲空間,對內(nèi)部數(shù)據(jù)存儲器的訪問比對外部數(shù)據(jù)存儲器的訪問快許多,因此應當將頻繁使用的變量放在內(nèi)部存儲器中,而把較少使用的變量放在外部存儲器中。各存儲區(qū)的簡單描述如表2-2所示。表2-2 C51存儲類型與8051存儲空間的對應關(guān)系存儲區(qū)描述DATA片內(nèi)RAM的低128字節(jié),可在一個周期內(nèi)直接尋址BDATA片內(nèi)RAM的位尋址區(qū),16字節(jié)IDATA片內(nèi)RAM的256字節(jié),必須采用間接尋址XDATA外部數(shù)據(jù)存儲區(qū),
10、使用DPTR間接尋址PDATA外部存儲區(qū)的256個字節(jié),通過P0口的地址對其尋址。使用MOVX Ri,需要兩個指令周期CODE程序存儲區(qū),使用DPTR尋址。以上介紹的是C51的數(shù)據(jù)存儲類型,C51存儲類型及其大小和值域如表2-3所示。表2-3 C51存儲類型及其大小和值域存儲類型長度/bit長度/byte值域data810255idata810255pdata810255code162065 535xdata162065 5353簡述C51對51單片機特殊功能寄存器的定義方法答:MCS-51通過其特殊功能寄存器(SFR)實現(xiàn)對其內(nèi)部主要資源的控制。MCS-51單片機有21個SFR,有的單片機還
11、有更多的SFR,它們分布在片內(nèi)RAM的高128字節(jié)中,其地址能夠被8整除的SFR一般可以進行位尋址。關(guān)于MCS-51單片機的特殊功能寄存器參看附錄A。對SFR只能用直接尋址方式訪問。C51允許通過使用關(guān)鍵字sfr、sbit或直接引用編譯器提供的頭文件來實現(xiàn)對SFR的訪問。4簡述C51對51單片機片內(nèi)I/O口和外部擴展的I/O口的定義方法答:C51對51單片機片內(nèi)I/O口的定義方法是將片內(nèi)I/O口看成SFR。C51對51單片機片外I/O的訪問有兩種比較常用的訪問方法:(1)絕對宏C51編譯器提供了一組宏定義來對51系列單片機的code、data、pdata和xdata空間進行絕對尋址。在程序中,
12、用“#include<absacc.h>”即可使用其中聲明的宏來訪問絕對地址,包括CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、DWORD,具體使用方法參考absacc.h頭文件。其中:CBYTE以字節(jié)形式對code區(qū)尋址;CWORD以字形式對code區(qū)尋址;DBYTE以字節(jié)形式對data區(qū)尋址;DWORD以字形式對data區(qū)尋址;XBYTE以字節(jié)形式對xdata區(qū)尋址;XWORD以字形式對xdata區(qū)尋址;PBYTE以字節(jié)形式對pdata區(qū)尋址;PWORD以字形式對pdata區(qū)尋址;(2)_at_關(guān)鍵字可以使用關(guān)鍵字_at_對指定的存儲器空間
13、的絕對地址進行訪問,一般格式如下:存儲器類型 數(shù)據(jù)類型說明符 變量名 _at_地址常數(shù);其中,存儲器類型為C51能識別的數(shù)據(jù)類型,如省略則按存儲器模式規(guī)定的默認存儲器類型確定變量的存儲器區(qū)域;數(shù)據(jù)類型為C51支持的數(shù)據(jù)類型;地址常數(shù)用于指定變量的絕對地址,必須位于有效的存儲器空間之內(nèi);使用_at_定義的變量必須為全局變量。5C51中的中斷函數(shù)和一般的函數(shù)有什么不同?答:C51編譯器允許用C51創(chuàng)建中斷服務函數(shù),中斷函數(shù)是由中斷系統(tǒng)自動調(diào)用的。中斷函數(shù)的定義格式為:函數(shù)類型 函數(shù)名 interrupt n using n其中:interrupt和using為關(guān)鍵字;interrupt后面的n 為
14、中斷源的編號,即中斷號;using后面的n所選擇的寄存器組,取值范圍為03。定義中斷函數(shù)時,using是一個選項,可以省略不用。如果不用using選項,則由編譯器選擇一個寄存器組作為絕對寄存器組。8051的中斷過程通過使用interrupt關(guān)鍵字和中斷號(031)來實現(xiàn),中斷號告訴編譯器中斷函數(shù)的入口地址.6C51采用什么形式對絕對地址進行訪問?答:絕對地址的訪問包括片內(nèi)RAM、片外RAM及I/O的訪問。C51提供了兩種比較常用的訪問絕對地址的方法。(1)絕對宏C51編譯器提供了一組宏定義來對51系列單片機的code、data、pdata和xdata空間進行絕對尋址。在程序中,用“#inclu
15、de<absacc.h>”即可使用其中聲明的宏來訪問絕對地址,包括CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、DWORD,具體使用方法參考absacc.h頭文件。其中:CBYTE以字節(jié)形式對code區(qū)尋址;CWORD以字形式對code區(qū)尋址;DBYTE以字節(jié)形式對data區(qū)尋址;DWORD以字形式對data區(qū)尋址;XBYTE以字節(jié)形式對xdata區(qū)尋址;XWORD以字形式對xdata區(qū)尋址;PBYTE以字節(jié)形式對pdata區(qū)尋址;PWORD以字形式對pdata區(qū)尋址;如:#include<absacc.h>#define PORT
16、A XBYTE0xFFC0/*將PORT定義為外部I/O口,地址為0xFFC0,長度為8位*/#define NRAM DBYTE0x40/*將NRAM定義為片內(nèi)RAM,地址為40H,長度為8位*/(2)_at_關(guān)鍵字可以使用關(guān)鍵字_at_對指定的存儲器空間的絕對地址進行訪問,一般格式如下:存儲器類型 數(shù)據(jù)類型說明符 變量名 _at_地址常數(shù);其中,存儲器類型為C51能識別的數(shù)據(jù)類型,如省略則按存儲器模式規(guī)定的默認存儲器類型確定變量的存儲器區(qū)域;數(shù)據(jù)類型為C51支持的數(shù)據(jù)類型;地址常數(shù)用于指定變量的絕對地址,必須位于有效的存儲器空間之內(nèi);使用_at_定義的變量必須為全局變量。7按照給定的數(shù)據(jù)類
17、型和存儲類型,寫出下列變量的說明形式(1)在data區(qū)定義字符變量val1(2)在idata區(qū)定義整型變量val2(3)在xdata區(qū)定義無符號字符型數(shù)組val34。(4)在xdata區(qū)定義一個指向char類型的指針px。(5)定義可位尋址變量flag。(6)定義特殊功能寄存器變量P3。答:(1)在data區(qū)定義字符變量val1 char data vall;(2)在idata區(qū)定義整型變量val2 int idata val2;(3)在xdata區(qū)定義無符號字符型數(shù)組val34。unsigned xdata val34;(4)在xdata區(qū)定義一個指向char類型的指針px。char xda
18、ta *px;(5)定義可位尋址變量flag。bit flag;(6)定義特殊功能寄存器變量P3。Sfr P3=0xB0;五、程序設(shè)計題設(shè)在存儲區(qū),有10個數(shù)據(jù):99,15,30,13,27,28,7,0,33,67。編寫程序,將其按照從大到小的次序排列。并按次序在數(shù)碼管上顯示。為了簡化硬件電路,選用譯碼、顯示一體化顯示模塊。仿真電路如圖3-8所示。8.在使用8051的定時器/計數(shù)器前,應對它進行初始化,其步驟是什么?答: (1)確定T/C的工作方式編程TMOD寄存器; (2)計算T/C中的計數(shù)初值,并裝載到TH和TL; (3)T/C在中斷方式工作時,須開CPU中斷和源中斷編程IE寄存器; (4)啟動定時器/計數(shù)器編程TCON中TR1或TR0位。9.外部中斷源初始化步驟是什么?外部中斷源初始化2個外部中斷源:/INT0中斷,外部中斷0請求,占用P3.2引腳,其中斷請求號為0。/INT1中斷,外部中斷1請求,占用P3.3引腳,其中斷請求號為2。(1)TCO寄存器中的IT0、IT1位(2)IP寄存器中的P
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年粵教滬科版八年級英語上冊階段測試試卷
- 二零二五版SAP系統(tǒng)升級與兼容性測試服務合同3篇
- 2025年度鋼筋焊接技術(shù)培訓服務合同5篇
- 新蘇教版一年級數(shù)學下冊第一單元第1課時《9加幾》教案
- 2025-2030年中國乳膏行業(yè)競爭格局及投資前景規(guī)劃研究報告
- 2025-2030年中國X光膠片行業(yè)運行狀況及前景趨勢分析報告
- 2025年冀教新版選擇性必修1生物下冊月考試卷
- 2025年度版權(quán)質(zhì)押合同:版權(quán)權(quán)利人與質(zhì)權(quán)人之間的版權(quán)質(zhì)押協(xié)議3篇
- 2025年滬科版八年級科學上冊階段測試試卷
- 供熱管網(wǎng)工程監(jiān)理大綱
- 手機歸屬地表格
- GB/T 24479-2023火災情況下的電梯特性
- 鼻空腸管的護理
- ICH Q3D元素雜質(zhì)指導原則
- 五年級解方程計算題100道
- 漢語教學 《成功之路+進步篇+2》第16課課件
- GB/T 20028-2005硫化橡膠或熱塑性橡膠應用阿累尼烏斯圖推算壽命和最高使用溫度
- 廣州新版四年級英語下冊-復習計劃
- 2022年寧波開發(fā)投資集團有限公司招聘筆試題庫及答案解析
- 論財務共享服務模式下財務稽核體系
評論
0/150
提交評論