第一章 計算機基礎
1-1 什麼是二進位?為什麼在數字系統、計算機系統中採用二進位?
1-2 將下列各數按權展開為多項式:
(1) 110110B(2) 5678.32D
(3) 1FB7H
1-3 把下列十進位數轉化為二進位、十六進位和8421 BCD碼:
(1) 135.625(2) 548.75
(3) 376.125(4) 254.25
1-4 什麼是原碼、反碼和補碼?微型計算機中的數為什麼常用補碼表示?
1-5 寫出下列十進位數原碼、反碼和補碼(用8位二進位表示):
(1) + x = + 65(2) + x = + 115
(3) - x = - 65(4) - x = - 115
1-6 計算下列兩組二進位數內部式子的邏輯「與」,「或」及「異或」的結果:
(1)10100101和00001111
(2)10011101和10100101
1-7 什麼是單片機?它與一般微型計算機在結構上有何區別?
1-8 新型8位單片機主要在哪些方面有所發展?給應用系統帶來什麼好處?
第二章 單片機系統組成原理
2-1 什麼是單片機?它與一般的微型計算機在結構上有何區別?
2-2 MSC-51單片機內部有哪些主要的邏輯部件?
2-3 MSC-51單片機程序存儲器和數據存儲器各有什麼功用?其內部RAM區功能結構如何分配?
2-4 在內部RAM中,4組工作寄存器使用時如何選用?位尋址區域的字節地址範圍是多少?
2-5 程序狀態字PSW的作用是什麼?常用標誌有哪些位?作用是什麼?
2-6 簡述定時器的四種工作模式的特點,如何選擇和設定?
2-7 當定時器T0用作模式3時,由於TR1位已被T0佔用,如何控制定時器T1的開啟和關閉?
2-8 已知8051單片機的fosc=12MHz用T1定時。試編程由P1.0和P1.1引腳分別輸出周期為2ms和500us的方波。
2-9 什麼是中斷?其主要功能是什麼?
2-10 什麼是中斷優先級?中斷優先處理的原則是什麼?
2-11 試編寫一段對中斷系統初始化的程序,使之允許,,T0,串行口中斷,且使T0中斷為高優先級中斷。
第三章 單片機指令系統
3-1 設內部RAM中59H單元的內容為50H,寫出當執行下列程序段後寄存器A,R0和內部RAM中50H,51H單元的內容為何值?
MOVA, 59H
MOVR0, A
MOVA, #00H
MOV@R0, A
MOVA, #25H
MOV51H, A
MOV52H, #70H
3-2 已知(A)=83H,(R0)=17H,(17H)=34H。請寫出執行完下列程序段後A的內容。
ANLA,#17H
ORL17H, A
XRLA, @R0
CPLA
3-3 使用位操作指令實現下列邏輯操作,要求不得改變未涉及位的內容。
(1)使ACC.0置1;
(2)清除累加器高4位;
(3)清除ACC.3,ACC.4, ACC.5, ACC.6。
3-4 試編寫程序,將內部RAM的20H,21H,22H三個連續單元的內容依次存入2FH,2EH,和2DH中。
3-5 編寫兩個16位數的減法:6F5DH-13B4H,結果存入內部RAM的30H,31H單元,30H存差的低八位。
3-6 兩個四位BCD碼相加,被加數和加數分別存於50H,51H,52H,53H單元中(次序為千位、百位在低地址中,十位、個位在高地址中),和數存放在54H,55H和56H中(56H用來存放最高位的進位),試編寫加法程序。
3-7 設指令SJMP rel中的rel=7EH,並假設該指令存放在2114H和2115H單元中。當該條指令執行後,程序將跳轉到何地址?
3-8 已知SP=25H,PC=2345H,(24H)=12H,(25H)=34H,(26H)=56H。問此時執行「RET」指令以後,SP=? PC=?
3-9 簡述轉移指令AJMP addr11,SJMP rel, LJMP addr16及JMP @A+DPTR的應用場合。
3-10 試分析下列程序段,當程序執行後,位地址00H,01H中的內容為何值?P1口的8條I/0線為何狀態?
CLRC
MOVA,#66H
JCLOOP1
CPLC
SETB01H
LOOP1:ORLC,ACC.0
JBACC.2,LOOP2
CLR00H
LOOP2:MOVP1,A
┇
第四章 彙編語言程序設計
4-1 從內部存儲器20H單元開始,有30個數據。試編一個程序,把其中的正數、負數分別送5H和71H開始的存儲單元,並分別記下正數、負數的個數送50H和70H單元。
4-2 以BUF1為起始地址的外存儲區中,存放有16個單字節無符號二進位數,試編一程序,求其平均值並送BUF2單元
4-3 在DATA1單元中有一個帶符號8位二進位數x。編一程序,按以下關係計算y值,送DATA2單元。
Y=x+5,x>0 Y=x,x=0 Y=x-5,x<04-4 試編寫延時2ms的程序
4-5 用查表程序求0~8之間整數的立方。
4-6 編寫有6個命令鍵的散轉程序。鍵號為0、1、2、3、4、5;
6個鍵A、B、C、D、1、2的ASCII碼放在累加器A中。