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