自考02205微型計算機原理與接口技術(14-18)真題試卷_第1頁
自考02205微型計算機原理與接口技術(14-18)真題試卷_第2頁
自考02205微型計算機原理與接口技術(14-18)真題試卷_第3頁
自考02205微型計算機原理與接口技術(14-18)真題試卷_第4頁
自考02205微型計算機原理與接口技術(14-18)真題試卷_第5頁
已閱讀5頁,還剩70頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2014年10月高等教育自學考試《微型計算機原理與接口技術》試題課程代碼:02205一、單項選擇題1、在計算機中,存放數據和指令的存儲單元的地址是用哪種數制來編碼的?(A)A、二進制B、八進制C、十進制D、十六進制2、用下列哪種語言編寫的程序可以被計算機直接識別并執行?(C)A、算法語言B、匯編語言C、機器語言D、C語言3、在下列四個選項中,哪個選項中的用戶標識符都不合法?(A)A、floatB、AC、aD、_1232a0P_0gototempA-bDointINT4、設有變量intx=1,y=2;charc='A';則表達式(c+x+y)的值是(字符A的ASCII碼是65)(C)A、'A'B、'D'C、68D、空或零5、下列關于C語言函數調用的說法中,正確的是(D)A、凡是函數都可以相互調用與被調用B、main()函數不可以被遞歸調用,但可以被嵌套調用C、main()函數是主函數,不可以被其他函數調用,但可以調用自己D、main()函數是主函數,不可以被任何函數調用,但可以調用其他函數6、如果定義了文件指針:FILE*fileA;,用該指針打開當前目錄下的數據文件abc.dat,并且在文件末尾添加數據,則下列打開文件的語句正確的是(B)A、fileA=fopen("abc.dat","w");B、fileA=fopen("abc.dat","a");C、fileA=fopen("w","abc.dat");D、fileA=fopen("a","abc.dat");7、若MCS-51單片機的時鐘頻率為4MHz,則其機器周期為(D)A、0.25sB、1sC、2sD、3s8、8031單片機內部數據存儲器(RAM)單元共有(C)A、32字節B、64字節C、128字節D、256字節9、MCS-51單片機并行I/O口中,只能作輸入/輸出口,沒有第二功能的口是(B)A、PO口B、P1口C、P2口D、P3口10、當MCS-51單片機的PSW(程序狀態字)中的RS1、RS0為11時,工作寄存器組R0-R7在RAM中地址為(D)A、00H—07HB、08H—0FHC、10H—17HD、18H—1FH11、下列指令中對進位標志CY沒有影響的是(B)A、ADDA,30HB、JCNEXTC、SUBBA,R7D、CJNEA,#10H,$+312、下列指令中目的操作數使用直接尋址的指令是(D)A、ADDA,30HB、MOV@R1,AC、MOVR7,#10HD、ORLP1,A13、若在地址為1100H地方存放有指令SJMP·26H,則該指令執行后,程序轉到的地址為(C)A、1102HB、1126HC、1128HD、10DCH14、下列指令中,錯誤的指令是(A)A、MOVACC.0,P1.1B、MOVACC.7,CC、MOVC,P1.7D、MOV10H,C15、存貯容量為16K×8位的存貯器,其地址線和數據線分別是(C)A、16根,8根B、8根,16根C、14根,8根D、8根,14根16、在8031單片機系統中,關于DAC0832和ADC0809的用途,描述正確的是(C)A、DAC0832和ADC0809都用作模擬量輸入通道B、DAC0832用作模擬量輸入通道,ADC0809用作模擬量輸出通道C、DAC0832用作模擬量輸出通道,ADC0809用作模擬量輸入通道D、DAC0832和ADC0809都用作模擬量輸出通道二、填空題17、計算機的操作指令通常由操作碼(或指令碼)和操作數兩部分組成,其中操作數表示參加操作的數本身或操作數所在內存的地址。18、兩個不同符號的數相加,是做減法實現的。但在計算機中,減法也是通過加法來實現的,為了把減法運算改為加法運算,就引入了反碼和補碼。19、初始化語句:intx=5,y=x++抖;執行后,變量x的值是6,變量y的值是5。20、設有定義語句:inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a+7;,則表達式*p的值是7,表達式*(p-2)的值是5。三、改錯題每小題只有一處錯誤或不妥,請指出,并將其改正。(答案寫在答題卡相應位置)21、下面的程序是對輸入的3個數進行比較,并輸出其中的最大數、最小數。#include<stdio.h>main(){intx,3;z,max,min;scanf("%d%d%d",&x,&y,&z);max=x;min=y;if(x<y)max=y;min=x;if(z>max)max=z;elseif(z<min)min=z;printf("最大數是:%d,最小數是:%d\n",max,min);}答:錯誤:max=y;min=x;正確:{max=y;min=x;}22、下面的程序是計算從1加到n(n>1且n<200)的和(即:1+2+3+……+n),并輸出計算結果。#include<stdio.h>main(){intn;printf("請輸入n(n>1且n<200):");scanf("%d",&n);if(n>1&&n<200){inti,sum=O;for(i=1;i<=n;++i){sum+=i;}}printf("1加到%d的和=%d\n",n,sum);}答:23、#include<stdio.h>main(){intx[10],i;for(i=l;i<=10;++i){scanf("%d",&x[i]);printf("%d,",x[i]);}printf("\n");}答:24,#include<stdio.h>structDate{inty,m,d;};main(){structDatedatel,*p=&datel;scanf("%d,%d,%d",p->y,p->m,p->d);printf("輸入的日期:%d年,%d月,%d日\n",p->y,p->m,p->d);}答:四、程序閱讀題請閱讀下列程序,寫出程序運行結果。(答案寫到答題卡相應位置)25.#include<stdio.h>main(){floata,x=1;intn;scanf("%f',&a);n=a/l00;if(n>0){switch(n){case1:x=0.95;break;case2:x=0.9;break;case3:case4:x=0.8;break;default:x=0.7;}}printf("%6.2f:%6.2f\n",a,a*x);}程序運行兩次,第一次輸入值為87.53,第二次輸入值為310。答:程序第一次運行結果為:87.53:87.53程序第二次運行結果為:310.00:248.0026.#include<stdio.h>main(){inti,x=O;for(i=l;i<10;){if(i%3--0){x=i;prinff("%d,",x);}if(x!=0){i+=i;continue;}++i;}printf("\n");答:程序運行結果為3,6,27.#include<stdio.h>main(){charstr[]={"do-while,for,while"};str[8]='#';str[1O]='\0';str[12]=';';str[13]='W';printf("%s\n",str);}答:28,#include<stdio.h>main(){chars1[]={"LinXiaoping"},s2[]={"LiuPangfeng"},*p=s2+1;s1[21=*(++p);++p;s1[4]=*(++p);s1[T]=*(p+2);*p=*(p+4);printf("%s,%s\n",s1,s2);}答:五、程序設計題根據題意編寫成完整的程序29、下面程序的功能是在輸入的字符串中統計某個字符出現的次數,請根據題義編寫被調用函數(注意:不能改變主函數)。#include<stdio.h>intfunction(charstr[],charc);main(){intsum;charstr[255],c;printf("請輸入字符串(字符個數<255):");scanf("%s",str);printf("請輸入要查找并統計的字符:");scanf("%c",&c);if(str[O]!='\0'){sum=function(str,c);if(sum--O)printf("輸入的字符串中無字符%c。\n",c);elseprintf("在字符串%s中,字符%c出現%d次)。\n",str,c,sum);}/*以下為定義函數部分*/答:六、填空題30、MCS-51單片機用作外部程序存儲器(ROM)讀選通信號的引腳是。31、若MCS-51單片機PSW中的(RS1)=0,(RS0)=1時,則R6對應的RAM單元地址為0EH。32、若指令為MOVA,#10H,則源操作數的尋址方式是立即數尋址。33、已知(A)=9BH,進位標志(CY)=0,執行指令RRCA后,(A)=4DH,(CY)=1。34、已知(SP)=70H,執行指令LCALL2110H后,(SP)=72H,(71H)=10H。35、若要使P1口的高2位置“1”,低6位保持不變,可使用一條指令:ORLP1,#0C0H。36、若8031單片機系統執行了指令SETBEA和SETBEX1,則表示外部中斷1(或INT1)中斷已開放,其中斷入口地址是0013H。37、8031單片機內部的定時/計數器有4種工作方式。在作為定時器用時,設時鐘頻率為12MHz,則其最大定時時間為65.536ms。七、改錯題每小題只有一處錯誤或不妥,請指出,并將其改正。(答案寫在答題卡相應位置)38、以下程序段擬將內部RAM中30H單元開始的16個字節轉移到XBUF開始的外部數據存儲器中。MOVR0,#30HMOVDPTR,#XBUFMOVR7,#16LOOP:MOVA,@R0MOV@DPTR,AINCR0INCDPTRDJNZR7,LOOP答:錯誤:MOV@DPTR,A改正:MOVX@DPTR,A39、若8031單片機要求中斷優先權從高到低依次為T0,T1,INT0,INT1,串行口。INT0和INT1為邊沿觸發,并允許這些中斷,則指出以下初始化程序的錯誤并改正。MOVIE,#9FHMOVIP,#02HMOVTCON,#55H答:錯誤:MOVIP,#02H改正:MOVIP,#0AH八、程序閱讀題請閱讀下列程序,寫出程序運行結果。(答案寫到答題卡相應位置)40、閱讀以下子程序:MOVDPTR,#TABLRLAADDA,DPLMOVDPL,AJNCCONTINCDPHCONT:CLRAMOVCA,@A+DPTRMOVR7,AMOVA,#1MOVCA,@A+DPTRMOVR6,ARETTABL:DW200,5000,100,268,110,260,800,3100,2560如原來(A)=5,調用子程序后,(R7)=01U,(R6)=04H,如原來(A)=2,調用子程序后,(R7)=00H,(A)=64H。41、若8031單片機時鐘頻率為12MH2,運行以下程序后,在P1.0口將產生頻率為40Hz的連續矩形波,其矩形波高電平時間為5ms。ORG0000HAJMPMAINORG001BHAJMPT11NTMAIN:MOVTMOD,#10HMOVTHI,#0B1HMOVTLI,#0EOHSETBEASETBET1CLRPl.0SETBFOSETBTR1SJMP$T11NT:JBF0,T11NT1MOVTH1,#0B1HMOVTLI,#0EOHSJMPT11NT2T11NT1:MOVTHI,#0ECHMOVTLl,#78HT11NT2:CPLFOCPLP1.0RETI九、程序設計題根據題意及已提供的語句,編寫成完整的程序。42、以XD_BUF為起始地址的外部數據存儲器中,存放有200個學生的考試成績(0~100),均為單字節二進制無符號數。試編寫一程序(填寫程序的空缺部分),統計成績≥90分和成績)60分的學生人數,分別存放在內部RAM30H和31H單元。START:MOVDPTR,#XDBUFMOVR7,#200MOV30H,#0MOV31H,#0SJMP$答:十、應用題43、8031單片機用8255A擴展并行口連接打印機電路如題43圖所示。現將存放在內部RAM20H單元開始的16個數據送到打印機打印。STB是打印機輸入信號,它的上升沿將數據讀入并開始打印。打印機讀入一個字符后在ACK端輸出一個負脈沖,作為8031的INT0中斷申請。請將下列程序中缺少的內容,填到答題卡相應位置。ADRESEQU①H;8255AA1218位地址,沒用到的位為“1”ORG0000HAJMPSTARTORG②n;INT0中斷入口地址AJMPROUTSTART:MOVR0,#ADRES+3MOVA,#③H;8255A方式控制字,與本題無關的位為“0”MOVX@R0,ASETB④;INT0邊沿觸發SETBEASETBEX0MOVR1,#20HMOVR2,#⑤HMOVA,⑥;取出第一個字符MOVR0,#ADRES;打印第一個字符MOVX@R0,AMOVR0,#ADRES+2;輸出STB信號MOVA,#00HMOVX@R0,AMOVA,#01HMOVX@R0,ASJMP$ROUT:INCR1;中斷服務程序,打印一個字符MOVA,@R1MOVR0,#⑦MOVX@R0,AMOVR0,#⑧MOVA,#00HMOVX@R0,AMOVA,#01HMOVX@R0,ADJNZR2,NEXTCLREX0NEXT:RETI答:

2015年4月全國高等教育自學考試《微型計算機原理與接口技術》試題課程代碼:02205一、單項選擇題(本大題共16小題,每小題1分,共16分)1、下列數字中不可能是八進制數的是A、123B、128C、255D、2562、假設X=5,Y=10,則下述各表達式中與其他幾個表達式的運算結果都不同的是A、X+YB、Xeq\o\ac(○,+)YC、X∨YD、X∧Y3、一個C語言程序由一個或多個函數相互調用構成,其中能調用main函數的是A、編譯器B、操作系統C、庫函數D、自定義函數4、合法的C語言常數表示是A、3.14×104B、C、061D、41H5、設有C語言變量定義intx;,則語句for(x=3;x!=0;x/=2);執行的循環次數是A、1次B、2次C、3次D、無窮次6、在C程序中函數聲明語句void*func(vo㈤;的正確含義是A、func函數無返回值B、func函數的返回值可以是任意數據類型C、func函數沒有形參D、func函數有一個任意數據類型的形參7、下列描述不屬于RISC計算機特點的是A、單周期執行B、大量的通用寄存器C、指令長度不固定D、專門的Load和Store指令完成數據在寄存器和外部存儲器之間的傳輸8、當LPC2138微控制器的引腳用作GPIO功能時,對引腳清零是通過寄存器A、IOxSETB、IOxCLRC、IOxPIND、IOxDIR9、ARM處理器中用于自動保存函數或子程序的返回地址的寄存器是A、程序計數器B、鏈接寄存器C、堆棧指針寄存器D、程序狀態寄存器10、下列關于ARM處理器CPSR寄存器標志位的作用,錯誤的是A、N:負標志B、Z:零標志C、C:進位標志D、V:借位標志11、在ARM處理器中,優先級最高的中斷類型是A、復位B、數據中止C、FIQD、IRQ12、存儲一個32位數0x7654321到2000H~2003H四個字節單元中,若以小端模式存儲,則2003H存儲單元的字節內容為A、0x07B、0x76C、0x21D、0x3213、FIQ中斷的入口地址是A、0x0000001CB、0x00000018C、0x0000000CD、0x0000001414、在LPC2138微控制器中,設置GPIO引腳時不需要進行的操作為A、輸入輸出模式設置B.功能設置C、引腳方向設置D、觸發方式設置15、下列工作模式中,不屬于ARM特權模式的是A、用戶模式B、系統模式C、中斷模式D、FIQ模式16、下列不屬于ARM7處理器異常中斷類型的是A、快速中斷請求B、未定義指令C、數據訪問中止D、數據捕獲二、填空題(本大題共13小題,每小題2分,共26分)17、設有定義unsignedintx=0xFFFFFFFF;floaty=123.45;,在32位計算機上執行語句printf(;輸出的結果是。18、設x,y為整型變量,要正確計算出代數式的值,且要求結果是實型數,相應的C語言表達式的表示形式為。19.設有定義;則賦值表達式;運行后x的值是一,y的值是。20.形式參數的作用域范圍限于所在的函數體內,當時形參變量被創建,當時形參變量被釋放21.若有定義:;則初始化后的初值為,的初值為22、執行下列定義及語句:Structsample{inta;intb}data[]={{0,0},{1,1},{2,2}},*p=data;*p=*(p+2);后,p->a的值為——,p->b的值為23、CISC是復雜指令集計算機的縮寫,RISC是的縮寫,所有ARM內核都采用體系結構。24、GPIO口的引腳功能復用是指,LPC2138芯片的GPIO引腳功能是通過寄存器配置實現。25、ARM處理器的中斷過程包含、和中斷返回三個階段。26、一個8位D/A轉換器,當輸入碼為10000000B時,產生2.5V的輸出電壓,若輸入碼為11111111B時,輸出電壓為V。27、堆棧指針寄存器SP是用于保存地址。28.ARM內核有兩個指令集,分別是ARM指令集和指令集。當寄存器CPSR中的控制位T為1時,處理器處于狀態。29.ARM體系的存儲器地址空間范圍是從0~Ox。三、改錯題(本大題共4小題,每小題,2分,共8分)每小題只有一處錯誤或不妥,請指出,并將其改正。30、如果系統采用ASCII編碼,某程序員需要輸出字符(已知字符a的ASCII碼值為97),他采用下列語句:Printf();31、如果有定義;,要想得到輸出,程序采用語句:32、下列程序是計算的函數,若n<0則返回-1。33.四、程序閱讀題(本大題共4小題,每小題4分,共16分)請閱讀下列程序,寫出程序運行結果。程序運行結果:程序運行結果:程序運行結果:程序運行結果:五、程序設計題(本大題共1小題,共8分)根據題意編寫成完整的程序。38、編寫一個函數,對給定數組中所有奇數求平均值,并予以返回。該函數的聲明及調用形式由如下的程序給出,數組的數據由主函數通過隨機數生成函數rand()產生。六、分析題(本大題共2小題,每小題8分,共16分)39、異步串行數據通信是以字符幀為基本單位。假設題39圖所示波形表示異步串行通信接口接收到的1個字符幀,已知數據位7位,1位校驗位,1位停止位,請填空。(1)題39圖中停止位所在的時間段為。(2)該異步串行通信所采用的校驗方式為校驗。(3)接收的數據如果以二進制表示,則等于。(4)如果圖中T1段的時間為0.208ms,則比特率為bit/s。40、硬件接線如題40圖所示,請閱讀下列程序,回答下述問題。(1)如果要讓引腳P0.16、P0.17控制發光二極管D1、D2的點亮或熄滅,程序應執行哪兩種初始化操作?(2)如果要點亮D1,程序應執行什么操作?試寫出對應的語句。(3)當按鍵K1按下時,發光二極管D1、D2的閃爍周期是多少?如果D1是點亮的,那么D2是點亮的還是熄滅的?(4)當按鍵K1釋放時,發光二極管D1、D2的閃爍周期是多少?七、應用題(本大題共1小題,共10分)41、將LPC2138的引腳P0.25設置為10位D/A轉換器的輸出,輸出的波形如題41圖所示。試將下列程序中空缺的內容填寫在題后對應編號的橫線內,使之能夠完成規定的功能。{255,255,255,255,255,255,255,255,254,254,254,254,254,253,253,253,253,252,252,252,251,251,250,250,249,249,249,248,247,247,246,246,245,245,244,243,243,242,241,241,240,239,238,238,237,236,235,234,233,232,232,231,230,229,228,227,226,225,224,223,222,221,220,218,217,216,215,214,213,212,210,209,208,207,206,204,203,202,201,199,198,197,195,194,193,191,190,189,187,186,184,183,182,180,179,177,176,174,173,I71,170,168,167,165,164,162,161,159,158,156,155,153,152,150,149,147,146,144,142,141,139,138,136,135,133,131,130,128,127,125,124,122,120,119,117,116,114,113,111,109,108,106,105,103,I02,100,99,97,96,94,93,91,90,88,87,85,84,82,81,79,78,76,75,73,72,71,69,68,66,65,64,62,61,60,58,57,56,54,53,52,51,49,48,47,46,45,43,42,41,40,39,38,37,35,34,33,32,31,30,29,28,27,26,25,24,23,23,22,2I,20,19,18,17,17,16,15,14,14,13,12,12,11,10,lO,9,9,8,8,7,6,6,6,5,5,4,4,3,3,3,2,2,2,2,1,1,1,1,1,O,O,O,O,O,O,O,O,

2016年4月高等教育自學考試《微型計算機原理與接口技術》試題課程代碼:02205一、單項選擇題1、有關馮·諾依曼結構計算機的存儲器,下列描述中正確的是A、只能存儲程序B、只能存儲數據C、既能存儲程序也能存儲數據D、程序和數據不能同時存放在同一個存儲器中2、8位補碼10000001表示的十進制數是A、129B、,127C、-1D、13、要將C語言的源程序變成可以運行的可執行文件,下列各階段不需要的是A、編譯B、預編譯C、加載D、鏈接4、執行了下面賦值語句后,x的值是inti;floatx;x=i=7.8;A、7B、8C、7.0D、7.85、下列語句段中循環體執行的次數是a=10;s=0;while(--a>0)S+=1;A、8B、9C、10D、116、如果在C程序中將某個內部變量說明為static存儲類別,則可以A、防止該變量的值被修改B、加快該變量的訪問速度C、延長該變量的生存期D、擴大該變量的作用域7、ARM處理器中R14寄存器的作用是A、保存當前執行指令在內存中的地址B、保存上一條指令在內存中的地址C、保存函數或子程序的返回地址D、保存程序運行的控制和狀態位8、ARM處理器運行時存放控制和狀態位的寄存器是A、PCB、LRC、SPD、CPSR9、ARM處理器執行如下運算操作:0xd0+0x30,則條件標志位Z、N分別為A、00B、01C、10D、1110、ARM處理器復位后,處理器進入A、系統模式B、管理模式C、用戶模式D、中斷模式11、LPC2138微控制器中的下列模塊,屬于APB外設的是A、EMCB、片內FlashC、TIMER0D、VIC12、設置LPC2138微控制器PO.16引腳的輸入或輸出方向是通過寄存器A、IO0CLRB、IO0SETC、IO0DIRD、PINSEL013、嵌套式中斷是指A、處理器允許響應中斷請求B、處理器在中斷服務時允許響應優先級更低的新中斷C、處理器在中斷服務時允許響應優先級更高的新中斷D、處理器在中斷服務時不再響應新的中斷14、RS232電平的邏輯0對應的電壓水平為A、3~15VB、-15~-3VC、0VD、3.3~5V15、一個10位D/A轉換器的絕對精度為+ILSB,則其相對精度為A、0.0977%B、0.0488%C、0.977mVD、0.2%16、LPC2138微處理器不包含下述功能模塊中的A、PWMB、看門狗定時器C、實時時鐘D、USB二、填空題17、每個C語言程序必須有一個名字為的函數。18、在C語言中存儲一個ASCII字符需占用個字節,存儲字符串常量”\\n”需占用個字節。19、設有定義intx=1,y=1;,則賦值表達式y=((++x)/2==1)?x>>2:x<<2;運行后x的值是,y的值是。20、補充完整下面用遞歸函數求的C函數。intpower(intx,intn){if(n==0)return;if(n>0)return;}21、若有定義:char*p[2]={"xyz","ABCD"};,則表明p是一個數組,執行printf("%s\n",p[1]);后的結果是。22、若將下述變量rect指向的對象賦值為(3,5),則正確的賦值語句是。structsample{intlength,breadth;}*rect;23、LPC2138微控制器中的VIC可處理多達——個中斷信號,但CPU的中斷請求輸入信號只有2個,它們是FIQ租。24、采用三級指令流水線機制的計算機指令執行過程分為三個步驟:、和執行。25、在串行通訊中,每秒鐘內傳輸二進制位的數量稱為;每秒鐘內硬件所產生的信號單元變化的次數稱為。26、對A/D轉換器,輸入的是幅值連續變化的———量,輸出的是幅值上離散的———量。27、LPC2138微控制器的片內SRAM支持8位、位和位的讀寫訪問。28、當定時器計數值達到某個預設值后產生中斷或執行其他動作,這種工作方式稱為。當定時器識別輸入信號發生跳變并可選擇產生中斷,這種工作方式稱為。29、設ARM存儲器采用小端字節順序存放,向存儲地址為0x08001000的存儲單元寫入32位整數0x78563412。如果從存儲單元0x08001002讀取半字數據時,得到的數據是;如果從存儲單元0x08001001讀取字節數據時,得到的數據是。三、改錯題每小題只有一處錯誤或不妥,請指出,并將其改正。30、下列程序實現求正方形的面積。#include<stdio.h>#defineLEN5.5#defineSIDELENLEN+5intmain(void){floatarea;area=S1DE_LEN*SIDE_LEN;printf("Areais%7.2f\n",area);return0;}答:錯誤:改正:31、函數f的作用是將a的每一位取反,它的定義如下:unsignedcharf(unsignedchara){return!a;}答:錯誤:改正:32、introtate(intx,intn){switch(n/16){caseO:x=x>>(16-n);continue;case1:x=x>>(32-n);returnx;default:printf("What'sthematter?\n");}returnx;}答:錯誤:改正:33、intmain(void){chara[]="Yes",b[]={"No"};char*p1=&b[0],*p2=a;while(*p1++=*p2++);printf("%s,%s\n",a,b);return0;}答:錯誤:改正:四、程序閱讀題請閱讀下列程序,寫出程序運行結果。34、#include<stdio.h>intmain(void){inta[4]={10,11,13,15};inti;for(i=0;i<4;++i){if(i%2!=0)a[i]/=2;elseif(a[i]%2==0)a[i]*=2;elsea[i]-=2;printf("%d,",a[i]);}printf("\n");return0;}程序運行結果:35、#include<stdio.h>intmain(void){intA[3]={2,7,5};int*p;p=A;printf("%d\n",*(p++));printf("%d\n",++(*p));return0;}程序運行結果:36、#include<stdio.h>intfun(intx,inty);intmain(void){intm,n;m=2;n=3;m=fun(m,m+n);n=fun(m,n);printf("\n");return0;}intfun(ihtx,inty){staticintm=1,n=3;if(!(x<=m))re=y%4;elsem=(--y);n++;printf("%d,%d,",m,n);returnm;}程序運行結果:37、#include<stdio.h>typedefstructproduct{charcolor[1O];floatprice;structproduct*next;}st_product;intmain(void){st_producttoy[]={{"blue",35.60,0},{"green",47.90,0}};st_product*p=toy;p->price=29.80;p->next=p+1;p->next->color[3]='E';(++p)->price=19.90;p--;printf("%s,%.2f,%s,%.2f\n",p->color,p->price,p->next,>color,p->next->price);return0;}程序運行結果:五、程序設計題根據題意編寫成完整的程序。38、編寫一個函數,要求判斷傳入的字符串中的字符是否按從小到大的順序排列,并返回第一個未正確排序的位置,如果所有字符都正確排序則返回該字符串的長度。該函數的聲明及調用形式由如下的程序給出。(注:字符大小以ASCII碼為序)#include<stdlib.h>intsequence_len(char*);intmain(void){charmystring[]={"adfGhklX"};printf("Thesequencelengthof%sis%d\n",mystring,sequence_len(mystring));return0;}/*以下為floatsequence_len(char*)函數的定義部分*/六、分析題39、異步串行數據通信是以字符幀為基本單位。假設題39圖所示波形圖表示異步串行通信接口接收到的1個字符幀,已知數據位8位,1位校驗位,1位停止位,請回答下述問題:(1)起始位所在的時間段為。(2)所采用的校驗方式為校驗。(3)接收的數據如果以二進制表示,則等于B。(4)如果圖中T1~T10段的時間為8.333ms,則波特率為bit/s。七、應用題40、下列程序完成的功能是:利用定時器0產生FIQ向量中斷,控制P0.3連接的LED燈閃爍。試問答下述問題。(1)定時器0經過預分頻后,其計數頻率是多少?中斷定時周期是多少?LED燈閃爍周期是多少?(2)試從IO0CbR,IO0DIR,FIQTimer0_ISR中挑選出合適的內容,填寫在程序劃線①、②、③處,完善程序語句。(3)試說明程序行④處語句:“VICIntSelect=(1<<4);”的含義。程序1:main.c#include<LPC123X.h>#defineLED_ON(((unsignedlong)0x01)<<3)void_irqFIQ_Timer0_ISR(void){if((IO0PIN&LED_ON)==0)dIO0SET=LED_ON;else①=LED_ON;;TOIR=0x01;}/*初始化定時器Timer0*//**晶振:fosc=12MHz;系統時鐘:fcclk=60MHz;*fpclk=l5MHz*/voidTimer0Init(void){T0PR=99;/*設置預分頻寄存器*/T0MCR=0x03;/*TC和MR匹配時產生中斷,TC復位*/T0MR0=150000;/*設置匹配控制寄存器*/T0TCR=0x03;/*啟動并復位定時器*/T0TCR=0x01;/*啟動定時器*/VICIntSelect=(1<<4);/*(④)*/VICIntEnable=(1<<4);}intmain(void)②=LED_ON;/*設置P0.3引腳*/TimerOInit();/*初始化定時器*/while(1);程序2:Startup.s/*設置中斷服務程序入口地址*/……ResetAddrDCDResetHandlerUndefAddrDCDUndefHandlerSWIAddrDCDSWIHandlerPAbtAddrDCDPAbtHandlerDAbtAddrDCDDAbtHandlerDCD0;ReservedAddressIRQAddrDCDIRQ_HandlerIMPORTFIQTimer0_ISRFIQAddrDCD③答:(1)(2)①;②;③。(3)41、硬件接線如題41圖所示,要求實現如下功能:(1)當按鍵K1按下時,發光二極管D1、D2交替閃爍,閃爍周期為1s,即D1點亮0.5s,此時D2熄滅;然后D1熄滅0.5s,此時D2點亮。如此循環往復。(2)當按鍵K1釋放時,發光二極管D1、D2同步閃爍,閃爍周期為1s,即D1點亮0.5s,此時D2也點亮;然后D1熄滅0.5s,此時D2也熄滅。如此循環往復。試完善下述程序。#include"LPC213XREG.h"voiddelay_ms(unsignedintt);intmain(void){rPINSEL1.nibbles.n0=0;/*設置P0.16、P0.17為GPIO引腳*/rPINSEL0.field.p0_15=0;/*設置P0.15為GPIO引腳*/rlO0DIR.field.dl6=1;/*設置P0.16為輸出*/①;/設置P0.17為輸出*/②;/設置P0.15為輸入*/while(1){if(rIO0PIN.field.d15==0)/*按K1按下*/{if(rIO0SET.field.d16){rIO0CLR.field.d16=1;/*熄滅D1*/③;/點亮D2*/}else{④;/*點亮D1*/⑤;/*熄滅D2*/}⑥;/*延時*/}else{if(rIO0SET.field.d16){rIO0CLR.field.d16=1;/*熄滅D1*/⑦;/*熄滅D2*/}else{⑧;/*點亮D1*/⑨;/*點亮D2*/⑩;/*延時*/}}voiddelay_ms(unsignedintt)/*t為延時的ms數*/{constunsignedintcclk=60000000;/*芯片主頻為60MHz*/constunsignedintloop_clks=10;volatileunsignedintn;n=(cclk/1000/loop_clks)*t;while(n--);return答:①;②;③;④;⑤;⑥;⑦;⑧;⑨;⑩。

2016年10月高等教育自學考試《微型計算機原理與接口技術》試題課程代碼:02205一、單項選擇題1、CPU中包含的馮,諾依曼結構計算機部件有A、控制器和運算器B、寄存器和存儲器C、存儲器和運算器D、控制器和I/O設備2、二進制數01010100B的十六進制表示是A、84HB、124HC、54HD、45H3、C語言程序的源文件的擴展名是A、cB、cppC、objD、exe4、下列變量名中,合法的變量名是A、_abcB、forC、2bcD、main5、已知a是整型變量,下列C語言條件語句中,功能與其他語句不同的是A、if(a!=0)x=~a;elsex=a;B、if(a==0)x=~a;elsex=a;C、if(a)x=~a;elsex=a;D、if(!a)x=a;elsex=~a;6、執行下列語句后變量s的值是s=0;for(k=1;k<9;k+=2)s+=k;A、16B、24C、25D、367、存儲一個32位數0x1234567到2000H~2003H四個字節單元中,若以大端模式存儲,則2000H存儲單元的內容為A、0x12B、0x56C、0x67D、0x018、ARM處理器的內部寄存器R13除了可以作為通用寄存器外,還可以作為A、程序計數器B、鏈接寄存器C、堆棧指針寄存器D、程序狀態寄存器9、在串行通訊中,每秒鐘內硬件所產生的信號單元變化的次數稱為A、比特率B、時鐘頻率C、波特率D、分辨率10、異步傳輸數據幀格式中,不是必選部分的是A、起始位B、數據位C、奇偶校驗位D、停止位11、關于ARM處理器的異常的描述中,不正確的是A、復位屬于異常B、除數為零會引起異常C、異常都要返回D、外部中斷會引起異常12、復位后,LPC2138處理器所處的模式及狀態分別是A、用戶模式,Thumb狀態B、系統模式,ARM狀態C、管理模式,ARM狀態D、系統模式,Thumb狀態13、在串行異步通訊方式中,發送端DTE的TxD要和接收端DTE的哪個相連接?A、TxDB、RxDC、RTSD、CTS14、CPSR寄存器中反映處理器狀態的位是A、J位B、I位C、F位D、T位15、8位D/A轉換器,其最大輸出電壓為5V,若輸入數據為10H,則輸出的電壓為(V)A、B、C、D、16、FIQ異常處理能滿足快速響應的原因是A、進入FIQ中斷處理前無需保存CPSRB、進入FIQ中斷處理前無需切換運行模式C、FIQ運行模式級別最高D、FIQ請求具有最高的優先級二、填空題17、如果雙精度變量x=123.456;,則語句printf("%e",x);的輸出是。18、如果有符號整型對象占用4個字節的內存空間,則可表示的值范圍為。19、下面是計算1+2+3+……+n的遞歸函數(n≥0),請填空。intsum(intn){if(n==0)return0;;}20、函數fun的功能是計算一組實型數的平均值,請填空。doublefun(){doublesum=0;intk;for(k=O;k<n;++k)sum+=a[k];returnsum/n;}21、如果x是字符型變量,判斷x中的字符是否是小寫字母的表達式是。22、設計算機以小端模式工作,且血型占4個字節。已知字符'A'的ASCII碼值為41H,設有定義:union{unsignedintdata;unsignedcharpos[4];}s,*p=&s;則執行語句s.data=0x41434547;與通過指針p訪問data成員的語句是等價的,且執行printf("%c\n",s.pos[1];的結果是。23、在周期為20Hz,占空比為2/3的方波中,每個周期高電平持續的時間為。24、在ARM處理器的運行模式下,程序可以訪問所有系統資源,也可以任意地進行處理器模式切換。25、A/D轉換是指將信號轉換為二進制數。在A/D轉換中,若輸入模擬信號中最高頻率分量是10MHz,則最低采樣頻率為。26、用D/A轉換器能分辨出來的最小輸出電壓與最大輸出電壓的比值來表示一個n位的D/A轉換器的分辨率為。27、在LPC2138處理器中,中斷優先級為1~級,復位的中斷優先級是級。28、LPC2138提供個定時器。當定時器工作在匹配方式時,它對時鐘信號PCLK進行(選填:加或減)1計數。29、LED數碼管顯示“0”的共陽極顯示碼為C0H,共陰極顯示碼為H。三、改錯題每小題只有一處錯誤或不妥,請指出,并將其改正。30、#include<stdio.h>#definePI3.14;intmain(void){floatradius=22;printf("Circumferenceis%f\n",2*PI*radius);}錯誤:改正:31、下列函數的作用是使兩個整數相除得到一個實型的商,當除數為0時返回0。floatfunction(inta,intb){floats;if(b==0)s=0;elses=a/b;returns;}錯誤:改正:32、下面語句判斷變量a的值是否為3。if(a=3)printf("ais3\h");elsepfintf("aisnot3\n");錯誤:改正:33、某程序需要定義一個字節的位域如下:stuctpacked{unsignedcharbitArray1:6;unsignedcharbitArray2:3;}data;錯誤:改正:四、程序閱讀題請閱讀下列程序,寫出程序運行結果。34、#include<stdio.h>intfun(){staticintk=2;return++k;}intmain(void){intk;for(k=0;k<4;++k)printf("%d\t",fun());return0;}程序運行結果為:。35、#include<stdio.h>voidchanges(char*s){for(;*s!='\0';++s)*s=*s+1;intmain(void){charstr[]="LEFT";changes(str);printf("%s\n",str);return0;}程序運行結果為:。36、#include<stdio.h>intmain(void){charstr[]={"#3a8F#"};inti=0,dnum=0,hnum=0;while(str[++i]!='\0'{if(str[i]>='0'&&str[i]<='9')dnum=dnum*10+str[i]-'0';elseif(str[i]>='a'&&str[i]<='f')hnum=hnum*16+str[i]-'a'+10;elseif(str[i]>='A'&&str[i]<='F')hnum=hnum*16+str[i]-'A'+10;elsecontinue;}printf("%d,%d\n",dnum,hnum);return0;}程序運行結果為:。37、設已建立下述鏈表。typedefstructNode{intdata;structNode*next;}SNode;intfun(SNode*head){intsum=0;while(head){sum+=head->data;head=head->next;}returnsum;}函數fun的作用是:。調用fun(head)的結果為:。五、程序設計題根據題意編寫成完整的程序。38、編寫一個非遞歸函數fun,函數原型為intfun(char*s);,判斷作為參數傳入的一個字符串是否為回文?;匚氖钦x和倒讀都完全一樣的字符串。例如,若字符串為"abcdcba",就是一個回文。六、分析題39、通過LPC2138的D/A轉換器的引腳P0.25輸出波形的程序如下,試回答下述問題。(1)試畫出引腳P0.25的輸出波形。(2)輸出波形的最大值對應的D/A轉換器輸入數字量是多少?(3)試說明程序行①處語句:“uint32DAvalue:10;”中10的含義。(4)試說明程序行②處語句:“PINSEL1:0x00080000;"的含義。//文件名:main.c#include<LPC213X.h>typedefunsignedintuint32;typedefunsignedcharuint8;typedefunion{uint32data;struct{uint32:6;/*保留*/uint32DAvalue:10;/*①*/uint32bias:l;/*調節轉換性能和功率的控制位*/uint32:15;/*保留*/}field;}CReg_DA;/*D/A控制寄存器*/#defineRegDAC(*((volatileCReg_DA*)0xE006C000))intmain(void){uint32Aout,i;uint8fag;PINSEL1=0x00080000;/*②*/Aout=0;flag=0;while(1){if(flag==0)CReg_DA.field.DAvalue=Aout++;elseCReg_DA.field.DAvalue:Aout--;if(Aout==1023)flag=1;if(Aout==0)flag=0;for(i=0;i<300;i++);/*延時,以便觀察*/}}七、應用題40、異步串行數據通信是以字符幀為基本單位。假設題40圖所示波形圖表示異步串行通信接口接收到的1個字符幀,已知數據位7位,1位校驗位,2位停止位,請回答下述問題:(1)起始位所在的時間段為。(2)所采用的校驗方式為校驗。(3)接收的數據如果以二進制表示,則等于B。(4)如果題40圖中T1段的時間為0.1041ms,則波特率為bit/s。41、下述程序完成的功能是:LPC2138微控制器的定時器0每隔1s產生一次IRQ向量中斷,控制P0.4連接的LED燈閃爍。試將程序中空白橫線上所缺的正確內容填寫在題后對應編號的橫線上。//主程序:main.c#include<LPC123X.h>#defineLED_ON(((unsign

溫馨提示

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

評論

0/150

提交評論