單片機知識點總結(1)
單片機知識點總結
第一章:微型計算機基礎
1、微型計算機數制及他們之間的相互轉換2、微型計算機碼制和編碼
第二章:MCS-51單片機結構和時序1、單片機的內部結構
第三章:MCS-51單片機指令系統1、指令及其表示方法2尋址方式
3數據、算術、邏輯、控制轉移以及位操作指令第四章:匯編語言程序設計1、匯編語言的結構2、簡單程序設計
第五章:MCS-51中斷系統1、I/O及其接口的基本概念2、I/O的控制方式3、中斷技術
4、MCS-51的中斷系統
第六章:MCS-51內部的定時/計數器1、定時/計數器的工作方式和控制器2定時/計數器編程;初值計算。第七章MCS-51內部串行口1、串行口通信的基本概念2、MCS-51的串行通信口
3、MCS-51的串行口的工作方式及波特率第八章:MCS-51單片機存儲器擴展技術1、存儲器擴展的基本概念2、程序存儲器擴展3、數據存儲器擴展
4、存儲器綜合擴展技術
第九章MCS-51單片機與常用可編程接口芯片的擴展應用技術1、可編程A/D轉換器ADC0809的擴展應用技術2、可編程D/A轉換器ADC0832的擴展應用技術
第十章:MCS-51單片機/人機對話系統的接口擴展技術1、簡單的I/O口擴展2、鍵盤的設計及編程
3、LED顯示系統的設計技術
擴展閱讀:單片機知識點總結
單片機考點總結
1.單片機由CPU、存儲器及各種I/O接口三部分組成。
2.單片機即單片微型計算機,又可稱為微控制器和嵌入式控制器。
3.MCS-51系列單片機為8位單片機,共40個引腳,MCS-51基本類型有8031、8051
和8751.(1)I/O引腳
(2)8031、8051和8751的區(qū)別:8031片內無程序存儲器、8051片內有4KB程序存
儲器ROM、8751片內有4KB程序存儲器EPROM。
(3)
4.MCS-51單片機共有16位地址總線,P2口作為高8位地址輸出口,P0口可分時復用
為低8位地址輸出口和數據口。MCS-51單片機片外可擴展存儲最大容量為216=64KB,地址范圍為0000HFFFFH。(1.以P0口作為低8位地址/數據總線;2.以P2口作為高8位地址線)
5.MCS-51片內有128字節(jié)數據存儲器(RAM),21個特殊功能寄存器(SFR)。(1)MCS-51片內有128字節(jié)數據存儲器(RAM),字節(jié)地址為00H7FH;00H1FH:工作寄存器區(qū);
00H1FH:可位尋址區(qū);00H1FH:用戶RAM區(qū)。
(2)21個特殊功能寄存器(SFR)(21頁23頁);(3)當MCS-51上電復位后,片內各寄存器的狀態(tài),見34頁表2-6。PC=0000H,DPTR=0000H,Acc=00H,PSW=00H,B=00H,SP=07H,TMOD=00H,TCON=00H,TH0=00H,TL0=00H,TH1=00H,TL1=00H,SCON=00H,P0~P3=FFH
6.程序計數器PC:存放著下一條要執(zhí)行指令在程序存儲器中的地址,即當前PC值或現行值。程序計數器PC是16位寄存器,沒有地址,不是SFR.
7.PC與DPTR的區(qū)別:PC和DPTR都用于提供地址,其中PC為訪問程序存儲器提供地址,而DPTR為訪問數據存儲器提供地址。
8.MCS-51內部有2個16位定時/計數器T0、T1,1個16位數據指針寄存器DPTR,其中MOVEDPTR,#data16是唯一的16位數據傳送指令,用來設置地址指針DPTR。(46頁)
定時/計數器T0和T1各由2個獨立的8位寄存器組成,共有4個獨立寄存器:TH1、TL1、TH0、TL0,可以分別對對這4個寄存器進行字節(jié)尋址,但不能吧T0或T1當作1個16位寄存器來尋址。即:MOVT0,#data16;MOVT1,#data16都是錯的,MOVTH0,#data;MOVTL0,,#data是正確的。9.程序狀態(tài)字寄存器PSW(16頁)(1)PSW的格式:PSW
D7CyD6AcD5F0D4RS1D3RS0D2OVD1D0PD0H
(2)PSW寄存器中各位的含義;Cy:進位標志位,也可以寫為C。Ac:輔助進位標志位。
RS1、RS0:4組工作寄存區(qū)選擇控制位。RS10011RS00101所選的4組寄存器0區(qū)(內部RAM地址00H~07H)1區(qū)(內部RAM地址08H~0FH)2區(qū)(內部RAM地址10H~17H)3區(qū)(內部RAM地址18H~1FH)P為奇偶標志位:該標志位用來表示累加器A中為1的位數的奇偶數P=1,A中1的個數為奇數;P=0,A中1的個數為偶數。
另:使用加法指令時,累加器A中的運算結果對各個標志位的影響:(1)如果位7有進位,則置1進位標志位Cy,否則清0Cy;(2)如果位3有進位,置1輔助進位標志位Ac,否則清0Ac;
(3)如果位6有進位,而位7沒有進位,或者位7有進位,而位6沒有,則溢出標志位OV置1,否則清0OV。即只要位7和位6中有一個進位,而另一個沒進位,OV就置1.10.MCS-51指令系統的七種尋址方式,熟練掌握各尋址方式。(40頁)。尋址方式寄存器尋址方式使用的變量尋址空間R0~R7、A、B、C(位)4組通用工作寄存區(qū)、部分特殊功能寄存器DPTR、AB直接尋址方式內部RAM128B、特殊功能寄存器寄存器間接尋址方式@R1,@R0,SP片內RAM@R1,@R0,@片外數據存儲器DPTR立即尋址方式基址寄存器加變址寄存器間接尋址方式位尋址方式#data@A+DPTR,@A+PC程序存儲器內部RAM20H~2FH單元的128個可尋址位、SFR中的可尋址位(85個)相對尋址方式
PC+偏移量程序存儲器11.訪問MCS-51單片機中:(1)訪問片內RAM應使用MOV指令;(2)訪問片外RAM應使用MOVX指令;(3)訪問程序存儲器應使用MOVC指令。
12.MCS-51有5個中斷源,2級中斷優(yōu)先級。5個中斷源名稱及其中斷入口地址分別是什么?哪些中斷源的中斷請求標志位在響應中斷時由硬件自動清除?那些中斷源的中斷請標志位必須使用軟件清除?記住各個中斷請求標志位,優(yōu)先級標志位,觸發(fā)方式標志位。(102頁108頁)中斷源外部中斷0定時器/計數器T0外部中斷1定時器/計數器T1串行口中斷入口地址0003H000BH0013H001BH0023H響應中斷時硬件自動清除硬件自動清除硬件自動清除硬件自動清除軟件清除中斷請求標志位IE0TF0IE1TF1TI或RI前面4種都是硬件自動清0,串行中斷必須使用軟件清除,因為串行接收和發(fā)送共享串行中斷,在中斷處理中必須使用T1和R1判斷串行接收還是發(fā)送中斷。13.MCS-51的串行口為全雙工的異步串行通信口,串行口有幾種工作方式?每種工作方式的幀格式和波特率是什么?串行口有4種工作方式:SM0SM100110101方式0123功能說明同步異位寄存器方式(用于擴展I/O口)波特率固定,為fosc/128位異步收發(fā),波特率可變(有定時器控制)9位異步收發(fā),波特率為fosc/64或fosc/329位異步收發(fā),波特率可變(有定時器控制)SM0、SM1:串行口4中工作方式的選擇位。(1)方式0:幀格式及波特率…D0D1D2D3D4D5D6D7…方式1的波特率是固定的,為fosc/12(2)方式1:幀格式及波特率
起始位停止位方式1的波特率為2SMOD/32×定時器T1的溢出率(3)方式2:幀格式及波特率
D0D1D2D3D4D5D6D7起始位停止位方式2的波特率為2SMOD/64×fosc(4)方式3:幀格式及波特率
D0D1D2D3D4D5D6D7D8起始位停止位方式3的波特率為2SMOD/32×定時器T1的溢出率
14.8255A可擴展3個8位并行I/O口(PA口、PB口和PC口),其中PC口具有按位置
D0D1D2D3D4D5D6D7D為/復位功能。
15.系統總線(僅了解)
所謂總線,就是連接計算機各部件的一組控制信號。MCS-51使用的是哈佛結構,即并行總線結構(程序存儲器和數據存儲器的空間是截然分開的),按其功能通常把系統總線分為三組:(1)、地址總線(AddressBus,簡寫AB)
地址總線用于傳送單片機發(fā)出的地址信號,以便進行存儲單元和I/O端口的選擇。地址總線是單向的,只能由單片機向外送出。地址總線的數目決定著可直接訪問的存儲單元數目。MCS-51單片機最多可以擴展64KB,即65536個地址單元,因此,地址總線為16條。(2)、數據總線(DataBus,簡寫DB)
數據總線用于單片機與存儲器之間或單片機與I/O之間傳送數據。MCS-51單片機是8位字長,所以,數據總線的位數也是8位的。數據總線是雙向的,可以進行2個方向的傳送。(3)、控制總線(ControlBus,簡寫CB)
控制總線實際上就是一組控制信號線,包括單片機發(fā)出的,以及從其它部件傳送給單片機的。15.單片機外部擴展存儲器地址分配的方法線選法和譯碼法。外部擴展存儲器容量大小的確定方法(1)由該存儲器芯片上的地址根數決定,如程序存儲器芯片27128有A0A13共14根地址線,故27128的存儲容量=214=16KB;(2)用存儲器芯片型號后面的數字÷8即可得到該芯片的存儲容量,如27128的存儲容量=128÷8=16KB;16.存儲器擴展的讀寫控制:(做最后一題時需要用到)
外擴的RAM芯片既能讀出又能寫入,所以通常都有讀寫控制引腳,記為OE和WE。外擴的RAM的讀寫控制引腳分別與MCS-51的RD和WR引腳相連。
外擴的EPROM在正常使用中只能讀出,不能寫入,故EPROM的芯片沒有寫入控制引腳,只有讀出引腳,記為OE,該引腳與MCS-51的PSEN相連。17.在MCS-51單片機系統中,外接程序存儲器和數據存儲器共用16位地址線和八8位數據線,為何不發(fā)生沖突?
外接程序存儲器和數據存儲器雖然共用16位地址線和8位數據線,但由于訪問程序存儲器時是PSEN信號有效,而訪問數據存儲器時是RD或WR信號有效。而這些控制信號是由MCS-51執(zhí)行訪問外部外序存儲器和或訪問外部數據存儲器的指令產生,任何時候只能執(zhí)行1種指令,只產生1種控制信號,所以不會產生數據沖突的問題。17.8段共陰極數碼管的斷碼如何編寫。(227頁)
記兩點即可:(1)共陰極時1為亮0不亮;
(2)abcdef是按照順時針走的,知道g,dp的位置。
18.單片機晶振頻率fosc與機器周期Tcy的關系式:1Tcy=12/fosc。19.編程題
(1)循環(huán)程序的編寫(即延時程序的編寫)(94頁例417)例4-17、50ms延時程序。(注:一條DJNZ指令消耗兩個機器周期)
DEL:MOVR7,#200DEL1:MOVR6,#125DEL2:DJNZR6,DEL2MOVR7,DEL1RET
(2)中斷初始化程序的編寫(104頁例51,107頁例52)知識點:(1)中斷允許寄存器IE
MCS-51的CPU的中斷源的開放或屏蔽,是由片內的中斷允許寄存器IE控制的。IE的字
節(jié)地址為A8H,可進行位尋址。EA----------ESET1EX1ET0EX0EA:中斷允許總控制位;ES:串行口中斷允許位;
ET1:定時器/計數器T1的溢出中段允許位;EX1:外部中斷1中段允許位;ET0:定時器/計數器T1的溢出中段允許位;EX0:外部中斷0中段允許位;注:當上述值置為0時,表示禁止;置為1時表示允許。
如當ET1=0表示禁止T1溢出中斷,ET1=1表示允許T1溢出中斷。(2)中斷優(yōu)先級寄存器P
MCS-51的片內有一個中斷優(yōu)先級寄存器IP,其字節(jié)地址為B8H,可位尋址。
-----------------PSPT1PX1PT0PX0PS:串行口中斷優(yōu)先級控制位;
PT1:定時器T1中斷優(yōu)先級控制位;PX1:外部中斷1中斷優(yōu)先級控制位;PT0:定時器T0中斷優(yōu)先級控制位;PX0:外部中斷0中斷優(yōu)先級控制位;注:當上述值置為0時,表示定義為低優(yōu)先級中斷;置為1時表示高優(yōu)先級中斷。例5-1、若允許片內2個定時器/計數器中斷,禁止其它中斷源的中斷請求。請編寫出設置IE的相應程序段:
(A)、用位操作指令編寫如下程序段:
CLRES;禁止串行口中斷
CLREX1;禁止外部中斷1中斷CLREX0;禁止外部中斷0中斷SETBET0;允許定時器/計數器T0中斷SETBET1;允許定時器/計數器T1中斷SETBEA;CPU開中斷(B)、用字節(jié)操作指令來編寫:MOVIE,#8AH
例5-2、設置IP寄存器的初始值,使得MCS-51的2個外中斷請求為高優(yōu)先級,其它中斷請求為低優(yōu)先級。
(A)、用位操作指令編寫如下程序段:
SETBPX0;2個外中斷請求為高優(yōu)先級SETBPX1
CLRPS;串行口、2個定時器/計數器為低優(yōu)先級中斷CLRPT0CLRPT1
(B)、用字節(jié)操作指令來編寫:MOVIP,#05H
(3)定時/計數器T0或T1在指定工作方式下產生一個定時或者計數的程序編寫。(125頁例61,130頁例64)
(4)書中有一道程序編寫,但不知是哪一道,所以都找出來了(99頁第10題、第11題,117頁第9題、14,136頁第4題)
4.10試編寫程序,查找在內部RAM的30H~50H單元中是否有0AAH這一數據。若有,則將51H單元置為“01H”;若未找到,則將51H單元置為“00H”。
ORG0000HMOVR0,#30HMOVR2,#21HLOOP:MOVA,@R0
CJNEA,#0AAH,NOTMOV51H,#01HSJMPDENDNOT:INCR0
DJNZR2,LOOPMOV51H,#00HDEND:SJMPDEND
4.11試編寫程序,查找在內部RAM的20H~40H單元中出現“00H”這一數據的次數。并將查找到的結果存入41H單元。
ORG0000HMOVR0,#20HMOVR2,#21H
MOV41H,#00HLOOP:MOVA,@R0
CJNEA,#00H,NOTEINC41HNOTE:INCR0
DJNZR2,LOOP
END
5.9編寫出外部中斷1為跳沿觸發(fā)的中斷初始化程序。
ORG0000H
AJMPMAINORG0013HAJMPPINT1ORG0100HMAIN:SETBIT1SETBEX1SETBEAHERE:AJMPHEREPINT1:RETI
END
5.14某系統有3個外部中斷源1、2、3,當某一中斷源變?yōu)榈碗娖綍r,便要求CPU進行處理,它們的優(yōu)先處理次序由高到低依次為3、2、1,中斷處理程序的入口地址分別為1000H,1100H,1200H。試編寫主程序及中斷服務程序(轉至相應的中斷處理程序的入口即可)。
ORG0000HAJMPMAIN
ORG0003HLJMPPINT0ORG0100HMAIN:SETBIT0SETBEX0SETBEAHERE:SJMPHEREPINT0:PUSHPSWPUSHA
JNBP1.3,IR3JNBP1.2,IR2JNBP1.1,IR1PINTIR:POPAPOPPSWRETI
IR3:LJMPIR3INTIR2:LJMPIR2INTIR1:LJMPR1INT
ORG1000HIR3INT:LJMPPINTIR
ORG1100HIR2INT:LJMPPINTIR
ORG1200HIR1INT:LJMPPINTIREND
6.4采用定時器/計數器T0對外部脈沖進行計數,每計數100個脈沖后,T0轉為定時工作方式。定時1ms后,又轉為計數方式,如此循環(huán)不止。假定MCS---51單片機的晶體震蕩器的頻率為6MHZ,請使用方式1實現,要求編寫出程序。
ORG0000H
AJMPMAINORG000BHLJMPPT0JORG0100H
MAIN:MOVTMOD,#05H;00000001
MOVTH0,#0FFH;X=65436MOVTL0,#9CHCLRF0SETBTR0SETBET0
SETBEA
HERE:AJMPHERE
PT0J:JBF0,PT0D
MOVTMOD,#01H;00000001
MOVTH0,#0FEH;X=65036MOVTL0,#0CHSETBF0RETI
PT0D:CLRF0
MOVTMOD,#05H
MOVTH0,#0FFH
MOVTL0,#9CHRETIEND
(5)最后一道大題的程序編寫(185頁例81,189頁例84)
20.
友情提示:本文中關于《單片機知識點總結(1)》給出的范例僅供您參考拓展思維使用,單片機知識點總結(1):該篇文章建議您自主創(chuàng)作。
來源:網絡整理 免責聲明:本文僅限學習分享,如產生版權問題,請聯系我們及時刪除。