單片機知識點總結_第1頁
單片機知識點總結_第2頁
單片機知識點總結_第3頁
單片機知識點總結_第4頁
單片機知識點總結_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精品文檔. 單片機考點總結1.單片機由cpu 、存儲器及各種i/o 接口三部分組成。2.單片機即單片微型計算機,又可稱為微控制器和嵌入式控制器。3.mcs-51系列單片機為8 位單片機,共 40 個引腳,mcs-51基本類型有8031、 8051 和 8751. (1)i/o 引腳(2)8031、8051 和 8751 的區別 : 8031片內無程序存儲器、8051 片內有 4kb程序存儲器 rom 、 8751 片內有 4kb程序存儲器eprom。(3)精品文檔. 4.mcs-51單片機共有16 位地址總線, p2口作為高 8 位地址輸出口, p0 口可分時復用為低8 位地址輸出口和數據口。

2、mcs-51單片機片外可擴展存儲最大容量為216=64kb ,地址范圍為 0000hffffh 。 (1. 以 p0口作為低8 位地址 / 數據總線; 2. 以 p2 口作為高 8 位地址線)5.mcs-51片內有 128 字節數據存儲器(ram ) ,21 個特殊功能寄存器(sfr ) 。(1)mcs-51片內有 128 字節數據存儲器(ram ) ,字節地址為00h7fh; 00h1fh: 工作寄存器區;00h1fh: 可位尋址區;00h1fh: 用戶 ram區。(2)21 個特殊功能寄存器(sfr ) (21 頁 23 頁) ; (3)當 mcs-51上電復位后,片內各寄存器的狀態,見3

3、4 頁表 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 :存放著下一條要執行指令在程序存儲器中的地址,即當前pc值或現行值。程序計數器pc是 16 位寄存器,沒有地址,不是sfr. 7. pc 與 dptr 的區別: pc和 dptr都用于提供地址,其中pc為訪問程序存儲器提供地址,而 dptr為訪問數據存儲器提供地址。8. mcs-51內部有 2

4、個 16 位定時 / 計數器 t0、 t1, 1 個 16 位數據指針寄存器dptr , 其中 move 精品文檔. dptr, #data16 是唯一的16 位數據傳送指令,用來設置地址指針dptr 。 (46 頁)定時 / 計數器 t0 和 t1 各由 2 個獨立的8 位寄存器組成,共有4 個獨立寄存器:th1、tl1、th0、tl0, 可以分別對對這4 個寄存器進行字節尋址,但不能吧t0 或 t1 當作 1 個 16位寄存器來尋址。即:mov t0,#data16 ; mov t1 ,#data16 都是錯的,mov th0,#data ; mov tl0, ,#data 是正確的。9.

5、 程序狀態字寄存器psw (16 頁)(1)psw 的格式:d7 d6 d5 d4 d3 d2 d1 d0 psw cy ac f0 rs1 rs0 ov p d0h (2)psw 寄存器中各位的含義;cy:進位標志位,也可以寫為c。ac: 輔助進位標志位。rs1 、rs0:4 組工作寄存區選擇控制位。rs1 rs0 所選的 4 組寄存器0 0 0 區(內部ram 地址 00h 07h )0 1 1 區(內部ram 地址 08h 0fh )1 0 2 區(內部ram 地址 10h 17h )1 1 3 區(內部ram 地址 18h 1fh )p為奇偶標志位:該標志位用來表示累加器a中為 1 的

6、位數的奇偶數p=1, a 中 1 的個數為奇數;p=0, a 中 1 的個數為偶數。另:使用加法指令時,累加器a中的運算結果對各個標志位的影響:(1)如果位7 有進位,則置1 進位標志位cy,否則清0 cy;(2)如果位3 有進位,置1 輔助進位標志位ac,否則清0 ac ;(3)如果位6 有進位,而位7 沒有進位,或者位7 有進位,而位6 沒有,則溢出標志位ov置 1,否則清0 ov。即只要位7和位 6 中有一個進位,而另一個沒進位,ov就置 1. 10. mcs-51 指令系統的七種尋址方式,熟練掌握各尋址方式。 ( 40 頁) 。尋址方式使用的變量尋址空間寄存器尋址方式r0 r7、a、b

7、 、c (位)dptr 、ab 4 組通用工作寄存區、部分特殊功能寄存器直接尋址方式內部 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)訪問程序存儲

8、器應使用movc 指令。12. mcs-51有 5 個中斷源,2 級中斷優先級。 5 個中斷源名稱及其中斷入口地址分別是什么?哪些中斷源的中斷請求標志位在響應中斷時由硬件自動清除?那些中斷源的中斷請標志位必須使用軟件清除?記住各個中斷請求標志位,優先級標志位,觸發方式標志位。(102 頁108 頁 ) 中斷源入口地址響應中斷時中斷請求標志位外部中斷0 0003h 硬件自動清除ie0 定時器 / 計數器 t0 000bh 硬件自動清除tf0 外部中斷1 0013h 硬件自動清除ie1 定時器 / 計數器 t1 001bh 硬件自動清除tf1 串行口中斷0023h 軟件清除ti 或 ri 前面 4

9、 種都是硬件自動清0,串行中斷必須使用軟件清除,因為串行接收和發送共享串行中斷,在中斷處理中必須使用t1 和 r1判斷串行接收還是發送中斷。13. mcs-51的串行口為全雙工的異步串行通信口,串行口有幾種工作方式?每種工作方式的幀格式和波特率是什么?串行口有4 種工作方式:sm0 sm1 方式功能說明0 0 0 同步異位寄存器方式(用于擴展i/o 口)波特率固定,為fosc/12 0 1 1 8 位異步收發,波特率可變(有定時器控制)1 0 2 9 位異步收發,波特率為fosc/64或 fosc/32 1 1 3 9 位異步收發,波特率可變(有定時器控制)sm0 、sm1 :串行口4 中工作

10、方式的選擇位。(1)方式 0:幀格式及波特率d0 d1 d2 d3 d4 d5 d6 d7 方式 1 的波特率是固定的,為fosc/12 (2)方式 1:幀格式及波特率起始位停止位方式 1 的波特率為2smod/32 定時器 t1 的溢出率(3)方式 2:幀格式及波特率起始位停止位方式 2 的波特率為2smod/64 fosc (4)方式 3:幀格式及波特率起始位停止位方式 3 的波特率為2smod/32 定時器 t1 的溢出率14. 8255a可擴展 3 個 8 位并行 i/o 口( pa口、 pb口和 pc口) ,其中 pc口具有按位置為/復位功能。15. 系統總線(僅了解)所謂總線,就是

11、連接計算機各部件的一組控制信號。mcs-51 使用的是哈佛結構,即并行總線結構(程序存儲器和數據存儲器的空間是截然分開的),按其功能通常把系統總線分為三組: (1) 、地址總線( address bus ,簡寫 ab )地址總線用于傳送單片機發出的地址信號,以便進行存儲單元和i/o 端口的選擇。 地址總線是單向的,只能由單片機向外送出。地址總線的數目決定著可直接訪問的存儲單元數目。mcs-51單片機最多可以擴展64kb,即 65536 個地址單元,因此,地址總線為16 條。d0 d1 d2 d3 d4 d5 d6 d7 d0 d1 d2 d3 d4 d5 d6 d7 d8 d0 d1 d2 d

12、3 d4 d5 d6 d7 d8 精品文檔. (2) 、數據總線(data bus ,簡寫 db )數據總線用于單片機與存儲器之間或單片機與i/o 之間傳送數據。mcs-51單片機是8 位字長,所以,數據總線的位數也是8 位的。數據總線是雙向的,可以進行2 個方向的傳送。(3) 、控制總線(control bus,簡寫 cb)控制總線實際上就是一組控制信號線,包括單片機發出的, 以及從其它部件傳送給單片機的。15. 單片機外部擴展存儲器地址分配的方法線選法和譯碼法。外部擴展存儲器容量大小的確定方法( 1)由該存儲器芯片上的地址根數決定,如程序存儲器芯片27128 有 a0a13共 14根地址線

13、,故27128 的存儲容量 =214=16kb; (2)用存儲器芯片型號后面的數字8 即可得到該芯片的存儲容量,如27128 的存儲容量 =128 8=16kb ;16. 存儲器擴展的讀寫控制:(做最后一題時需要用到)外擴的 ram芯片既能讀出又能寫入,所以通常都有讀寫控制引腳,記為 o e 和 w e。外擴的 ram 的讀寫控制引腳分別與mcs-51的 r d 和 wr引腳相連。外擴的 eprom 在正常使用中只能讀出,不能寫入, 故 eprom 的芯片沒有寫入控制引腳,只有讀出引腳,記為oe ,該引腳與mcs-51 的 psen相連。17. 在 mcs-51單片機系統中,外接程序存儲器和數

14、據存儲器共用16 位地址線和八8 位數據線,為何不發生沖突?外接程序存儲器和數據存儲器雖然共用16 位地址線和8 位數據線,但由于訪問程序存儲器時是 psen信號有效,而訪問數據存儲器時是r d 或 wr 信號有效。而這些控制信號是由mcs-51執行訪問外部外序存儲器和或訪問外部數據存儲器的指令產生,任何時候只能執行1種指令,只產生1 種控制信號,所以不會產生數據沖突的問題。17. 8段共陰極數碼管的斷碼如何編寫。( 227 頁)記兩點即可: (1)共陰極時1 為亮 0 不亮;(2) abcdef 是按照順時針走的,知道g,dp 的位置。18. 單片機晶振頻率fosc 與機器周期tcy 的關系

15、式: 1tcy=12/fosc 。19. 編程題(1)循環程序的編寫(即延時程序的編寫)(94 頁 例 417)例 4-17 、50ms延時程序。(注:一條djnz指令消耗兩個機器周期)del: mov r7,#200 del1: mov r6 ,#125 del2 : djnz r6 ,del2 mov r7,del1 ret (2)中斷初始化程序的編寫(104 頁 例 51,107 頁 例 52)知識點:(1)中斷允許寄存器ie mcs-51的 cpu的中斷源的開放或屏蔽,是由片內的中斷允許寄存器ie 控制的。 ie 的字節地址為 a8h,可進行位尋址。ea - - es et1 ex1

16、et0 ex0 ea :中斷允許總控制位; es:串行口中斷允許位;et1:定時器 / 計數器 t1 的溢出中段允許位; ex1:外部中斷1 中段允許位;et0:定時器 / 計數器 t1 的溢出中段允許位; ex0:外部中斷0 中段允許位;注:當上述值置為0 時,表示禁止;置為1 時表示允許。如當 et1=0表示禁止t1 溢出中斷, et1=1表示允許t1 溢出中斷。(2)中斷優先級寄存器p mcs-51的片內有一個中斷優先級寄存器ip ,其字節地址為b8h ,可位尋址。精品文檔. - - - ps pt1 px1 pt0 px0 ps:串行口中斷優先級控制位;pt1:定時器t1 中斷優先級控

17、制位;px1 :外部中斷1 中斷優先級控制位;pt0:定時器t0 中斷優先級控制位;px0 :外部中斷0 中斷優先級控制位;注:當上述值置為0 時,表示定義為低優先級中斷;置為1 時表示高優先級中斷。例 5-1 、若允許片內2 個定時器 / 計數器中斷, 禁止其它中斷源的中斷請求。請編寫出設置ie 的相應程序段:(a) 、用位操作指令編寫如下程序段: clr es ;禁止串行口中斷clr ex1 ;禁止外部中斷1 中斷clr ex0 ;禁止外部中斷0 中斷setb et0 ;允許定時器 / 計數器 t0 中斷setb et1 ;允許定時器 / 計數器 t1 中斷setb ea ;cpu開中斷(

18、b) 、用字節操作指令來編寫:mov ie,#8ah 例 5-2、設置 ip 寄存器的初始值,使得mcs-51的 2 個外中斷請求為高優先級,其它中斷請求為低優先級。(a) 、用位操作指令編寫如下程序段:setb px0 ; 2個外中斷請求為高優先級setb px1 clr ps ;串行口、 2 個定時器 / 計數器為低優先級中斷clr pt0 clr pt1 (b) 、用字節操作指令來編寫:mov ip,#05h (3) 定時 /計數器 t0 或 t1在指定工作方式下產生一個定時或者計數的程序編寫。(125頁 例61,130 頁 例 64)(4)書中有一道程序編寫,但不知是哪一道,所以都找出

19、來了(99 頁第 10 題、第 11 題,117 頁第 9 題、 14,136 頁第 4 題)4.10 試編寫程序, 查找在內部 ram 的 30h50h 單元中是否有 0aah 這一數據。 若有, 則將 51h 單元置為“ 01h ”;若未找到,則將 51h 單元置為“ 00h ”。 org 0000h mov r0,#30h mov r2,#21h loop: mov a,r0 cjne a,#0aah,not mov 51h,#01h sjmp dend not: inc r0 djnz r2,loop mov 51h,#00h dend: sjmp dend 4.11 試編寫程序,查找

20、在內部 ram 的 20h40h 單元中出現“ 00h ”這一數據的次數。并將查找到的結果存入 41h 單元。精品文檔. org 0000h mov r0,#20h mov r2,#21h mov 41h,#00h loop: mov a,r0 cjne a,#00h,note inc 41h note: inc r0 djnz r2,loop end 5.9 編寫出外部中斷 1 為跳沿觸發的中斷初始化程序。 org 0000h ajmp main org 0013h ajmp pint1 org 0100h main: setb it1 setb ex1 setb ea here: ajmp here pint1: reti end 5.14 某系統有 3 個外部中斷源 1 、2、3,當某一中斷源變為低電平時,便要求 cpu 進行處理, 它們的優先處理次序由高到低依次為 3 、 2、 1, 中斷處理程序的入口地址分別為 1000h,1100h,1200h。試編寫主程序及中斷服務程序(轉至相應的中斷處理程序的入口即可)。 org 0000h ajmp main org 0003h ljmp pint0 org 0100h main: setb it0 setb ex0 setb ea here: sjmp here pint0: push psw push a j

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論