版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
一、填空題請完成下列數(shù)制間的轉(zhuǎn)換:
(00100110)B=()D;(10011010)B=()H根據(jù)一次傳送數(shù)據(jù)位的多少,單片機(jī)傳送數(shù)據(jù)的方式分為兩種,即
方式和方式。假定(A)=22H,(R0)=66H,(66H)=FFH,執(zhí)行指令:
ADDA,@R0后,累加器A的內(nèi)容為,CY內(nèi)容為。個人電腦(PC)存儲器采用的結(jié)構(gòu)為普林斯頓結(jié)構(gòu),其特點(diǎn)是數(shù)據(jù)存儲器和程序存儲器統(tǒng)一編址,即存放在同一存儲器中;而51單片機(jī)的存儲器結(jié)構(gòu)為
結(jié)構(gòu),其特點(diǎn)是。單片機(jī)中有個并行口,個串行口。單片機(jī)能夠識別的語言是,但該語言記憶非常不方便,因此我們通常編寫單片機(jī)程序使用的語言是;對編程效率要求很而執(zhí)行效率要求不高的時候,還可以使用C語言對單片機(jī)進(jìn)行編程。執(zhí)行指令JZNEXT時,當(dāng)A等于時程序發(fā)生跳轉(zhuǎn)。單片機(jī)上電復(fù)位后P3=H,SP=H。某單片機(jī)晶振頻率為6MHZ時,則該單片機(jī)的一個機(jī)器周期為。單片機(jī)系統(tǒng)復(fù)位后(PSW)=00H,此時內(nèi)部RAM寄存器區(qū)當(dāng)前寄存器組是
第組,該組寄存器的單元地址范圍為至。程序狀態(tài)寄存器PSW的作用是用來保存程序運(yùn)行過程中的各種狀態(tài)信息,其中CY為標(biāo)志。二、選擇題89C51單片機(jī)內(nèi)部ROM的容量是 ( )
A、128B B、4KB C、256B D、64KB8051單片機(jī)的四個并行口P0、P1、P2、P3,用作通用I/O口時,在讀數(shù)據(jù)之前必須進(jìn)行的操作是: ( )
A、寫0 B、寫1 C、讀 D、隨便MOV@R0,#99H源操作數(shù)的尋址方式是 ()
A.位尋址 B.立即數(shù)尋址C.寄存器尋址 D.寄存器間接尋址在中斷服務(wù)程序中,至少應(yīng)有一條 ()
A.加法指令 B.減法指令 C.跳轉(zhuǎn)指令 D.中斷返回指令下列哪個不屬于中斷服務(wù)程序的入口地址 ( )
A、0003H B、000BH C、0013H D、00020H對程序存儲器的讀操作,只能使用指令 ()
A、MOVX B、PHSH C、MOV D、MOVC8051單片機(jī)的定時/計數(shù)器共有四種操作模式,由TMOD寄存器中M1M0的數(shù)值決定,當(dāng)M1M0的數(shù)值為00B時,定時/計數(shù)器被設(shè)定為 ( )
A、13位定時/計數(shù)器 B、自動重裝8位定時/計數(shù)器
C、16位定時/計數(shù)器 D、T0為2個獨(dú)立的8位定時/計數(shù)器下列說法是錯誤的是 ( )
A、PC是不可尋址的
B、單片機(jī)的主頻越高,其運(yùn)算速度越快
C、在MCS-51單片機(jī)中,一個機(jī)器周期等于1us
D、特殊功能寄存器SP內(nèi)裝的是堆棧頂部的地址定時/計數(shù)器T0計數(shù)滿產(chǎn)生溢出后,會向CPU發(fā)出中斷請求,若此時CPU允許并接受該中斷請求,則程序計數(shù)器PC的內(nèi)容將被自動修改為 ( )
A、0003H B、000BH
C、0013H D、001BH下列有關(guān)MCS-51中斷優(yōu)先級控制的敘述中,錯誤的是 ( )
A、同級中斷不能相互中斷
B、低優(yōu)先級不能中斷高優(yōu)先級,但高優(yōu)先級可以中斷低優(yōu)先級
C、同級中斷請求按單片機(jī)查詢的次序依次響應(yīng)
D、多個同級中斷同時申請中斷時系統(tǒng)將同時響應(yīng)8051有四個工作寄存器組,單片機(jī)復(fù)位后,若執(zhí)行SETBRS1指令,此時單片機(jī)使用的工作寄存器組是第幾組? ( )
A、0組 B、1組 C、2組 D、3組在大型程序設(shè)計中,通常采用的程序設(shè)計的步驟為: ()
A、無所謂
B、先畫流程圖,再劃分功能模塊,最后寫程序
C、先劃分功能模塊,再畫各模塊的流程圖,最后寫各模塊的程序
D、先寫程序,再畫流程圖,最后劃分功能模在進(jìn)行串行通信中,兩機(jī)可同時發(fā)送和接收的工作方式為 ( )
A、單工傳送 B、半雙工傳送
C、雙工傳送 D、全雙工傳送PC中的內(nèi)容是 ( )
A、當(dāng)前指令的前一條指令的地址B、當(dāng)前正在執(zhí)行的指令的地址
C、下一條將執(zhí)行指令的首地址D、控制器中指令寄存器的地址51單片機(jī)響應(yīng)中斷時,不一定要滿足的條件是 ( )
A、TCON或SCON寄存器內(nèi)的有關(guān)中斷標(biāo)志位為1
B、中斷允許寄存器內(nèi)對應(yīng)的中斷允許位為1
C、中斷優(yōu)先級寄存器內(nèi)對應(yīng)的優(yōu)先級位為1
D、三、編程題試編程把8051內(nèi)部RAM30H-3FH各單元的內(nèi)容清零。試編程統(tǒng)計片內(nèi)RAM30H-3FH單元中數(shù)據(jù)99H的個數(shù)。
四、解答題簡述單片機(jī)的組成結(jié)構(gòu)和功能特點(diǎn)。
簡述89C51與87C51的區(qū)別及字母“C”的含義;并簡述8051與8031的區(qū)別。
比較單片機(jī)與PC機(jī)的優(yōu)缺點(diǎn),并舉例說明兩者在生活生產(chǎn)中的應(yīng)用范圍有何不同。
參考答案填空題(每空1分,共20分)38,9A;串行方式,并行方式;21H,1;哈佛,數(shù)據(jù)和程序存儲器分開,獨(dú)立編址;4,1;機(jī)器語言 ,匯編語言;0;FFH,07H;1us;0,00H,07H;進(jìn)位借位選擇題(每題2分,共30分)1-5:BBDDD 5-10:AACCD11-15:CCDDA編程題(每題10分,共20分)解:ORG0000H
MOVR0,#30HNEXT: MOV@R0,#00HINCR0
CJNER0,#40H,NEXT
LJMP$
END2、解: ORG0000H MOVA,#00H MOVR0,#30HLOOP: CJNE@R0,#99H,NEXT INCANEXT: INCR0 CJNER0,#40H,LOOP LJMP$ END簡答題(每小題10分,共30分)答:堆棧的存取規(guī)則:存時先SP加1,再存放數(shù)據(jù),取時先取數(shù)據(jù)再SP減1
………4分執(zhí)行PUSHB:先將SP的內(nèi)容加1,變?yōu)?8H,再將B的內(nèi)容放到08H地址單內(nèi)。
………3分
執(zhí)行POPACC:先將SP所指向的地址單元08H的內(nèi)容取出,并放入寄存器ACC中,然后將SP的內(nèi)容減1,變?yōu)?7H
………3分答:89C51內(nèi)部ROM為可電擦寫的Flash型87C51內(nèi)部ROM為EPROM型“C”代表該單片機(jī)為CHMOS工藝制造,其電平與TTL、CMOS電平兼容8051內(nèi)部有4KB的掩膜型ROM,而8031內(nèi)部沒有任何ROM答:體積:單片機(jī)體積小,安裝簡單,使用方便,特別是一些控制功能簡單的系統(tǒng)中;PC機(jī)體積大,只能應(yīng)用于大型工程項目中。
價格:單片機(jī)價格便宜,可應(yīng)用于價格低廉的產(chǎn)品中;PC機(jī)價格高很多,在大型工程項目中才具有一定的性價比。
速度:單片機(jī)運(yùn)行速度低,只能應(yīng)用于控制性能要求低,計算量小的場合;PC機(jī)處理速度很高,可應(yīng)用于對處理速度要求很高,數(shù)據(jù)處理量很大的場合。
容量:單片機(jī)存儲器容量小,程序很小,能實現(xiàn)的功能有限;PC機(jī)存儲器容量很大,可編寫程序大,實現(xiàn)很復(fù)雜的控制功能。
編程應(yīng)用:單片機(jī)采用匯編語言或C語言編程,速度慢,效率低,能實現(xiàn)的功能簡單。PC機(jī)可采用高級語言編程,編程效率高,能實現(xiàn)可視化控制。四、編程題編寫一個程序,包含三個任務(wù),一個任務(wù)監(jiān)控P0端口,另一個任務(wù)向P2端口寫數(shù)據(jù),第三個任務(wù)通過串口輸出字符串。答:四、編程題開發(fā)一個單片機(jī)程序,接收計算機(jī)通過串口發(fā)送的數(shù)據(jù)流,將其中的小寫字符轉(zhuǎn)換為大寫字符,并回送給計算機(jī)。答:#include<string.h> //頭文件#include<stdio.h>#include<reg51.h>void main(void) //主函數(shù){chara;charc; SCON=0x50; //串口模式1,允許接收 TMOD|=0x20; //初始化T1為定時功能,模式2 PCON|=0x80; //設(shè)置SMOD=1 TL1=0xF4; //波特率4800bit/s,初值 TH1=0xF4; IE|=0x90; //中斷 TR1=1; //啟動定時器while(1){printf("Enterachar\n");scanf("%c",&a); //輸入數(shù)據(jù)c=toupper(a);printf("a=%c,c=%c\n",a,c);}}四、編程題開發(fā)一個寫I2C答:利用單片機(jī)的P1.0、P1.1作為I2C串行總線的SCL、SDA接口,向AT24C#include<reg51.h>/***************************************************************************/#defineWriteDeviceAddress0xa0 //寫器件地址#defineReadDviceAddress0xa1 //讀器件地址/***************************************************************************/sbitSCL=P1^0; //I2C時鐘線SCLsbitSDA=P1^1; //I2C數(shù)據(jù)線SDAsbitDOG=P3^7; //程序運(yùn)行標(biāo)志及數(shù) //據(jù)讀寫正確標(biāo)志/***************************************************************************//*這部分是前面的各個C語言讀寫子程序,這里省略*//***************************************************************************/voidmain(){ unsignedcharwriteByte[8]={0xC0,0x34,0x12,0x11,0x22,0x01,0x00,0x00}; //需要寫的8個字節(jié)USB數(shù)據(jù)ID unsignedcharreadByte[8]; //用于存讀入的8個字節(jié)數(shù)據(jù) unsignedchar*addw; //寫數(shù)據(jù)指針操作 unsignedchar*addr; //讀數(shù)據(jù)指針操作 unsignedchari; unsignedcharok=0; bitwrite=1; //讀寫標(biāo)志 DOG=0; while(1) { if(write==1) //當(dāng)write==1時,執(zhí)行寫和讀操作 { addw=writeByte; //寫地址映射 addr=readByte; //讀地址映射 WriteI2C(addw,0x00,8); //寫數(shù)據(jù) ReadI2C(addr,0x00,8); //讀數(shù)據(jù) for(i=0;i<8;i++) //判斷每個字節(jié)讀寫是否一致 { if(writeByte[i]==readByte[i]) { ok++; } } if(ok==8) { DOG=1; //當(dāng)讀寫一致時,P3.7輸出高電平 } else { DOG=0; //當(dāng)讀寫不一致時,P3.7輸出低電平 } write=0; //置write==0,讀寫完畢 } }}四、編程題編寫一個程序,單片機(jī)外接4×4陣列式按鍵鍵盤和蜂鳴器,根據(jù)按鍵鍵值的不同使蜂鳴器響相應(yīng)的次數(shù)。答:#include<stdio.h> //頭文件#include<reg52.h> //頭文件introw; //定義行號inttier; //定義列號intKeyScan(); //子函數(shù)聲明voidDelay();voidmain() //主函數(shù){intKey,i;while(1) //開始循環(huán)掃描鍵盤{ Key=KeyScan(); //鍵盤掃描子函數(shù) for(i=0;i<Key;i++) //根據(jù)鍵值,使蜂鳴器響相應(yīng)的次數(shù) { P2=0x01; // Delay(); P2=0x00; // Delay(); }}}voidDelay() //延時子函數(shù){longi;for(i=10000;i>0;i--); //可以根據(jù)系統(tǒng)的時鐘頻率來調(diào)整}intKeyScan() //鍵盤掃描子函數(shù){P1=0xF0; //列輸出全0if((P1&0xF0)!=0xF0) //掃描行,如果不全為0,則進(jìn)入{ switch(P1) //獲得行號 { case0x70: row=1; break; case0xB0: row=2; break; case0xD0: row=3; break; case0xE0: row=4; break; default: break; } Delay(); //延時去抖動 P1=0x0F; //行輸出全0 if((P1&0x0F)!=0x0F) //掃描列,如果不全為0,則確認(rèn)按鍵按下 { switch(P1) //獲得列號 { case0x07: tier=1; break; case0x0B: tier=2; break; case0x0D: tier=3; break; case0x0E: tier=4; break; default: break; } return4*(row-1)+tier; //掃描到按鍵,返回鍵值 }}else{ return0; //未掃描到按鍵按下,返回0}}四、編程題按照圖15-16所示,編寫一個擴(kuò)展并行輸入口。圖15-16擴(kuò)展并行輸入口#include<reg51.h> //頭文件sbitP_S=P2^0; //聲明P_Svoid main(void) //主函數(shù){inti;SCON=0x10; //串行口模式0的初始化,RI清零,并啟動接收ES=0; //禁止串行中斷P_S=1; //并行數(shù)據(jù)送入CD4014P_S=0; //CD4014串行數(shù)據(jù)輸出while(RI) //查詢RI,等待接收完畢{RI=0; //RI清零i=SBUF; //讀出數(shù)據(jù)}}四、編程題使用定時器/計數(shù)器的工作模式0來擴(kuò)展單片機(jī)的外部中斷。答:使用定時器/計數(shù)器T0擴(kuò)展外部中斷,由P3.4引腳作為外部中斷的輸入。程序如下:#include<reg51.h> //頭文件voidT0ISR(void)interrupt1 //定時器T0中斷響應(yīng){TL0=0x1F; //重置計數(shù)初值TH0=0x0FF;P1=~P1; //反相}void main(void) //主函數(shù){TMOD=0x04; //設(shè)置定時器T0為模式0TL0=0x1F; //初始化TH0=0x0FF;TR0=1;ET0=1;EA=1; //開中斷while(1) //主循環(huán){}}四、編程題編寫一個和PC串口通信的程序,使用定時器/計數(shù)器設(shè)置合適的波特率。#include<ctype.h> //頭文件#include<stdio.h>#include<reg51.h>void main(void) //主函數(shù){unsigned char i; //變量聲明char *ch; SCON=0x50; //串口模式1,允許接收 TMOD|=0x20; //初始化T1為定時功能,工作于模式2 PCON|=0x80; //設(shè)置SMOD=1 TL1=0xF4; //波特率4800bit/s,初值 TH1=0xF4; IE|=0x90; //中斷 TR1=1; //啟動定時器for(i=0;i<128;i++) //循環(huán)輸出{ ch=(islower(i)?"YES":"NO"); //調(diào)用islower函數(shù) printf("islower(%c)=%s\n",i,ch); //輸出結(jié)果 }}四、編程題編寫一個單片機(jī)硬件加法的程序,從計算機(jī)串口輸入兩個整型數(shù)據(jù),在單片機(jī)中相加,然后向計算機(jī)返回計算結(jié)果。#include<string.h> //頭文件#include<stdio.h>#include<reg51.h>void main(void) //主函數(shù){inta;intb;longc; SCON=0x50; //串口模式1,允許接收 TMOD|=0x20; //初始化T1為定時功能,模式2 PCON|=0x80; //設(shè)置SMOD=1 TL1=0xF4; //波特率4800bit/s,初值 TH1=0xF4; IE|=0x90; //中斷 TR1=1; //啟動定時器printf("Entertwonumber\n");scanf("%d%d",&a,&b); //輸入整型數(shù)據(jù)c=a+b;printf("a=%d,b=%d,c=%ld\n",a,b,c);}四、編程題編寫一個單片機(jī)硬件加法的程序,從計算機(jī)串口輸入兩個整型數(shù)據(jù),在單片機(jī)中相加,然后向計算機(jī)返回計算結(jié)果。#include<string.h> //頭文件#include<stdio.h>#include<reg51.h>void main(void) //主函數(shù){inta;intb;longc; SCON=0x50; //串口模式1,允許接收 TMOD|=0x20; //初始化T1為定時功能,模式2 PCON|=0x80; //設(shè)置SMOD=1 TL1=0xF4; //波特率4800bit/s,初值 TH1=0xF4; IE|=0x90; //中斷 TR1=1; //啟動定時器printf("Entertwonumber\n");scanf("%d%d",&a,&b); //輸入整型數(shù)據(jù)c=a+b;printf("a=%d,b=%d,c=%ld\n",a,b,c);}四、編程題編寫一個程序來統(tǒng)計成績在80~90之間的學(xué)生,并輸出學(xué)生信息。#include<stdio.h> //頭文件structstudent //定義結(jié)構(gòu){char*name; //姓名int num; //學(xué)號int age; //年齡char*sex; //性別floatscore; //分?jǐn)?shù)}boy[5]={ //聲明并初始化結(jié)構(gòu)數(shù)組{"Alice",100,24,"F",90.5},{"Bob",101,24,"M",90.0},{"Jack",102,25,"M",88.5},{"Twis",103,23,"M",78.5},{"Bohm",104,21,"M",82.5}};voidmain() //主函數(shù){inti;for(i=0;i<5;i++) //循環(huán){ if(boy[i].score>=80.0&boy[i].score<90.0) //判斷分?jǐn)?shù)輸出 printf("%s%d%d%s%f\n",boy[i].name,boy[i].num,boy[i].age,boy[i].sex,boy[i].score);}}四、編程題編寫一個使用指針數(shù)組來存放不同長度字符串的程序。#include<stdio.h> //頭文件voidmain() //主函數(shù){intk;char*pwee
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 技術(shù)入股權(quán)益分配協(xié)議
- 跨國工程項目貸款合同示范文本
- 商品雞苗購銷協(xié)議書2024年
- 第5章-核反應(yīng)堆流體力學(xué)-核工程概論課件
- 商用場所裝修合同
- 加工貿(mào)易協(xié)議范本
- 大數(shù)據(jù)分析技術(shù)合作合同樣本
- 授權(quán)額度借款合同范本
- 餐廳轉(zhuǎn)讓合同書
- 應(yīng)屆畢業(yè)生就業(yè)實習(xí)合同樣本
- 小學(xué)道德與法治-119的警示教學(xué)課件設(shè)計
- 浸塑圍網(wǎng)施工方案
- 《驕人祖先 燦爛文化》 單元作業(yè)設(shè)計
- 校園廣場景觀設(shè)計教學(xué)課件
- 關(guān)于河源地區(qū)高中物理開展“大單元教學(xué)設(shè)計”的調(diào)查問卷分析報告
- 第十三講 全面貫徹落實總體國家安全觀PPT習(xí)概論2023優(yōu)化版教學(xué)課件
- 上海市房屋租賃合同
- 五年級【美術(shù)(人美版)】動態(tài)之美(一)-課件
- 偏癱病人的體位轉(zhuǎn)移
- 全草類中藥的鑒定
- 光伏儲能式一體化充電站項目可行性研究報告
評論
0/150
提交評論