第1章 單片機(jī)概述
- 什么是單片機(jī):單片機(jī)是由CPU、存儲(chǔ)器、I/O接口及總線集成在一個(gè)芯片上。
- 簡單了解AT89S51單片機(jī)簡介。
相當(dāng)于MCS-51系列中的87C51,AT89S51芯片內(nèi)4KB的Flash存儲(chǔ)取代了87C51片內(nèi)的4K的EPROM。
第2章 AT89S51單片機(jī)的內(nèi)部結(jié)構(gòu)
- MCS-51單片機(jī)具有幾個(gè)并口,其中哪個(gè)口具有外部中斷、串行通信等第二功能。
有4個(gè)并口,P3口具有外部中斷、串行通信等第二功能。 - AT89S51的片內(nèi)程序存儲(chǔ)器為4 KB的Flash存儲(chǔ)器,地址范圍是 0000H~0FFFH。
- 設(shè)外接石英晶體頻率為6MHz,機(jī)器周期的時(shí)間寬度2us。
一個(gè)機(jī)器周期=12 個(gè)振蕩周期. - PC和DPTR分別用于提供什么地址。
PC用于提供預(yù)讀?。ㄕ趫?zhí)行指令的下一條)指令的首地址,DPTR用于提供訪問數(shù)據(jù)存儲(chǔ)器的地址指針。
PSW是 程序狀態(tài)字寄存器 。 - 當(dāng) E A  ̄ \overline{EA} EA接地時(shí),AT89S51單片機(jī)將從 外部程序存儲(chǔ)器 的 0000H 地址開始執(zhí)行程序。
- RAM的位尋址區(qū)對(duì)應(yīng)的字節(jié)地址范圍是 20H~2FH 。
第3章 8051指令系統(tǒng)與編程基礎(chǔ)
-
一條指令通常由兩部分組成,即 操作碼 和 操作數(shù) 。
-
簡述AT89C51兩條查表指令的執(zhí)行過程。
-
MOVC A, @A+PC
指令以PC作為基址寄存器,A的內(nèi)容作為無符號(hào)整數(shù)和PC當(dāng)前值(下一條指令的首地址)相加后得到一個(gè)新的16位地址,把該地址指定的程序存儲(chǔ)單元內(nèi)容送入累加器A中。
-
MOVC A, @A+DPTR
指令以DPTR作為基址寄存器,A的內(nèi)容作為無符號(hào)數(shù)和DPTR的內(nèi)容相加得到一個(gè)16位地址,把由該地址指定的程序存儲(chǔ)器單元的內(nèi)容送到累加器A中。
-
-
AT89S51單片機(jī)當(dāng)從堆棧彈出一個(gè)字節(jié)的數(shù)據(jù)后,SP中的內(nèi)容如何變化。
POP direct
:將棧頂指針SP指示的棧頂(內(nèi)部RAM)內(nèi)容送入direct字節(jié)單元中,然后棧頂指針SP減1。 -
乘法指令
MUL AB
兩個(gè)操作數(shù)分別在 累加器A 和 寄存器B(無符號(hào)8位整數(shù)) 中,執(zhí)行指令后,乘積結(jié)果放在 累加器A和寄存器B 寄存器對(duì)中, 寄存器B 放數(shù)據(jù)高8位, 累加器A 放數(shù)據(jù)低8位。
除法DIV AB
中,被除數(shù)取自 累加器A,除數(shù)取自 寄存器B ,商放在 累加器A 中,余數(shù)存放于 寄存器B 中。 -
求n個(gè)單字節(jié)無符號(hào)數(shù) X i X_i Xi?的和, X i X_i Xi?按 i i i順序存放在AT89S51單片機(jī)內(nèi)部RAM從
50H
開始的單元中,n放在R2
中,和(雙字節(jié))放在R3
R4
中。
ORG 0100H
ADD1: MOV R2, #n ; 計(jì)數(shù)控制
MOV R3, #0 ; 存放和的高8位
MOV R4, #0 ; 存放和的低8位
MOV R0, #50H ; 變址單元
LOOP: MOV A, R4
ADD A, @R0
MOV R4, A
INC R0
CLR A
ADDC A, R3
MOV R3, A
DJNZ R2, LOOP
END
ADDC帶進(jìn)位
- 編寫程序?qū)⑵鈹?shù)據(jù)存儲(chǔ)器中4000H~40FFH單元全部清零。
ORG 0100H
MAIN: MOV A, #0 ; 預(yù)置數(shù)0送A
MOV R0, #0FFH ; 設(shè)立循環(huán)次數(shù)(40FFH-4000H=FFH)
MOV DPTR,#4000H ; 設(shè)立數(shù)據(jù)指針的初值
LOOP: MOVX @DPTR, A ; 當(dāng)前單元賦值0
INC DPTR ; 指向下一個(gè)單元
DJNZ R0, LOOP ; 是否結(jié)束
END
-
指令判錯(cuò),如
MOV 36H, @R6
錯(cuò)誤,MOV direct, @Ri
,間接尋址的Ri只能是R0和R1,R6不合法。課本P43 第7條最后一段:Ri(i=0,1)
第4章 AT89S51單片機(jī)的中斷系統(tǒng)
- 簡述AT89C51的中斷技術(shù)。
中斷技術(shù)主要用于實(shí)時(shí)監(jiān)測與控制。
當(dāng)中斷請(qǐng)求源發(fā)出中斷請(qǐng)求時(shí),如果中斷請(qǐng)求被允許的話,單片機(jī)暫時(shí)中止當(dāng)前執(zhí)行的主程序,轉(zhuǎn)到中斷服務(wù)處理程序處理中斷服務(wù)請(qǐng)求。中斷服務(wù)請(qǐng)求處理完后,再回到原來被終止的程序之處(斷點(diǎn)),繼續(xù)執(zhí)行被中斷的主程序。 - 五源中斷,兩級(jí)管理。5個(gè)中斷源的中斷入口地址分別是什么。
-
I
N
T
0
 ̄
\overline{INT0}
INT0 外部中斷請(qǐng)求0:
0003H
-
I
N
T
1
 ̄
\overline{INT1}
INT1 外部中斷請(qǐng)求1:
0013H
- 定時(shí)/計(jì)數(shù)器T0:
000BH
- 定時(shí)/計(jì)數(shù)器T1:
001BH
- 串行口中斷請(qǐng)求:
0023H
- 簡單了解TCON、SCON功能。
- TCON是定時(shí)控制寄存器,主要用于控制定時(shí)/計(jì)數(shù)器的啟動(dòng)和停止、計(jì)數(shù)溢出標(biāo)志和管理外部中斷。
- SCON是串行口控制寄存器,主要用于控制、監(jiān)視串行口的工作狀態(tài)。
第5章 I/O口應(yīng)用—顯示與開關(guān)/鍵盤輸入
-
LED顯示器中的發(fā)光二極管的兩種連接方法是
- (公)共陰極
- (公)共陽極
-
共陰極LED顯示器,顯示不同數(shù)字時(shí)的字形碼。如‘2’
數(shù)字2:需要亮A、B、D、E、G,其他都為低電平。
DP | G | F | E | D | C | B | A |
---|---|---|---|---|---|---|---|
0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 |
即二進(jìn)制字形碼:0101 1011,十六進(jìn)制字形碼:5BH
-
LED數(shù)碼管動(dòng)態(tài)顯示時(shí),一個(gè)時(shí)間只有一個(gè)數(shù)碼管被點(diǎn)亮。
對(duì) -
為什么要消除按鍵的機(jī)械抖動(dòng)?
為了確保單片機(jī)對(duì)一次按鍵動(dòng)作只確認(rèn)一次按鍵有效,必須消除抖動(dòng)的影響。軟件消除按鍵機(jī)械抖動(dòng)的原理
在檢測到有鍵按下時(shí),該鍵所對(duì)應(yīng)的行線為低電平,執(zhí)行一段延時(shí)10ms的子程序后,確認(rèn)該行線是否仍為低電平,如果仍為低電平,則確認(rèn)確實(shí)有鍵按下。即消除抖動(dòng)期的影響。
第6章 AT89S51單片機(jī)的定時(shí)器/計(jì)數(shù)器
-
定時(shí)器/計(jì)數(shù)器作定時(shí)和計(jì)數(shù)用時(shí),其計(jì)數(shù)脈沖分別為
- 作定時(shí)用時(shí):把系統(tǒng)時(shí)鐘振蕩器12分頻后的脈沖作為計(jì)數(shù)信號(hào)。
- 作計(jì)數(shù)用時(shí):計(jì)數(shù)脈沖為P3.4/T0(或P3.5/T1)引腳上的外部輸入脈沖,當(dāng)引腳上發(fā)生負(fù)跳變時(shí),計(jì)數(shù)器加1。
-
采用6MHz的晶振,定時(shí)4ms,如用定時(shí)器方式1時(shí)的初值的計(jì)算。
T = 1 f o s c × 12 = 1 6 M H z × 12 = 2 μ s X = 2 16 ? 4000 μ s 2 μ s = 65536 ? 2000 = F 830 H T H x = F 8 H T L x = 30 H T=\frac{1}{f_{osc}}\times12=\frac{1}{6MHz}\times12=2\mu s \\ X=2^{16}-\frac{4000\mu s}{2\mu s}=65536-2000=F830H \\ THx=F8H \\ TLx=30H T=fosc?1?×12=6MHz1?×12=2μsX=216?2μs4000μs?=65536?2000=F830HTHx=F8HTLx=30H -
系統(tǒng)時(shí)鐘為6MHz,編寫定時(shí)器T0產(chǎn)生500ms定時(shí)的程序。
令它工作在方式1:
T = 1 f o s c × 12 = 1 6 M H z × 12 = 2 μ s X = 2 16 ? 500000 μ s 2 μ s = 65536 ? 250000 < 0 T=\frac{1}{f_{osc}}\times12=\frac{1}{6MHz}\times12=2\mu s \\ X=2^{16}-\frac{500000\mu s}{2\mu s}=65536-250000<0 T=fosc?1?×12=6MHz1?×12=2μsX=216?2μs500000μs?=65536?250000<0
計(jì)數(shù)器不夠用,因此可以使用100ms 中斷5次的方法代替
X = 2 16 ? 100000 μ s 2 μ s = 65536 ? 50000 = 3 C B 0 H T L 0 = B 0 H T H 0 = 3 C H X=2^{16}-\frac{100000\mu s}{2\mu s}=65536-50000=3CB0H \\ TL0=B0H\\ TH0=3CH X=216?2μs100000μs?=65536?50000=3CB0HTL0=B0HTH0=3CHORG 0000H AJMP MAIN ORG 000BH ; 定時(shí)/計(jì)數(shù)器T0中斷服務(wù)程序 AJMP INT_0 ; 跳轉(zhuǎn)INT_0子程序 ORG 0100H MAIN: MOV SP, #60H ; 設(shè)置堆棧指針 MOV B, #5 ; 設(shè)置循環(huán)次數(shù) MOV TMOD, #01H ; T0工作于方式1 MOV TL0, #0B0H ; TL0 = B0H MOV TH0, #3CH ; TH0 = 3CH SETB TR0 ; 啟動(dòng)T0 SETB ET0 ; 允許T0中斷 SETB EA ; 總中斷開啟 SJMP $ ; 循環(huán)等待中斷 INT_0: MOV TL0, #0B0H ; TL0重新賦值 MOV TH0, #3CH ; TH0重新賦值 DJNZ B, LOOP ; 若未到達(dá)5次,中斷返回 CLR TR0 ; 到達(dá)500ms,停止T0計(jì)時(shí) LOOP: RETI ; 中斷返回 END
第7章 AT89S51單片機(jī)的串行口
-
串行口的控制寄存器SCON中,REN的作用
REN:允許串行接收位,由軟件置0或1
- REN=1時(shí)允許串行口接收數(shù)據(jù)。
- REN=0時(shí),禁止串行口接收數(shù)據(jù)。
-
設(shè)多機(jī)系統(tǒng)中有一主機(jī)和3個(gè)8051從機(jī)。
主機(jī)的RXD與從機(jī)的TXD相連,主機(jī)TXD與從機(jī)的RXD端相連。
從機(jī)地址分別為01H、02H、03H。寫出主機(jī)與從機(jī)01H的通信過程。- 各個(gè)從機(jī)允許串口中斷,接收方式為方式2或方式3。且
SM2
和REN
置1,使從機(jī)處于多機(jī)通信接收地址幀的狀態(tài)。 -
將準(zhǔn)備接收數(shù)據(jù)的 從機(jī)地址 發(fā)送給各個(gè)從機(jī)(地址幀第9位為1)。
主機(jī)發(fā)送地址幀時(shí),各從機(jī)RB8=1,且由于SM2=1,中斷標(biāo)志位RI=1,各從機(jī)響應(yīng)中斷,在從機(jī)中斷服務(wù)程序中,判斷送來的地址和本機(jī)地址是否相同,若相同,SM2置0,否則繼續(xù)維持SM2=1 -
主機(jī)傳送數(shù)據(jù)或命令(數(shù)據(jù)或命令幀的第9位為0)
從機(jī)RB8=0,只有SM2=0的從機(jī)才能接收該幀,并且接收完成后中斷標(biāo)志RI被置1。其他SM2=1的從機(jī)無法使RI置1。 -
結(jié)束數(shù)據(jù)通信并為下一次多機(jī)通信做準(zhǔn)備。
需預(yù)留1~2個(gè)“廣播地址”,當(dāng)主機(jī)和從機(jī)通信完成后,需要將從機(jī)再次設(shè)置為多機(jī)通信模式,以便進(jìn)行下一次多機(jī)通信。一旦接收的數(shù)據(jù)幀第9位(RB8)為1且地址為廣播地址,便將從機(jī)的通信模式再次設(shè)置為多機(jī)模式。
- 各個(gè)從機(jī)允許串口中斷,接收方式為方式2或方式3。且
第8章 AT89S51單片機(jī)外部存儲(chǔ)器的并行擴(kuò)展
- P0口是 地址總線 和數(shù)據(jù)總線分時(shí)復(fù)用的,因此在擴(kuò)展時(shí),應(yīng)使用 地址鎖存器 使信號(hào)分離。
- 74LS138、74LS373作用。
-
74LS138:3-8譯碼器,有3個(gè)數(shù)據(jù)端,經(jīng)譯碼后產(chǎn)生8種狀態(tài)。
可將輸入端信號(hào)轉(zhuǎn)換為某一存儲(chǔ)器芯片的“片選”控制信號(hào); - 74LS373:8位鎖存器,因P0口兼用數(shù)據(jù)線和低8位地址線,用此鎖存器可以將數(shù)據(jù)信號(hào)和地址信號(hào)分時(shí)復(fù)用。
-
74LS138:3-8譯碼器,有3個(gè)數(shù)據(jù)端,經(jīng)譯碼后產(chǎn)生8種狀態(tài)。
74LS373:帶有三態(tài)門的8D鎖存器
- 區(qū)分外部程序存儲(chǔ)器和內(nèi)部程序存儲(chǔ)器的最可靠的方法是看其是被 W R  ̄ \overline{WR} WR還是被 P S E N  ̄ \overline{PSEN} PSEN信號(hào)連接。
第9章 AT89S51單片機(jī)的I/O擴(kuò)展
-
I/O接口和I/O端口有什么區(qū)別?
- I/O接口:單片機(jī)與外設(shè)間的連接電路的總稱。
- I/O端口:I/O接口電路中具有單元地址的寄存器或緩存器。
I/O接口的功能是什么?文章來源:http://www.zghlxwxcb.cn/news/detail-788685.html
- 實(shí)現(xiàn)和不同外設(shè)的速度匹配
- 輸出數(shù)據(jù)鎖存
- 輸入數(shù)據(jù)三態(tài)緩沖
-
82C55的方式0是無條件的輸入輸出方式。文章來源地址http://www.zghlxwxcb.cn/news/detail-788685.html
到了這里,關(guān)于單片機(jī)原理及接口技術(shù)期末復(fù)習(xí)知識(shí)點(diǎn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!