?一、選擇題
@DPTR是16位的,所以尋址范圍是64KB
R1是8位的,只能尋址256
訪問內部ROM只能用MOVC指令
一個指令周期是時鐘周期的1/12
12個時鐘周期是一個機器周期
單指令周期是指一個機器周期
T = 1 / f
12MHz ~ 1us
- 13位計數
- 16位計數
- 8位自動重裝載
- 雙8位計數器
內部RAM可以位尋址的一共16個字節
工作寄存器一共32個字節
中斷優先級的優先級一樣時,有默認查詢順序
方式2→3位自動重裝載
6MHz ~ 2us
200us / 2us → 100 → 64H
51單片機有5個中斷
51單片機高電平復位,所以正常工作時應該是低電平
二、簡答題
三、指出下列指令中源操作數的尋址方式及指令實現的功能
四、如果系統時鐘為12MHz,計算下面的程序段的執行時間
雙周期指令執行一次? 2us
$表示R6要減到0,循環才會結束,繼續往下執行
R6的初始值即為學號
五、編寫實現下列功能的程序
ROM沒有內部外部之分
外部ROM?→ A?→ 外部RAM
MOVC A @A+DPTR(或PC)因為此處的地址已知,所以最好使用DPTR(外部ROM?→ A)
MOVX和DPTR(A?→ 外部RAM)
因為@A+DPTR,A和DPTR的值共同決定2000H這個地址,所以A需要賦初值
RR是單字節位移
先將70HD額內容備份到A中,再將71H的內容放入70H中,然后將72H的內容放入71H中,以此類推,最終將A的數據存入75H中。
DIV AB //AB相除
用R0建址
六、閱讀程序,寫出程序執行的最終結果
ORL? 或運算
RR循環移位
ANL? 與運算
x是學號的十位? y是學號的個位
RS0 和 RS1 均置零,決定要用0組的工作寄存器 R0~R7
CJNE 不等的時候跳轉 相等的時候不跳轉繼續按順序執行
七、畫出單片機AT89C51能夠正常工作的最小系統圖
八、根據程序功能,畫出P1口每個引腳輸出的波形,每小格代表500ms
第一個數是18H,第二個數是42H,倒著的
DJNZ不等于0循環