⑴ 單片機原理與應用習題答案
一、 填空題(每空1分,共30分)
1. 8031的片內ROM是 (0) KB;8052的片內ROM是 (4) KB。
2. 8031的PSW中RS1 =0、RS0 = 1,工作寄存器R0~R7的地址為 (08H~0FH) 。
3. 8031上電復位後,SP的初值為 (07H) 、PC的初值為 (0000H) 、P2的初值為 (0FFFFH) 。
4. 8031內部SFR的P1位元組地址為 (90H) ;對應的位地址 (??) 。
5. 在8051單片機系統中,控制線/EA接 (高/低) 電平;在8051單片機系統中,若僅用片內ROM時控制線/EA接 (高) 電平。
6. P3口中P3.5位的第二功能符號為 (T1計數埠) 。
7. 若要從8031的P1.7位輸入數據必須對該位先 (輸入1) 。
8. 若要對8031復位,RST端應保持高電位 (24) 個振盪周期。
9. 8031的5個中斷源為自然優先順序的入口地址為 (0003H) 。
10. 若要將累加器A中數據送入外部RAM地址7000H中,應使用的指令是 (MOV DPTR #7000H) 和 (MOVX @DPTR A) 。
11. 8031串列口為工作方式0時,若主頻為6MHz,則TXD輸出頻率為 (0.5) MHz。
12. 8031的T0中斷標志位是TF0,當有中斷請求時,TF0 = (1) , 當進入中斷服務程序時TF0 = (0) 。
⑵ 求:單片機原理及應用課後習題完整版答案 (機械工業出版社 徐泳龍 主編 倪驍驊副主編)
不用發郵箱了,你可以網路文庫下載 只需要1點財富值。
地址如下:
《單片機原理及應用》課後習題答案
http://wenku..com/view/2063cbd63186bceb19e8bba3.html
⑶ 求《單片機原理及應用》這本書習題的答案
買參考書
⑷ 單片機原理及應用課後習題答案 張迎新
單片機原理及應用華南理工大學 繼續教育學院
2009 年 第二學期 期末考試
《單片機原理及應用》試題A卷 2009年5月1日
考試時間:兩小時 (開卷)
班級:____________________ 班內編號:_________ 姓名:_________ 分數:________
一、填空題(每空1分,共50分)
1. 單片機是由CPU、存儲器、I/O介面及定時/計數器集成在一個晶元上組成的。
2. 十進制數25=16H(十六進制)=00010110B(二進制)。
3. 單片機的三匯流排可以分為地址匯流排、數據匯流排和控制匯流排。
4. 執行ANL A,#0FH後,累加器A的內容高4位是0000 。
5. 8051單片機共有5個中斷源,2個優先順序。
6. 能夠加間址符@的寄存器有R0、R1和DPTR 。
7. A/D轉換器是將模擬量轉換成數字量,D/A轉換器是將數字轉換成模擬量。
8. 8051單片機使用電源為 +5V
9. SP復位後內容為: 07H 。
10. 累加器(A)=0AH,執行完指令ADD A,#92H後,進位位C= 0 。
11. MCS-51片內20H~2FH范圍內的數據存儲器,既可以位元組定址又可以 位 定址。
12. ORL A,#0FH是將A的高四位清0,而低四位 保持不變 。
13. MCS-51串列口有4種工作方式,這可在初始化程序中用軟體填寫特殊功能寄存器 TMOD 加以選擇。
14. 確定單片機I/O介面晶元的片選信號的方法通常有兩種: 線選法 和 解碼法。
15. MOVC A,@A+DPTR源操作數定址方式為 變址定址 。
16. 8051單片機堆棧遵循數據後進先出(先進後出)的原則
17. 在立即定址方式中,在數前使用#號來表示立即數。
18. 在8051單片機中,加法指令可以分為帶進位的加法(或者ADDC)和不帶進位的加法(或者ADD)兩種。
19. 設8051外接12MHz的石英晶體,則一個機器周期的時間寬度為1us。
20. 8051單片機的匯編語言源程序的擴展名為ASM。
21. 當8051單片機復位後,程序的入口地址為0000H。
22. 8051單片機中的定時器/計數器有T0和T1兩個。
23. 顯示器的顯示方式有:___靜態顯示____和__動態顯示___兩種。
24. 單片機匯編語言程序有三種基本結構,分別是:_順序結構_、 _分支結構 _和循環結構_。
25. LED顯示器中的發光二極體的兩種連接方法是_共陰極接法_和__共陽極接法_。
26. 8051單片機內部數據存儲器,即內RAM中位定址區的地址范圍是__20H-2FH_;工作寄存器區的地址范圍是__00H-0FH___。
27. 位轉移指令都是採用 相對 定址方式實現轉移的.
28. 執行了DIV AB指令後,則商存放在 A 中,余數存放 B 中。
29. 子程序必須使用 RET 指令返回主程序,而中斷服務程序必須使用 RETI 指令返回主程序。
二、選擇題(每小題2分,共30分)
1、一個完整的系統通常包括( B )。
A.系統軟體和應用軟體 B. 硬體系統和軟體系統C. 計算機及外設 D.硬體和系統軟體
2、EPROM是指( D )。
A. 隨機存儲器 B.電擦除的只讀存儲器 C.只讀存儲器 D.紫外線可擦除的只讀存儲器
3、先判斷後循環的循環程序結構中,循環體至少被執行( A )次。
A.0 B.1 C.2 D.3
4、MCS-51系列單片機的CPU是(B )位的。
A.4位 B.8位 C.16位 D.32位
5、8031的內部RAM中,用作位定址的單元地址是(B )。
A.00H-1FH B.20H-2FH C.30H-4FH D.50H-6FH
6、12MHz晶振的單片機在定時方式下,定時器可能實現的最小定時時間是(D ) 。
A.8us B.4us C.2us D.1us
7、在單片機擴展系統中,8031地址匯流排和數據匯流排分時復用所用埠是( D )。
A. P3口 B. P1口 C. P2口 D. P0口
8、在MCS-51單片機中,惟一一個可供用戶使用的16位寄存器是 (C) 。
A.PWS B.ACC C.DPTR D.PC
9、Jz rel指令中,是判斷 (A) 中的內容是否為0。
A.A B.B C.C D.PC
10、訪問擴展的外部程序存儲器的時候,應在程序中使用(C) 。
A.MOV指令 B.MOVX指令 C.MOVC指令 D.SWAP指令
11、在計算機中,字元的編碼普遍採用的是 D 。
A.BCD碼B.十六進制C.格雷碼D.ASCII碼
12、 在單片機中,用作標志寄存器的一個特殊功能寄存器是 A
A.PSW B.DPTR C.PC D.B
13、指令MOV A,30H源操作數的定址方式是 C 。
A.寄存器定址方式 B.寄存器間接定址方式
C.直接定址方式 D.立即定址方式
14、在生產過程中完成程序寫入的只讀存儲器稱為 A 。
A.掩膜ROM B.PROM C.EPROM D.E2PROM
15、8051單片機的兩個定時器/計數器是 C 。
A.14位加法計數器 B.14位減法計數器 C.16位加法計數器 D.16位減法計數器
三、簡答題(每題為4分,共20分)
1、寫出8051單片機中5個中斷源的名稱和對應的中斷服務程序入口地址。(5分)
外部中斷0,入口地址0003H(1分)
定時器0,入口地址000BH(1分)
外部中斷1,入口地址0013H(1分)
定時器1,入口地址001BH(1分)
串列口中斷,入口地址0023H(1分)
2、採用6MHz的晶振,定時1ms,用定時器方式0時的初值應為多少?(請給出計算過程)
答案:採用6MHZ晶振,機器周期為2us
(213-X)×2×10-6=1×10-3
X=7692(D)=1E0CH=1 1110 0000 1100(B),
化成方式0要求格式為 1111 0000 1100 B
即0F00CH
綜上可知:TLX=0CH, THX=0F0H
3、請用數據傳送指令來實現下列要求的數據傳送。(8分)
(1)把R0的內容送到R1
(2)內部RAM20H單元的內容傳送到A中。
(3)外部RAM2000H單元的內容送到R0。
(4)外部ROM1000H單元的內容送內部RAM20H單元。
說明:第1小題中操作功能的實現都可以採用多種方法實現,這里僅給出一種答案,用其他指令形式能正確實現的同樣給滿分。具體得分情況看學生的指令。2-4小題不一定要寫出標准答案,只要主要意思解釋正確清楚,可以得全分。
(1)MOV A,R0 (1分)
MOV R1,A (2分)
(2)MOV A,20H (3分)
(3)MOV DPTR,#2000H(1分)
MOVX A,@DPTR(1分)
MOV R0,A (1分)
(4)MOV DPTR,#1000H
MOV A,#00H(1分)
MOVC A,@A+DPTR(1分)
MOV 20H,A
4、說明MCS-5l系列單片機4個I/O埠使用上的分工和操作上的主要特點。
解答:
P0埠提供程序存儲器或外部數據存儲器的低8位地址。P0埠還作為數據I/O埠使用,是分時復用的地址/數據線。
Pl埠一般作為數據I/O埠使用。
P2埠提供程序存儲器或外部數據存儲器的高8位地址。
P3埠可以提供第2功能線,當某一埠線不需要工作於第2功能時,可作數據I/0埠使用。
5、什麼是單片機系統的擴展?擴展包括哪些方面的內容?
單片機的擴展是指內部資源不夠用的時候,必須外接相應的晶元,構成應用系統。擴展存儲器、IO介面、定時/計數器等.
⑸ 我想用單片機實現電子表功能,參考於宋彩利編的《單片機原理與C51編程》的程序,目前運行有問題,請多指教
以下就是該題的全部程序,請高手指點~~~~~~
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char //定義0~9共陰顯示
code uchar Table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
sbit CLK1=P1^0;
sbit SDA1=P1^1;
sbit CLK2=P1^3;
sbit SDA2=P1^4;
sbit KEY=P1^2;
sbit SOUND=P1^7;
int h1,m1,s1;
int h2,m2,s2;
int count1,count2;
uchar dis[6];
void delay() //延時程序
{
unsigned int j;
for(j=0;j<100;j++)
{}
}
void send1(unsigned char a) //74HC164
{
unsigned char i;
for(i=0;i<8;i++)
{ if(_crol_(a,i)&0x80)
SDA1=1;
else
SDA1=0;
CLK1=0;
CLK1=1;
}
}
void send2(unsigned char a)
{
unsigned char i;
for(i=0;i<8;i++)
{
if(_crol_(a,i)&0x80)
SDA2=1;
else
SDA2=0;
CLK2=0;
CLK2=1;
}
}
void display(int h,int m,int s)
{
int i,x,com=0xfe;
dis[0]=h/10;dis[1]=h%10; //時
dis[2]=m/10;dis[3]=m%10; //分
dis[4]=s/10;dis[5]=s%10; //秒
for(i=0;i<6;i++) //顯示位數
{ x=send2(0xff);
Table[dis[i]]; //黑屏
send1(x); //發送段碼
send2(com); //發送位碼
delay(); //延時
com=_crol_(com,1); //改變位碼
}
}
void time_add(int h,int m,int s) //加時程序
{
s++;
if(s==60)
{ m++;
s=0;
if(m==60)
{ h++;
m=0;
if(h==24)
{ h=0;
}
}
}
}
void time_dec(int h,int m,int s) //減時程序
{
s--;
if(s<0)
{ m--;
s=59;
if(m<0)
{ h--;
m=59;
if(h<0)
{ h=23;
}
}
}
}
void time0_int(void) interrupt 1 //定時/計數器0
{ TH0=-0x3c;
TL0=0xb0;
count1++;
if(count1==20)
{ time_add(h1,m1,s1);
count1=0;
}
}
void time2(void) interrupt 3 //定時/計數器1
{
TH1=0xFD;
TH1=0x80;
SOUND=~SOUND; //揚盪發聲
if(count2==1000)
{
TR1=0;
count2=0;
}
}
void main(void) //主程序
{
int flag;
unsigned char jkey ,i;
TMOD=0x11;
IE=0x8A;
TR0=1;TR1=0; //啟動T0,停止T1
while(1)
{
jkey=0xfe;
flag=0;
for(i=0;i<6;i++)
{
send1(jkey);
if(!KEY)
{ flag=1;break;}
else
jkey=_crol_(jkey,1);
}
if(flag==1)
{
switch(i)
{
case 0:{TR0=1;display(h1,m1,s1);break;}
case 1:{TR0=0;display(h1,m1,s1);break;}
case 2:{time_add(h1,m1,s1);display(h1,m1,s1);break;}
case 3:{time_dec(h1,m1,s1);display(h1,m1,s1);break;}
case 4:{time_add(h2,m2,s2);display(h1,m1,s1);break;}
case 5:{time_dec(h2,m2,s2);display(h1,m1,s1);break;}
}
}
else //如果無按鍵按下,顯示當前
display(h1,m1,s1); //鬧鈴
if(h1==h2&&m1==m2&&s1==s2)
{TR1=1;}
}
}
⑹ 單片機原理與應用》課程 練習題1 答案
二 1. 當MCS51單片機的特殊功能寄存器TMOD=52H時,其定義的功能是什麼?
答:化成二進制是01010010,根據TMOD控制字的內容,其表示的功能應該是計數器1、方式1;計數器0、方式3.
2. 要求MCS51單片機CTC0定時10MS,則其計數初值THO/TL0應為多少?
答:看是方式幾了,和晶振頻率是多少了
假設是常用的方式1,晶振頻率為12MHZ,則計數初值X=65536-10000/1=55536,其十六進制為D8F0H,故而TH0=0D8H,TL0=0F0H.
第三題全錯!
第四題是不是題抄錯了,看不懂哦......
五、編程,將8031單片機片內RAM 20H至2FH單元中的數據順序移到50H至5FH單元中。
ORG 0000H
MOV R0,#20H
MOV R1,#50H
MOV R7,#10H
L00P: MOV A,@R0
MOV @R1,A
INC R0
INC R1
DJNZ R7,LOOP
END
六、編程,將8031單片機片外RAM 1000H至103FH地址單元中的數據順序移入片內 RAM從20H開始的地址空間中。
ORG 0000H
MOV DPTR,#1000H
MOV R0,#20H
MOV R7,#40H
LOOP: MOVX A,@DPTR
MOV R0,A
INC DPTR
INC R0
DJNZ R7,LOOP
END