單片機應(yīng)用技術(shù)-基于STC15系列單片機 習(xí)題及答案匯 項目1-7_第1頁
單片機應(yīng)用技術(shù)-基于STC15系列單片機 習(xí)題及答案匯 項目1-7_第2頁
單片機應(yīng)用技術(shù)-基于STC15系列單片機 習(xí)題及答案匯 項目1-7_第3頁
單片機應(yīng)用技術(shù)-基于STC15系列單片機 習(xí)題及答案匯 項目1-7_第4頁
單片機應(yīng)用技術(shù)-基于STC15系列單片機 習(xí)題及答案匯 項目1-7_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目1習(xí)題答案一.選擇題1.單片機英文名稱的縮寫是(C)。 A.MCP B.PLC C.MCU D.DSP2.STC15系列單片機是(C)位的單片機A.32位 B.16位 C.8位 D.64位3.單片機應(yīng)用系統(tǒng)包括(A)兩個部分硬件系統(tǒng)和控制程序 B.運算器和控制器C.時鐘電路和復(fù)位電路 D.程序存儲器和數(shù)據(jù)存儲器4.Keil軟件中建立的C語言程序文件的文件類型為(A)。A.*.C文件B.*.HEX文件C.*.DOC文件D.*.ASM文件5.ISP下載軟件中,下載到單片機的程序文件類型為(B)。*.C文件B.*.HEX文件C.*.DOC文件D.*.ASM文件二.簡答題1.什么是單片機?答:單片機的全稱是單片微型計算機,它是微型計算機發(fā)展歷程中的一個重要分支,是集成在一塊芯片上,專門用于檢測控制的微型計算機。2.什么是單片機應(yīng)用系統(tǒng)?答:單片機應(yīng)用系統(tǒng)包含硬件系統(tǒng)和控制程序兩部分,其中硬件系統(tǒng)以單片機為核心,根據(jù)需要配以輸入輸出等外圍接口電路,是應(yīng)用系統(tǒng)的基礎(chǔ);控制程序?qū)τ布Y源進行合理調(diào)配使用,并控制其按照一定順序完成各種時序、運算和動作,從而實現(xiàn)應(yīng)用系統(tǒng)要求的任務(wù)。3.單片機應(yīng)用系統(tǒng)開發(fā)流程是什么?答:單片機應(yīng)用系統(tǒng)的開發(fā)流程一般包含以下幾個步驟:明確任務(wù)首先進行需求分析,明確功能性需求和非功能性需求,確定產(chǎn)品技術(shù)指標。系統(tǒng)方案設(shè)計進行系統(tǒng)方案設(shè)計,包含系統(tǒng)的構(gòu)成模塊,單片機芯片的選型、外部元器件配置、軟硬件劃分等。系統(tǒng)方案設(shè)計可以系統(tǒng)框圖形式體現(xiàn)。硬件電路設(shè)計包括設(shè)計硬件電路和制作電路板。軟件程序設(shè)計根據(jù)設(shè)計要求,編寫控制程序,可以使用C語言或匯編語言,一般在Keil軟件中完成。軟硬件聯(lián)調(diào)軟硬件聯(lián)調(diào)過程的任務(wù)是排除硬件電路問題和程序中的問題,在實際產(chǎn)品開發(fā)中一般借助仿真器進行軟硬件聯(lián)合調(diào)試。對于初學(xué)者可以使用具有在線下載功能(ISP)的學(xué)習(xí)板進行調(diào)試,也可以使用仿真軟件Proteus進行輔助開發(fā)。4.KeilμVision軟件的功能有哪些?答:KeilμVision軟件是目前較為流行的開發(fā)51單片機的軟件,它支持眾多不同公司的MCS-51架構(gòu)的芯片,集編輯、編譯、仿真等功能于一體。5.KeilμVision軟件在進行單片機應(yīng)用系統(tǒng)軟件開發(fā)時,使用流程是怎樣的?答:新建工程并保存工程,新建并保存程序文件,將文件添加到工程,編輯編譯鏈接程序,生成HEX文件6.Proteus軟件在單片機應(yīng)用系統(tǒng)的開發(fā)中,可以提供什么功能?答:Proteus軟件也是常見的單片機系統(tǒng)開發(fā)的仿真軟件,軟件提供原理圖布圖、代碼調(diào)試和單片機與外圍電路協(xié)同仿真的功能,軟件包含STC15芯片模型(8.9以上版本)、常見的單片機外圍元器件模型和示波器、萬用表等仿真儀表模型資源,可以進行實時的調(diào)試和仿真。項目2習(xí)題答案一、單選題1、STC15W4K32S4單片機的程序存儲器空間為(D)。A.4K B.15K C.16K D.32K2、(A)是單片機的控制核心,完成運算和控制功能。A.CPU B.RAM C.ROM D.ALU3、LQFP44封裝的STC15W4K32S4單片機有(D)個I/O口。A.20 B.32 C.40 D.424、C程序總是從主函數(shù)開始執(zhí)行,無論函數(shù)的排列順序如何,最后都在(A)中結(jié)束整個程序。A.主函數(shù) B.主程序 C.子程序 D.主過程5、對于C51程序,以下說法錯誤的是(D)。A.在C程序中使用”;”作為語句結(jié)束符 B.一條語句可以多行書寫C.可以一行書寫多條語句 D.C程序不區(qū)分大小寫,如變量i和變量I表示同一個變量6、CLK_DIV寄存器中的CLKS2、CLKS1、CLKS0是系統(tǒng)時鐘選擇控制位,復(fù)位后,CPU的系統(tǒng)時鐘是(A)。A.fOSC B.fOSC/2 C.fOSC/4 7、(A)用于存放用戶程序、表格和程序執(zhí)行過程中不會改變的原始數(shù)據(jù)。。A.程序Flash B.用戶RAM區(qū) C.基本RAM D.擴展RAM8、STC15W4K32S4單片機的每個I/O口的最大驅(qū)動能力為(C)。A.3mA B.10mA C.20mA D.120mA9、參與取余運算的數(shù)據(jù)必須都是(A)。A.整型數(shù)據(jù) B.浮點數(shù) C.字符串 D.常量10、下面哪個選項不是C51語言的優(yōu)點?(A)A.執(zhí)行效率高于匯編語言程序 B.結(jié)構(gòu)化、模塊化的程序設(shè)計語言C.提供了完備的數(shù)據(jù)類型 D、提供了許多標準庫函數(shù)11、在keilC51編輯器中,如將變量定義為unsignedchar類型,其值域范圍為(C)。A.-128~127 B.0~127 C.0~255 D.-32768~3276712、聲明8位特殊功能寄存器需要使用C51的擴充數(shù)據(jù)類型(A)。A.sfr B.sbit C.bit D.sfr1613、C51中定義一個可位尋址的變量LED訪問P1口P1.1引腳的方法是(

B

)。A.sfrLED=P1^1; B.sbitLED=P1^1;C.bitLED=P1^1; D.sfr16LED=P1^1;14、在C51程序設(shè)計中,(

D

)類型數(shù)據(jù)類型經(jīng)常用于處理ASCII字符和小于或等于255的整型數(shù)。A.int B.unsignedint C.char D.unsignedchar15、標識符是由字母、數(shù)字和(C)組成的。A.加號 B.減號 C.下劃線 D.反斜杠二、簡答題1、簡述基本RAM低128字節(jié)的結(jié)構(gòu)及各個部分的工作特性。答:低128字節(jié)又分為工作寄存器區(qū)、位尋址區(qū)和用戶RAM區(qū)三個部分工作存器區(qū):(1)工作寄存器區(qū)(00~1FH):工作寄存器區(qū)由32個字節(jié)的RAM單元組成,分為四組,依次為第0~3組,每組有8個單元,用R0~R7作為單元的編號。某一時刻,只能選中一組工作寄存器,被選中的組稱為當前組,可作通用寄存器使用,此時其他3組只能作為數(shù)據(jù)存儲器使用。當前組的選擇由程序狀態(tài)字PSW中的第3位RS0和第四位RS1位決定,當單片機上電或復(fù)位后,自動選擇0組。(2)位尋址區(qū)(20H~2FH):共16個字節(jié),每個字節(jié)8位,共128位,每位都有一個獨立的編號(稱為位地址),位地址范圍為00~7FH。位尋址空間既可以位尋址,又可字節(jié)尋址。(3)用戶RAM區(qū)(30H~7FH):用戶對該區(qū)域的訪問是按字節(jié)尋址的,通常用來存放參與運算的數(shù)據(jù)或運算的中間結(jié)果。對這部分區(qū)域的使用沒有任何規(guī)定或限制,一般應(yīng)用中常把堆棧開辟在該區(qū)域。2、STC15W4K32S4單片機有哪幾種復(fù)位方式?答:STC15系列單片機有7種復(fù)位方式,分別是:外部RST引腳復(fù)位、軟件復(fù)位、掉電復(fù)位/上電復(fù)位、MAX810專用復(fù)位電路復(fù)位、內(nèi)部低電壓檢測復(fù)位、看門狗復(fù)位和程序地址非法復(fù)位。3、簡述STC15W4K32S4單片機時鐘源的選擇與實現(xiàn)方法,系統(tǒng)時鐘與時鐘源之間的關(guān)系。答:STC15W4K32S4單片機的主時鐘有兩種時鐘源:內(nèi)部高精度R/C時鐘和外部時鐘。(1)內(nèi)部高精度R/C時鐘。如果使用STC15W4K32S4單片機內(nèi)部的高精度R/C時鐘,就不需要外接時鐘電路,XTAL1和XTAL2引腳可用作I/O端口。在對STC15W4K32S4單片機進行ISP下載用戶程序時,可以在硬件選項中勾選“選擇使用內(nèi)部IRC時鐘(不選為外部時鐘)”。(2)外部時鐘。XTAL1和XTAL2是芯片內(nèi)部一個反相放大器的輸入端和輸出端。STC15W4K32S4單片機的出廠配置是使用內(nèi)部高精度R/C時鐘,如選用外部時鐘,在對STC15W4K32S4單片機進行ISP下載用戶程序時,在硬件選擇項中取消勾選“選擇使用內(nèi)部IRC時鐘(不選為外部時鐘)”。使用外部振蕩器產(chǎn)生時鐘時,單片機時鐘信號由XTAL1和XTAL2引腳外接晶振產(chǎn)生時鐘信號,或直接從XTAL1輸入外部時鐘信號源。時鐘源信號的頻率記為fOSC,CPU和內(nèi)部接口的時鐘稱為系統(tǒng)時鐘,記為fSYS,fSYS=f4、簡述C51語言的幾種常用基本數(shù)據(jù)類型以及擴展數(shù)據(jù)類型。答:C51是在ANSIC基礎(chǔ)上,根據(jù)8051單片機的特點進行擴展的語言,C51定義了標準C語言的所有數(shù)據(jù)類型,常用的基本數(shù)據(jù)類型有char字符類型、int整型、long長整型、float浮點型、*指針型。C51對標準C語言進行了擴展bit位變量、sfr特殊功能寄存器、sfr1616位特殊功能寄存器、sbit可尋址位。5、簡述51語言的位運算符功能及優(yōu)先級。答:位運算符號按變量的二進制位進行邏輯運算。C51提供了6種位運算符,按優(yōu)先級從高到低分別為:按位取反~——按位左移<<和按位右移>>——按位邏輯與&——、按位邏輯異或^——按位邏輯或|。項目三習(xí)題答案選擇題在C語言中,if語句后的一對小括號中,用以決定分支流程的表達式(D)。A.只能用邏輯表達式B.只能用邏輯表達式或關(guān)系表達式C.只能用關(guān)系表達式D.可用任意表達式C語言的if語句嵌套時,if與else的匹配關(guān)系是(A)。A.每個else總是與它上面最近的且尚未與其他else匹配的if匹配B.每個else總是與最外層的if匹配C.每個else與if的匹配是任意的D.每個else總是與它上面的if匹配下列關(guān)于switch語句描述錯誤的是(C)。A.switch后面的表達式可以是整型、字符型和枚舉型中的一種B.每個case后面常量表達式的值必須各不相同,否則會出現(xiàn)相互矛盾C.switch語句中不允許出現(xiàn)空的case語句,即多個case不能公用一組執(zhí)行語句D.常量表達式與case之間至少應(yīng)有一個空格在C51語言中,當while語句中的循環(huán)條件表達式的值為(

A

)時,結(jié)束循環(huán)。A.0

B.100C.任意值D.非0while語句和do-while語句的區(qū)別在于,do-while語句的循環(huán)體至少執(zhí)行(

B

)遍。A.0

B.1C.2D.3下面有關(guān)for循環(huán)描述正確的是(

D

)。A.for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況B.for循環(huán)是先執(zhí)行循環(huán)體語句,后判定表達式C.在for循環(huán)中,不能用break語句跳出循環(huán)體D.for循環(huán)語句中,可以包含多條語句,但要用大括號括起來關(guān)于3個循環(huán)結(jié)構(gòu)表述正確的是(

D)。A.while和do-while結(jié)構(gòu)沒有區(qū)別B.while比do-while結(jié)構(gòu)適用范圍更廣C.for結(jié)構(gòu)中的三個表達式缺一不可D.for結(jié)構(gòu)中的三個表達式的;不可省定義為void類型的函數(shù),其含義是(A

)。A.調(diào)用函數(shù)后,被調(diào)用的函數(shù)沒有返回值。B.調(diào)用函數(shù)后,被調(diào)用的函數(shù)有返回值。C.調(diào)用函數(shù)后,被調(diào)用的函數(shù)的返回值為任意的類型。D.以上三種說法都是錯誤的。下面關(guān)于數(shù)組的敘述,正確的是(A)。A.數(shù)組元素的數(shù)據(jù)類型都相同B.數(shù)組不經(jīng)過定義也可以使用C.同一數(shù)組,允許有不同數(shù)據(jù)類型的數(shù)組元素D.數(shù)組名等同于數(shù)組的第一個元素若定義數(shù)組inta[10],其最后一個數(shù)組元素為(C)。A.a[0]B.a[1]C.a[9]D.a[10]STC15單片機的中斷系統(tǒng)具有(

D

)個外部中斷。A.1B.2C.4D.5STC15單片機中,總中斷允許控制位是(

D

)。A.ES

B.ET1

C.EX1

D.EASTC15單片機共有(

A

)個中斷優(yōu)先級

。A.2B.3C.4D.5在中斷處理過程中,中斷服務(wù)程序處理完成后,再回到主程序被打斷的地方繼續(xù)運行。主程序被打斷的地方稱為(

D

)。A.中斷源B.入口地址C.中斷矢量D.斷點STC15單片機中,通過設(shè)定特殊功能寄存器(

C

)可以設(shè)定外部中斷0的中斷優(yōu)先級。A.IE

B.ITC.IPD.IO關(guān)于中斷優(yōu)先級,下面說法不正確的是(

C

)。A.低優(yōu)先級可被高優(yōu)先級中斷B.高優(yōu)先級不能被低優(yōu)先級中斷C.任何一種中斷一旦得到響應(yīng),不會再被它的同級中斷源所中斷D.自然優(yōu)先級中外部中斷0優(yōu)先級最高,可以中斷其他4個中斷源正在執(zhí)行的服務(wù)STC15單片機的中斷允許控制寄存器IE中,EX0位的作用是(

C

)。A.定時器/計數(shù)器啟??刂莆? B.定時器/計數(shù)器T0中斷允許控制位C.外部中斷0中斷允許控制位 D.中斷允許總控制位下列中斷中自然優(yōu)先級最高的是(

C

)。A.定時器T0中斷B.定時器T1中斷C.外部中斷0D.外部中斷1使用C51語言編程時,定義中斷服務(wù)程序時,中斷類型號的取值范圍為(

D

)。A.0、1 B.0~256

C.0~21 D.0~23編程及簡答題1.使用發(fā)光二極管做一個簡易的交通燈,只需模擬兩個路口,每個路口存在紅色、綠色兩種信號燈。(1)仿真圖:(2)軟件程序:#include<stc15.h>//包含針對STC15系列單片機的基本聲明#defineMAIN_Fosc11059200L//定義主時鐘voiddelay_ms(unsignedintms);//延時函數(shù)delay_ms聲明voidmain(void){P1M0=0X00;P1M1=0X00;//P1口初始化為準雙向口模式while(1)//無限循環(huán) { P1=0Xf6; delay_ms(30000); P1=0Xf9; delay_ms(30000); }}voiddelay_ms(unsignedintms){unsignedinti; do{ i=MAIN_Fosc/13000; while(--i); }while(--ms);}2.模擬轉(zhuǎn)向燈,有左右兩個按鍵和兩個方向指示燈,當左按鍵按下時,左燈閃爍,當右按鍵按下時,右燈閃爍。(1)仿真圖:(2)軟件程序:#include<stc15.h>//包含針對STC15系列單片機的基本聲明#defineMAIN_Fosc11059200L//定義主時鐘sbitKEY1=P2^0;sbitKEY2=P2^1;sbitLED1=P1^0;sbitLED2=P1^1;voiddelay_ms(unsignedintms);//延時函數(shù)delay_ms聲明voidmain(void){P1M0=0X00;P1M1=0X00;//P1口初始化為準雙向口模式 P2M0=0X00;P2M1=0X00;//P2口初始化為準雙向口模式while(1)//無限循環(huán) {if(KEY1==0) { LED1=~LED1; delay_ms(10); } elseif(KEY2==0) { LED2=~LED2; delay_ms(10); } else { LED1=1; LED2=1; } }}voiddelay_ms(unsignedintms){unsignedinti; do{ i=MAIN_Fosc/13000; while(--i); }while(--ms);}3.LED數(shù)碼管靜態(tài)顯示與動態(tài)顯示各有什么特點?分別應(yīng)用在什么場合?答:靜態(tài)顯示方式:每個數(shù)碼管的段控需要接8位的數(shù)據(jù)線來保持顯示的字形碼,送入字形碼后,顯示字形能一直保持,直到送入新的字形碼為止。優(yōu)點:顯示穩(wěn)定、無閃爍、占用CPU時間少;缺點:所需的硬件資源較多;應(yīng)用:一般用于位數(shù)較少的場合。動態(tài)顯示方式:所有數(shù)碼管的同一段碼由單片機的一個I/O口進行驅(qū)動顯示內(nèi)容時,一位一位地輪流點亮各位數(shù)碼管顯示器。優(yōu)點:當顯示位數(shù)較多時,節(jié)省I/O口,功耗低,硬件電路簡單。缺點:穩(wěn)定度不如靜態(tài)顯示方式,而且在顯示位數(shù)較多時CPU要輪番掃描,占用CPU較多的時間。應(yīng)用:一般用于各種計數(shù)和顯示場景,例如電子鐘、計數(shù)器。4.對于共陽極數(shù)碼管,要顯示字符‘L’,其字形碼是多少?如果是共陰數(shù)碼管,其字形碼又是多少?答:顯示字符’L’,dpgfedcba共陽極:110001110xc7共陰極:001110000x385.在單片機的P2.4引腳接一按鍵,當有鍵按下時,通過P1.0引腳輸出一個正脈沖(脈沖寬度不限),請畫出電路圖并編出程序。答:(1)仿真圖:(2)程序:#include<stc15.h>//包含針對STC15系列單片機的基本聲明#defineMAIN_Fosc11059200L//定義主時鐘sbitKEY=P2^4;sbitLED=P1^0;voiddelay_ms(unsignedintms);//延時函數(shù)delay_ms聲明voidmain(void){P1M0=0X00;P1M1=0X00;//P1口初始化為準雙向口模式 P2M0=0X00;P2M1=0X00;//P2口初始化為準雙向口模式 LED=0;while(1)//無限循環(huán) {if(KEY==0){//如果檢測到按鍵按下(假設(shè)低電平有效) delay_ms(5); if(KEY==0) { LED=0;//輸出低電平 delay_ms(100);//調(diào)整脈寬寬度 LED=1;//輸出高電平(正脈沖) delay_ms(500);//脈沖維持時間 LED=0;//脈沖結(jié)束,恢復(fù)低電平 delay_ms(100); }while(KEY==0); } }}voiddelay_ms(unsignedintms){unsignedinti; do{ i=MAIN_Fosc/13000; while(--i); }while(--ms);}項目4習(xí)題答案一、選擇題1.STC15系列單片機內(nèi)部有5個(

B)可編程定時器/計數(shù)器。A.32位 B.16位 C.8位 D.4位2.定時與計數(shù)功能選擇由TMOD寄存器中的(

B

)位控制。A.GATE

B.C/T

C.M1 D.M03.指令A(yù)UXR=AUXR|0X80;是用來設(shè)置定時器計數(shù)脈沖的分頻系數(shù)為()。A.0 B.不分頻 C.2分頻 D.12分頻4.在下面的指令設(shè)置的定時器T0定時時間為(

D)。TH0=(65536-MAIN_Fosc/1000)/256;

TL0=(65536-MAIN_Fosc/1000)%256;A.1S B.100ms C.10ms D.1ms5.在下面的指令中開定時器中斷0開關(guān)的語句為(

B)。A.TMOD=0X00; B.ET0=1; C.EA=1; D.TR0=1;6.T0的計數(shù)溢出標志位是(

A

)。A.TCON中的TF0

B.

TCON中的TF1 C.TCON中的TR0D.

TCON中的TR17.設(shè)置T0為工作方式1,定時功能,GATE=0。T1暫不使用,不需要考慮,工作方式控制寄存器TMOD應(yīng)賦值(

B

)。A.0x00 B.0x01 C.0x10 D.0x208.STC15系列單片機定時器工作方式0是指的(

D

)的工作方式。A.8位計數(shù)結(jié)構(gòu)B.13位計數(shù)結(jié)構(gòu)C.16位計數(shù)結(jié)構(gòu)D.自動重裝初值16位計數(shù)結(jié)構(gòu)9.STC15系列單片機定時器工作方式2是指的(

D

)的工作方式。A.32位計數(shù)結(jié)構(gòu)B.13位計數(shù)結(jié)構(gòu)C.16位計數(shù)結(jié)構(gòu)D.自動重裝初值的8位計數(shù)結(jié)構(gòu)10.STC15系列單片機的定時器/計數(shù)器的工作方式0是指的是16位計數(shù)結(jié)構(gòu),最大計數(shù)個數(shù)M=(

B

)。A.8*16 B.216 C.

2*16 D.287.STC15系列單片機中的定時/計數(shù)器的計數(shù)是指(

D)。A.對時間計數(shù)B.外部事件定時C.對內(nèi)部機器周期計數(shù)D.外部事件計數(shù)12.簡易數(shù)字鐘中用8位一體的數(shù)碼管顯示時間,顯示方式是動態(tài)顯示,請問每位數(shù)碼管動態(tài)掃描的時間間隔一般是(B)。A.1微秒 B.1毫秒 C.1秒 D.以上時間都可以二、簡答題:1.STC15單片機的定時/計數(shù)器有哪幾種工作方式?各有什么特點?答:定時器/計數(shù)器0:模式0:16位自動重裝載模式;模式1:16位不可重裝載模式;模式2:8位自動重裝模式;模式3:不可屏蔽中斷的16位自動重裝載模式定時器/計數(shù)器2:模式:16位自動重裝載模式22.設(shè)STC15單片機時鐘源頻率fosc=11.0592MHz,工作于不分頻狀態(tài),定時器在方式0時,定時一次的最大定時時間是多少? 答:項目5習(xí)題答案單選題設(shè)串行異步通信的數(shù)據(jù)格式是:1個起始位,7個數(shù)據(jù)位,1個校驗位,1個停止位,若傳輸率為1200,則每秒鐘傳輸?shù)淖畲笞址麛?shù)為(C)。(A)10個(B)110個(C)120個(D)240個2.在數(shù)據(jù)傳輸率相同的情況下,同步字符傳輸?shù)乃俣纫哂诋惒阶址麄鬏敚湓蚴?D)。字符間無間隔(B)雙方通信同步發(fā)生錯誤的概率少(D)附加的輔助信息總量少3.異步串行通信中,收發(fā)雙方必須保持(C)。(A)收發(fā)時鐘相同(B)停止位相同(C)數(shù)據(jù)格式和波特率相同(D)以上都正確4.在數(shù)據(jù)傳輸率相同的情況下,同步傳輸率高于異步傳輸速率的原因是(A)(A)附加的冗余信息量少(B)發(fā)生錯誤的概率小(C)字符或組成傳送,間隔少(D)由于采用CRC循環(huán)碼校驗5.在異步通信方式中,通常采用(B)來校驗錯誤。(A)循環(huán)冗余校驗碼(B)奇、偶校驗碼(C)海明校驗碼(D)多種校驗方式的組合二、簡答題1.STC15單片機的串行口有幾種工作方式?各有什么特點?答:STC15單片機的串行口共有?4種工作方式?,特點如下:?方式0?(同步移位寄存器模式)?同步通信?,用于擴展I/O(如連接74HC164等移位寄存器)??數(shù)據(jù)格式?:8位數(shù)據(jù),無起始/停止位??波特率固定?:一般為系統(tǒng)時鐘的1/12(如fosc/12)??方式1?(8位UART模式)?異步通信?,最常用模式??數(shù)據(jù)格式?:10位(1起始位+8數(shù)據(jù)位+1停止位)??波特率可變?:由定時器T1或T2控制??方式2?(9位UART模式)?異步通信?,支持多機通信??數(shù)據(jù)格式?:11位(1起始位+8數(shù)據(jù)位+1可編程位+1停止位)??波特率固定?:系統(tǒng)時鐘的1/32或1/64(如fosc/32或fosc/64)??方式3?(9位UART可變波特率模式)?異步通信?,功能與方式2類似,但波特率可變??數(shù)據(jù)格式?:同方式2(11位)??波特率由定時器控制?:與方式1相同(通過T1/T2設(shè)定)?設(shè)單片機串行口工作于方式3,每分鐘傳送3600個字符,計算其波特率。答:波特率為660bps設(shè)A、B兩臺單片機的串口工作于方式1,波特率為4800,A機發(fā)送數(shù)據(jù)0X00、0X01、0X02……0X1F,B機接收后存放到片內(nèi)RAM地址為0X40開始的單元中,試用查詢方式編寫A、B兩機的程序。答:?A機發(fā)送程序(查詢方式):#include<REG51.H>voidUART_Init(){SCON=0x50;//串口方式1,允許接收(對發(fā)送方非必須)TMOD|=0x20;//定時器1工作方式2(8位自動重裝)TH1=0xFA;//波特率4800(假設(shè)fosc=11.0592MHz,SMOD=0)TL1=0xFA;TR1=1;//啟動定時器1}voidmain(){unsignedchari;UART_Init();for(i=0;i<=0x1F;i++){//發(fā)送0x00~0x1F共32個字節(jié)SBUF=i;//寫入發(fā)送緩沖區(qū)while(!TI);//等待發(fā)送完成TI=0;//清除發(fā)送中斷標志}while(1);//發(fā)送完成后停止}?B機接收程序(查詢方式):#include<REG51.H>voidUART_Init(){SCON=0x50;//串口方式1,允許接收TMOD|=0x20;//定時器1工作方式2TH1=0xFA;//波特率4800(與A機一致)TL1=0xFA;TR1=1;//啟動定時器1}voidmain(){unsignedchar*ptr=0x40;//數(shù)據(jù)存儲起始地址unsignedcharcount=32;//接收32個字節(jié)UART_Init();while(count--){while(!RI);//等待接收完成RI=0;//清除接收中斷標志*ptr++=SBUF;//存儲數(shù)據(jù)到RAM}while(1);//接收完成后停止}5.第4題中,如果串行口工作于方式2,程序應(yīng)如何修改?答:?A機發(fā)送程序(方式2,查詢方式):#include<REG51.H>voidUART_Init(){SCON=0x80;//方式2,禁止接收,第9位默認0(可自定義為校驗位)PCON|=0x80;//SMOD=1(若需更高波特率,但需晶振支持)}voidmain(){unsignedchari;UART_Init();for(i=0;i<=0x1F;i++){TB8=0;//第9位設(shè)為0(可自定義為奇偶校驗位)SBUF=i;//發(fā)送數(shù)據(jù)while(!TI);//等待發(fā)送完成TI=0;//清除標志}while(1);}?B機接收程序(方式2,查詢方式):#include<REG51.H>voidUART_Init(){SCON=0x90;//方式2,允許接收,第9位存入RB8PCON|=0x80;//SMOD=1(與A機一致)}voidmain(){unsignedchar*ptr=0x40;unsignedcharcount=32;UART_Init();while(count--){while(!RI);//等待接收完成RI=0;//清除標志//若需校驗第9位,可檢查RB8*ptr++=SBUF;//存儲8位數(shù)據(jù)}while(1);}項目6習(xí)題答案一、選擇題1.LCD1602的電源是(B)A.3V B.5V C.12V D.1.8V2.LCD1602與主控之間最多共有(B)位數(shù)據(jù)接口進行連接A.4 B.8 C.12 D.163.LCD1602與主控之間的數(shù)據(jù)和命令必須在E信號(C)起作用A.低電平 B.高電平 C.下降沿 D.上升沿4.STC15W32S4單片機,如果I/O口的定義使用sbitLCDRS=P2^5;,則應(yīng)加(A)。A.#include<stc15.h> B.#include<stdio.h> C.#include<at89x51.h> D.#include<reg51.h> 5.主控向LCD1602寫完一條命令需要(B)時間。A.幾十納秒 B.幾十微秒 C.幾十毫秒 D.幾十秒6.DS18B20采集的溫度值對應(yīng)輸出的數(shù)字量是(C)位的A.1 B.8 C.9~12位 D.16位7.DS18B20內(nèi)部有(C)位的ROM存放芯片的IDA.4 B.8 C.64 D.488.DS18B20內(nèi)部(C)個字節(jié)的RAM。A.2 B.8 C.9 D.109.當系統(tǒng)中只有一片DS18B20時,主控一般在溫度采集過程中需要向DS28B20發(fā)送以下(C)ROM命令。A.0X33 B.0X55 C.0XCC D.0X4410.DS18B20采集到的溫度值在其內(nèi)部存放在(B)個RAM中A.1 B.2 C.3 D.411.配置寄存器的作用是設(shè)置(C)A.序列號 B.采樣頻率 C.分辨率 D.工作時鐘12.DS18B20進行一次溫度轉(zhuǎn)換所需的時間是(C)的A.納秒級 B.微秒 C.毫秒級 D.秒級二、簡答題(參考)1.數(shù)字溫度傳感器DS18B20有哪兩種供電方式?答:DS18B20有兩種供電方式:數(shù)據(jù)總線供電方式和外部供電方式。任務(wù)6.1中讀溫度值函數(shù)是什么函數(shù)類型?為什么要用該類型函數(shù)?答:讀溫度值函數(shù)readt函數(shù)為int整形函數(shù),因為讀溫度值后需要將12位溫度值返回。如果要第1行從右側(cè)移入Helloeveryone,同時第2行從右側(cè)移入ILOVECHINA,應(yīng)如何修改程序?答:修改數(shù)組str1和str1中的數(shù)據(jù)為“Helloeveryone”和“ILOVECHINA”,修改主函數(shù)lcd_cmd(0x80)和lcd_cmd(0xc0),改為lcd_cmd(0x80+16)和lcd_cmd(0xc0+16),在顯示第一行和第二行數(shù)據(jù)while(*p)lcd_dat(*p++)語句后增加lcd_cmd(0x18)和延時函數(shù),目的是將顯示移位設(shè)置為左移字符方式,并增加合理恰當延時達到良好的視覺效果。如果要將字符顯示在LCD1602屏幕的第2行、第5列,對應(yīng)的指令碼是多少?如果要將LCD1602設(shè)置為單行方式、點陣大小為5×7,對應(yīng)的指令碼是多少?答:如果要將字符顯示在LCD1602屏幕的第2行、第5列,對應(yīng)的指令碼是lcd_cmd(0xc0+5)。如果要將LCD1602設(shè)置為單行方式、點陣大小為5×7,對應(yīng)的指令碼是lcd_cmd(0x30)。請說明多路溫度檢測的步驟和方法。答:系統(tǒng)采樣各點溫度時,先復(fù)位傳感器,并跳過ROM,發(fā)啟動溫度轉(zhuǎn)換命令,這樣所有掛在總線上的DS18B20同時開始轉(zhuǎn)換,等轉(zhuǎn)換結(jié)束后,單片機再次復(fù)位傳感器依次發(fā)匹配ROM命令,將預(yù)先存儲的各傳感器的序列號通過單總線送出,選中指定的DS18B20,并依次將溫度值讀入數(shù)組中以供顯示。項目7習(xí)題答案選擇題關(guān)于I2C通信,下面說法正確的是?(ABCD)I2C通信空閑時,數(shù)據(jù)線SDA和時鐘線SCL總是處于高電平狀態(tài)I2C通信是串行通信。I2C通信中從設(shè)備都有一個唯一的地址。I2C通信是一種半雙工通信方式。以下關(guān)于I2C總線說法正確的是(AB)。SCL為高電子,SDA由高電平向低電平跳變時,開始傳送數(shù)據(jù)SCL為高電平,SDA由低電平向高電平跳變時,結(jié)束傳送數(shù)據(jù)SDA由低電平向高電平跳變,SCL為低電平時,結(jié)束傳送數(shù)據(jù)SDA由低電平向高電平跳變,SCL為高電平時,開始傳送數(shù)據(jù)以下關(guān)于I2C說法正確的是(ACD)I2C總線包括兩根信號:數(shù)據(jù)線(SDA)和時鐘線(SCL)I2C總線一般按照星型拓撲,如果所連IC過多(8個以上),需要進行仿真SCL與其他信號線的距離為3WSDA及SCL并行走線,無等長要求下面關(guān)于12C的敘述中,錯誤的是(B)。12C即集成電路互連總線I2C具有SDA、SCL和ACK共3條信號線I2C傳送數(shù)據(jù)時,每次傳送的字節(jié)數(shù)目沒有限制I2C是多主總線關(guān)于I2C總線的下列說法,正確的是(AC)兩條總線,一條是數(shù)據(jù)總線(SDA.,另一條是時鐘總線(SCL)用兩對接即可實現(xiàn)功能控制時鐘總線是用來定時的有了I2C總線就不需要微處理器簡答題寫出I2C總線器件地址的格式,總線上同一型號的器件如何識別?答:?I2C總線器件地址格式?:

I2C器件地址通常為?7位?(常用)或?10位?(擴展模式)。7位地址由兩部分組成:?固定部分?:廠商預(yù)定義的高位(如4~5位)。?可配置部分?:低位通過硬件引腳(如A0、A1、A2)設(shè)置,支持多設(shè)備區(qū)分。?同一型號器件識別方法?:通過?硬件地址引腳?(如A0/A1/A2)連接高/低電平,改變地址的低幾位,確保每個器件的地址唯一。例如,某器件支持3個引腳,最多可掛載8個同型號設(shè)備(地址范圍擴展為8種組合)。I2C總線如何定義起始信號和停止信號?為什么傳送數(shù)據(jù)時,數(shù)據(jù)線SDA的電平只允許在SCL為低電平時變化?答:I2C起始信號和停止信號的定義??起始信

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論