小知識點補充31
1,89C51 的堆棧是按照先進後出的原則進行存取的RAM區
2,用一條指令實現以下功能 : 若 A 中數據不等於 200,則程序轉至 PROM CJNZ A,#200H,PROM
3,爲了使10H-17H 作爲工作寄存器使用,則 RS1,RS0 的取值爲 10,89C51 中 21 個特殊功能寄存器,其地址凡是能被 8 整除的都有位尋址功能
4,對於 89C51 單片機,當 CPU對內部程序存儲器尋址超過4KB時,系統會自動在外部程序存儲器中尋址
5,在一定範圍內,單片機外加晶振頻率越高,系統運算速度也就越快,系統性能也就越好
小知識點補充32
1,51 單片機有 5 個 中斷源,有 2 個中斷優先級,優先級由軟件填寫特殊功能寄存器 IP 加以選擇
2、中斷請求信號有 電平 觸發和 脈衝 觸發兩種觸發方式
3,74LS273 通常用來作簡單 輸出 接口擴展;而 74LS244 則常用來作簡單輸入接口擴展
4,計算機的系統總線有地址總線、控制總線和 數據總線
5,彙編語言中可以使用僞指令,它們不是真正的指令,只是用來對 彙編過程進行某種控制
程序閱讀填空題1
設(A)=51,R0=28H,(28H)=51H, 執行下列程序後,(A)=
ANL A,#27H
ORL A,#66
XRL A,28H
ORL A,@R0
CPL A
編程:
ORG 0000H
MOV A,#51
MOV R0,#28H
MOV 28H,#51H
ANL A,#27H
ORL A,#66
XRL A,28H
ORL A,@R0
CPL A
END
答案:
(A)=8CH
題73
設單片機的晶體振盪頻率爲12MHz,利用定時器 T0 編程由 P1.0 和 P1.1 輸出週期爲 10mS、互補(互爲反相)的方波。
電路圖:
程序源碼:
LED_H BIT P1.0
LED_L BIT P1.1
ORG 0000H
LJMP START
ORG 000BH
LJMP T0ADDR
ORG 0030H
START:
MOV SP,#66H
MOV IE,#82H
MOV TH0,#0CH
MOV TL0,#78H
MOV TCON,#00010000B
SETB LED_H
CLR LED_L
SJMP $
T0ADDR:
MOV 8CH,#0CH ;2 US
MOV 8AH,#78H ;2 US
CPL LED_H ;1 US
CPL LED_L ;1 US
RETI ;2 US
; TOTAL 8 US
END
仿真圖:
題74
設單片機的晶體振盪頻率爲12MHz,只使用定時器 T0 編程由 P1.0-1輸出週期爲200us,P1.2-3輸出週期爲100us的方波。(要求T0工作在方式3,P1.2-3由TH0控制)
電路圖:
程序源碼:
LED_0 BIT P1.0
LED_1 BIT P1.1
LED_2 BIT P1.2
LED_3 BIT P1.3
ORG 0000H
LJMP START
ORG 000BH
LJMP T0ADDR
ORG 001BH
LJMP T1ADDR
ORG 0030H
START:
MOV SP,#66H
SETB EA
SETB ET0
SETB ET1
MOV TH0,#0CEH
MOV TL0,#9cH
MOV TMOD,#03H
SETB TR0
SETB TR1
SETB LED_1
SETB LED_0
SETB LED_2
SETB LED_3
SJMP $
T0ADDR:
MOV TL0,#9cH
CPL LED_0 ;1 US
CPL LED_1 ;1 US
RETI ;2 US
; TOTAL 8 US
T1ADDR:
MOV TH0,#0CEH
CPL LED_2 ;1 US
CPL LED_3 ;1 US
RETI
END
仿真圖:
注:方波之間有延時(由於指令執行需要時間,產生的方波頻率較高)
題75
設 8051 單片機應用系統的晶振頻率爲 12MHz,請利用 T01在 P1.0 引腳上輸出頻率爲 20Hz的方波。(要求使用查詢方式)
解析: 輸出頻率爲 20Hz,則週期爲 1/20 =50mS,半週期爲 50/2 =25mS,T1 的定時初值爲: 65536-25000*12/12 =40536=9E58H,即
TH1=9EH. TL1=58H
程序源碼:
PULSE BIT P1.0
ORG 0000H
LJMP START
ORG 0030H
START:
MOV SP,#51H
MOV TH1,#9EH
MOV TL1,#58H
MOV TMOD,#10H
SETB TR1
SETB PULSE
LOOP:
JNB TF1,$
CPL PULSE
CLR TF1
MOV TH1,#9EH
MOV TL1,#58H
AJMP LOOP
END
仿真圖: