① 單片機中,比如51單片機有五個中斷源,兩個外部中斷源,兩個定時器中斷源,一個串口中斷。它們都在什麼情
MCS-51單片機中斷系統的結構:
5個中斷源的符號、名稱及產生的條件如下。
INT0:外部中斷0,由P3.2埠線引入,低電平或下跳沿引起。
INT1:外部中斷1,由P3.3埠線引入,低電平或下跳沿引起。
T0:定時器/計數器0中斷,由T0計滿回零引起。
T1:定時器/計數器l中斷,由T1計滿回零引起。
TI/RI:串列I/O中斷,串列埠完成一幀字元發送/接收後引起。
整個中斷系統的結構框圖見下圖一所示。
<51單片機中斷系統結構>
如圖所示,由與中斷有關的特殊功能寄存器、中斷入口、次序查詢邏輯電路等組成,包括5個中斷請求源,4個用於中斷控制的寄存器IE、IP、ECON和SCON來控制中斷類弄、中斷的開、關和各種中斷源的優先順序確定。
教你詳細認識!看看網址吧!
② 單片機pm.0埠是哪
單片機pm.0埠是1. 所示的器件組成: 圖2.1 MCS-51 單片機結構框圖 中央處理器: 中央處理器(CPU)是整個單片機的核心部件,是 8 位數據寬度的處理 器
2. MCS-51 單片機引腳功能 MCS-51 是標準的 40 。
③ 8051單片機簡介
8051單片機 - 基本結構
51 單片機最初是由Intel 公司開發設計的,但後來Intel 公司把51 核的設計方案賣給了幾家大的電子設計生產商,譬如 SST、Philip、Atmel 等大公司。如是市面上出現了各式各樣的但均以51 為內核的單片機,倒是Intel 公司自己的單片機卻顯得遜色了。這些各大電子生產商推出的單片機都兼容51 指令、並在51 的基礎上擴展一些功能而內部結構是與51 一致的。
8051單片機 - 結構框圖
PC 機的CPU 是基於馮諾伊曼的體系結構,然而MCU(單片機)、Dsp(數字信號處理器)都是基於哈佛結構的體系結構。哈佛結構與馮諾伊曼結構有很大的不同,在馮諾伊曼體系結構下只有一個地址空間,ROM 和RAM 可以隨意安排在這一地址范圍內的不同空間,即ROM 和RAM 地址統一分配。CPU 訪問存儲器時,一個地址對應唯一的存儲單元,可能是ROM,也可能是RAM。而哈佛結構下ROM 和RAM 是分開編址,即程序和數據分開保存,訪問時用不同的指令加以區分,並可同時訪問,在這樣的體系結構下有利於提高指令的執行速度。在後面的章節我們將詳細介紹單片機的存儲器配置。
圖2-1 所示為MCS-51 系列單片機的基本結構框圖。
從結構框圖我們可以看出在這一小塊晶元上,集成了一個微型計算機的各個組成部分。這些部分包括:
(1) 一個8 位的微處理器(CPU)。
(2) 片內數據存儲器RAM(128B/256B),用以存放可以讀/寫的數據,如運算的中間結果、最終結果以及欲顯示的數據等,SST89 系列單片機最多提供1K 的RAM。
(3) 片內程序存儲器ROM/EPROM(4KB/8KB),用以存放程序、一些原始數據和表格。但也有一些單片機內部不帶ROM/EPROM,如8031,8032,80C31 等。目前單片機的發展趨勢是將RAM 和ROM 都集成在單片機裡面,這樣既方便了用戶進行設計又提高了系統的抗干擾性。SST 公司推出的89 系列單片機分別集成了16K、32K、64K Flash 存儲器,可供用戶根據需要選用,讀者可查看書的後面部分。
(4) 四個8 位並行I/O 介面P0~P3,每個口既可以用作輸入,也可以用作輸出。
(5) 兩個定時器/計數器,每個定時器/計數器都可以設置成計數方式,用以對外部事件進行計數,也可以設置成定時方式,並可以根據計數或定時的結果實現計算機控制。為方便設計串列通信,目前的52 系列單片機都會提供3 個16 位定時器/計數器。
(6) 五個中斷源的中斷控制系統。現在新推出的單片機都不只5 個中斷源,例如SST89E58RD 就有9 個中斷源。
(7) 一個全雙工UART(通用非同步接收發送器)的串列I/O 口,用於實現單片機之間或單機與微機之間的串列通信。
(8) 片內振盪器和時鍾產生電路,但石英晶體和微調電容需要外接。最高允許振盪頻率為12MHz。SST89V58RD 最高允許振盪頻率達40MHz,因而大大的提高了指令的執行速度。
以上各個部分通過內部數據匯流排相互連接。
8051 單片機內部結構如圖2-2 所示。一個完整的計算機應該由運算器、控制器、存儲器(ROM 及RAM)、數據匯流排和I/O 介面組成。一般微處理器(如8086)就只包括運算器和控制器兩部分。和一般微處理器相比,8051 增加了四個8 位I/O 口、一個串列口、4KB ROM、128BRAM、很多工作寄存器及特殊功能寄存器(SFR),所以單片機具有比微處理器更強大的控制功能,單片機是專為進行控制設計的,而常見的微處理器是用於運算功能的,下圖各部分的功能描述。
④ 51單片機的硬體結構
本文主要講解51單片機的硬體結構,而且只介紹重點知識。
由上圖可以看出,51單片機組成結構包括以下幾個部分:
時序信號:一類用於片內各功能的部件的控制,另一類用於片外存儲器或IO埠的控制(這個對用戶來說是比較重要的,在定時器部分會講)
通過修改PSW中的RS1、RS0兩位的狀態,就能任選一個工作寄存器區。這個特點提高了MCS-51現場保護和現場恢復的速度。對於提高CPU的工作效率和響應中斷的速度是很有利的。若在一個實際的應用系統中,不需要四組工作寄存器,那麼這個區域中多餘單元可以作為一般的數據緩沖器使用。
按存儲結構可分為二類:一類是哈佛結構,另一類是普林斯頓結構。
①哈佛結構
哈佛結構是程序存儲器地址空間與數據存儲器地址空間分開的單片機結構,如80C51單片機採用哈佛結構,所以80C51單片機的程序存儲器地址空間與數據存儲器地址空間是分開的,各有64K存儲空間。
②普林斯頓結構
普林斯頓結構是程序存儲器地址空間與數據存儲器地址空間合並的單片機結構,如MCS-96單片機採用普林斯頓結構,所以MCS-96單片機的程序存儲器地址空間與數據存儲器地址空間是合並的,共有64K存儲空間。
P3口還有第二功能,表如下:
若TI 或 RI 被置位,必須用軟體清零,硬體不能將其清零。
在不設置IP優先順序寄存器的話,單片機內部會按這個默認順序優先順序去響應各個中斷。
上電復位後除埠鎖存器,堆棧指針,SBUF外,單片機內部的復位電路向所有的特殊功能寄存器寫入00H。SBUF的值是不能確定的。
復位還使ALE和PSEN信號變為無效(高電平),而內部RAM不受影響。但由於VCC上電復位後,RAM內容不定,除非是退回低功耗方式的復位。
⑤ 51單片機燒錄串口打開時瞬間跳轉
@ 無條件轉移指令(共4條)
LJMP addr16 ; PC〈—— addr16
AJMP addr11 ; PC〈—— PC+2 , PC10-0〈—— addr11
SJMP rel ; PC〈—— PC+2 , PC 〈—— PC+rel
JMP @A+DPTR ; PC〈—— A+DPTR
第一條指令稱為長轉移指令(Long Jump);
第二條指令叫作絕對轉移指令(Absolute Jump);
第三條指令稱作短轉移指令(Short Jump);
第四條指令是變址定址轉移指令(散轉指令)。
顯然,每條指令均以改變程序計數器PC(Program Counter)中的內容為宗旨。
#(1)長轉移指令(64KB范圍內轉移指令)
長轉移指令的功能是:把指令碼中的目標地址addr16裝入程序計數器PC,使機器執行下一條指令時無條件轉移到addr16處執行程序,不影響任何標志。由於addr16是一個16位二進制地址(地址范圍為0000H—FFFFH),因此長轉移指令一條可以在64KB范圍內轉移的指令。為了使程序設計方便易編,addr16常採用標號地址(如:LOOP、LOOP1、MAIN、START、DONE、NEXT1……)表示,只有在上機執行前才被匯編(或代真)為16位二進制地址。
長轉移指令為三位元組,雙周期指令。
#(2)絕對轉移指令(2KB范圍內的轉移指令)
絕對轉移指令是一條雙位元組雙周期指令,11位地址addr11(a10—a0)在指令中的分布是:
a10 a9 a8 0 0 0 1|a7 a6 a5 a4 a3 a2 a1 a0,其中,00001B是操作碼。在程序設計中,11位地址也可以用符號表示,但在上機執行前必須按照上述指令格式加以代真。
絕對轉移指令執行時分為兩步:
第一步是取指令操作,程序計數器PC中內容被加1兩次;
第二步是把PC加2後的高5為地址PC15—PC11和指令代碼中低11位構成目標轉移地址:PC15—PC11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0
其中,a10—a0的地址范圍是全「0」——全「1」。因此,絕對轉移指令可以在2KB范圍內向前或向後跳轉。
如果把單片機64KB定址區分成32頁(每頁2KB),則PC15—PC11(00000B—11111B)稱為頁面地址(即:0頁—31頁),a10—a0稱為頁內地址,但應注意:AJMP指令的目標轉移地址不是和AJMP指令地址在同一個2KB區域,而是應和AJMP指令取出後的PC地址(即:PC+2)在同一個2KB區域。例如:若AJMP指令地址為2FFEH,則PC+2=3000H,故目標轉移地址必在3000H—37FFH這2KB區域中。
#(3)短轉移指令(-126—+129范圍內的轉移指令)
短轉移指令的功能是先使程序計數器PC加1兩次(即:取出指令碼),然後把加2後的地址和rel相加作為目標轉移地址。因此,短轉移指令是一條相對轉移指令,是一條雙位元組雙周期指令,指令碼格式為:80H rel(操作碼 地址偏移量),這里,80H是SJMP指令的操作碼;rel是地址偏移量,在程序中也常採用符號地址,上機運行前才被代真成二進制形式。
遇到具體問題時,頭腦中一定要清楚一個關系式:目標轉移地址=源地址+2+rel
#(4)變址定址轉移指令(只能在256個存儲器單元內轉移)
這是一條單位元組雙周期無條件轉移指令。
在指令執行之前,用戶應預先把目標轉移地址的基地址送入DPTR,目標轉移地址對基地址的偏移量放在累加器A中。在指令執行時,MCS-51單片機把DPTR中基地址和累加器A中地址偏移量相加,以形成目標轉移地址送入程序計數器PC中。
通常,DPTR中基地址是一個確定的值,常常是一張轉移指令表的起始地址,累加器A中之值為表的偏移量地址,機器通過變址定址轉移指令便可實現程序的分支轉移
原文鏈接:https://..com/question/391202121358751485.html
打開CSDN,閱讀體驗更佳
51單片機匯編語言指令匯總_C.L.R的博客_51匯編
一、數據傳送類指令 1.以累加器為目的操作數指令 MOV A,Rn MOV A,@Ri MOV A,direct MOV A,#data 2.以Rn為目的操作數的指令 MOV Rn,A MOV Rn,direct MOV Rn,#data 3.以直接地址為目的操作數指令 MOV direct,A MOV direc...
51單片機匯編入門基礎代碼-流水燈_TC肖的博客
2、跳轉指令 1.短轉移類指令AJMP addr11 2.長轉移類指令LJMP addr16 3.相對轉移指令SJMP rel 它們都用於指令跳轉,從當前位置跳轉到後面的地址位(一般為自己擬了名字的地址如DELAY:)。(它們的差別在於跳轉的范圍:LJMP一下能跳64Kb。...
單片機跳轉指令學習
基於pic16f87x單片機的跳轉指令學習
51單片機的匯編語言
51單片機的匯編語言操作指令總結 1.指令格式 【標號:】操作碼 目的操作數 ,源操作數;注釋 如:LOOP:MOV A, 33H;將33H輸入到累加器A中 2.ORG xxxxH命令 是指向程序不同功能固定入口,如: 0000H----系統復位入口 0013H—外中斷1入口 0003H—外部中斷0入口 001BH—T1溢出中斷入口 000BH—T0溢出中斷入口 0023H串口中斷入口 3.控制轉移類指令 (1)無條件轉移指令—執行到該指令時無條件跳轉 LJMP長轉移指令:三位元組指令提供16位目
繼續訪問
51單片機指令詳解_凌煙慕魚的博客
51單片機指令詳解 數據傳遞類指令 1 以累加器為目的操作數的指令 MOV A,Rn MOV A,direct MOV A,@Ri MOV A,#data 第一條指令中,Rn代表的是R0-R7。第二條指令中,direct就是指的直接地址,而第三條指令中,就是我們剛才講過的...
第3 章 MCS-51 單片機指令系統_楊丙寅的博客
定址方式——計算機指令中說明操作數所在地址的方法。MCS-51 單片機的指令系統有 7 種定址方式,分別為立即定址、直接定址、寄存器定址、 寄存器間接定址、基址加變址定址、相對定址和位定址。
編程 ul 不能一行顯示 跳到下行_數控編程代碼及其使用方法—「UG編程」
G代碼代碼名稱-功能簡述G00------快速定位G01------直線插補G02------順時針方向圓弧插補G03------逆時針方向圓弧插補G04------定時暫停G05------通過中間點圓弧插補G07------Z 樣條曲線插補G08------進給加速G09------進給減速G20------子程序調用G22------半徑尺寸編程方式G220-----系統操作界面上使用G2...
繼續訪問
最新發布 51的指令系統
51單片機共有111條指令。可以大致分為以下五類: (1)數據傳送類(29條) (2)算術操作類(24條) (3)邏輯運算類(25條) (4)控制轉移類(17條) (5)位操作類(17條) 可用的指令是固定的、每種指令對應一個物理電路的實際運行過程,如果指令是指令集中不存在的,電路內部無法實現,指令就會出錯。 數據傳送類指令 一般形式為 MOV <目的操作數> , <源操作數> 操作碼包括MOV、MOVC、MOVX、PUSH、POP、XCH、XCHD、SWAP。 (1)首先是MOV
繼續訪問
51單片機原理及匯編教程(二)之匯編常用指令數,數據傳輸指令及定址方式...
1、MOV指令 ① MOV R0 , #20H #後面是立即數,要和地址區分開,20H是一個16進制的數。這句話的意思是將20H這個數送入寄存器R0中。直接定址 ② MOV 30H , @R0 R0裡面放的數,以這個數位地址,將這個地址裡面的數...
51單片機學習__X2的博客
51單片機指令集 *51指令不區分大小寫 1個機器周期=12個時鍾振盪周期 只有乘除兩條指令的執行時間為4個機器周期 指令由兩部分組成:操作碼+操作數 指令系統的定址方式 共7種定址方式 寄存器定址方式 ...
條件跳轉指令總結
指令 全稱 cmp a,b flag條件 jz/je jump if zero/equal a=b ZF=1 jnz/jne jump if not zero/equal a!=b ZF=0 jb/jnae/jc jump if below/not above or equal/carry a<b,無符號數 CF=1 ja/jnbe jump if above/not below or equal a>b,無符號數 jna/jbe jump if not ab...
繼續訪問
條件跳轉指令
條件跳轉指令 指令 條件 指令 條件 ja CF=0 AND ZF=0 jnc CF=0 jab CF=0 jne ZF=0 jb CF=1 jng ZF=1 OR SF!=OF jbe CF=1 OR ZF=1 jnge SF=OS jc CF=1 jnl SF=OF jcxz CX=0 jn
繼續訪問
單片機c語言有沒有跳轉指令,51單片機跳轉指令
@ 無條件轉移指令(共4條)LJMP addr16 ; PC〈—— addr16AJMP addr11 ; PC〈—— PC+2 , PC10-0〈—— addr11SJMP rel ; PC〈—— PC+2 , PC 〈—— PC+relJMP @A+DPTR ; PC〈—— A+DPTR第一條指令稱為長轉移指令(Long Jump);第二條指令叫作絕對轉移指令(Absolute...
繼續訪問
51單片機匯編指令
注: Rn與Ri中n=0 ~ 7,i=0 ~ 1 內部數據傳送指令 助記符 作用 定址方式 機器周期 位元組數 MOV A,Rn 將Rn的內容傳送給A 寄存器 1 1 MOV A,direct direct是一個地址單元,將該地址的內容傳送給A 直接 1 2 MOV A @Ri Ri中存儲了一個地址,將該地址的內容傳送給A 寄存器間接 1 1 MOV A #data 將data傳送到A 立即數 1 2 ...
繼續訪問
匯編指令長度計算
指令長度與定址方式有關系,規律或原則如下: 一、沒有操作數的指令,指令長度為1位元組。如 es: ds: cbw xlat 等。 二、操作數只涉及寄存器的指令,指令長度為2位元組。如 mov al,[si] mov ax,[bx+si] mov ds,ax 等。 三、操作數涉及內存地址的指令,指令長度為3位元組。如 mov al,[bx+1] mov ax,[bx+si+3] lea di,[1234] mov [2345],ax 等。 四、操作數涉及立即數的指令,指令長度為:寄存器類型+2。 8位寄存器,寄存器
繼續訪問
C51單片機匯編程序問題解決:
C51匯編程序出錯解決最近開始學習了一點匯編語言,剛好應課程要求,就來編一些簡單的C51程序,結果在定時器中斷跳轉的時候出錯了,錯誤截圖如下:demo.asm(8): error A51: TARGET OUT OF RANGE源程序代碼塊是報錯在CJNE指令這里ORG 000BH INC R1 CJNE R1,#4000,MAINLOOP
繼續訪問
單片機iap跳轉(超詳細教程,簡單好學,看了秒懂)
iap跳轉的作用:使用boot作為app升級,通常使用串口ymodem協議進行更新app,boot一般是佔用很小的flash 大約可以設置16kb,然後設置app的地址,設置相對的偏移地址後跳轉到app ymodem協議:https://mp.csdn.net/mp_blog/creation/editor/122768524 幾個注意的點: 1.關閉中斷之後,進入app要開啟中斷 2.看門狗被開啟之後,將永遠不會被關閉,所以要做好喂狗的處理 3.一般存在設置向量表的函數,跳轉之後要設置相關的向
繼續訪問
51單片機c語言訪問外部rom,51單片機資源擴展:從片內ROM跳轉到片外ROM
源於一年前想自己動手給51寫個OS,編譯選Large模式,調試時整個流程都跑的好好的,可是燒寫到片上後得不到預期的效果,後來查書才知道51單片機片上只有4KRom,如果沒有擴展片外Rom,當訪問4K以外的程序空間,程序指針又會回到最開始執行。參考手冊擴展片外Rom後,能訪問達64K的程序空間。網上能搜索到的擴展方式都是將EA引腳接地,讓MCU上電後從外部ROM開始執行。但查看晶元手冊,明明說EA為...
繼續訪問
c語言的程序跳轉,單片機中用c語言如何編寫跳轉程序
這個要用到軟體的pwm,因為51的沒有硬體的pwm所以只好自己寫軟體的了。首先,要做一個軟體三角波發生器子程序,頻率自己定,就是變亮變暗的周期。此函數的返回值作為pwm的輸入值。再做一個pwm的模擬程序,占空比(0-100)是三角波發生器的輸出,pwm模擬程序控制某個埠輸出1和0的占空比來控制燈 的明暗。pwm的思路是:檢查設置值是否不等於0,是則埠置1,程序開始加1計數,計數後檢查計數值是否...
繼續訪問
C51 main 函數學習以及函數跳轉
1.C51main函數深入學習,有如下代碼: #include "reg52.h" /************* 本地變數聲明 **************/ typedef void (*pFunction)(void); pFunction Jump_To_Application; unsigned int JumpAddress; unsigned int a=0; char i; v
繼續訪問
熱門推薦 51單片機之控制轉移指令SJMP、LJMP等
文章目錄前言一、無條件轉移指令LJMP addr16AJMP addr11SJMP relJMP @A + DPTR關於SJMP、AJMP、LJMP的選擇二、條件轉移指令JZ rel 前言 控制指令是將程序跳轉到某個指定的地址,在順序執行 控制指令是通過修改PC的內容來實現跳轉的功能 PC的內容是將要執行的下一跳指令的地址 一、無條件轉移指令 LJMP英文全稱:Absolute Jump AJ...
繼續訪問
8051單片機原理學習
8051單片機原理學習單片機結構框圖參考 單片機結構框圖 51單片機的結構框圖如下所示 51單片機主要組成部件有: 8bit微處理器(CPU): 主要進行算術運行和邏輯控制 片內4KB程序存儲器(4KB ROM): 用以可執行程序,只讀數據和表格 片內256B數據存儲器(256B RAM): 用於存放可讀寫數據,如算術運行的中間值和最終值等 4個8位並行I/O口(輸入/輸出口) P0 ~ P3: 每個並口可以用作輸入,也可以用作輸出 2個定時/計數器:每個定時/計數器可以設置為計數方式,也可以設置為定時
繼續訪問
c51語言主函數,C51 main 函數學習以及函數跳轉
C51main函數深入學習,有如下代碼:#include "reg52.h"/*************本地變數聲明**************/typedefvoid (*pFunction)(void);pFunctionJump_To_Application;unsigned int JumpAddress;unsigned int a=0;char i;void test(){while(...
繼續訪問
學 Win32 匯編[28] - 跳轉指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP 等...
跳轉指令分三類: 一、無條件跳轉: JMP; 二、根據 CX、ECX 寄存器的值跳轉: JCXZ(CX 為 0 則跳轉)、JECXZ(ECX 為 0 則跳轉); 三、根據 EFLAGS 寄存器的標志位跳轉, 這個太多了. 根據標志位跳轉的指令: JE ;等於則跳轉 JNE ;不等於則跳轉 JZ ;為 0 則跳轉 JNZ ;不為 0 則跳轉 JS...
繼續訪問
匯編語言轉換c51語言,51單片機匯編語言:控制轉移指令有哪些?
跳轉指令短跳指令 AJMP addr11PC←addr11,跳轉范圍2k長跳指令 LJMP addr16PC←addr16,跳轉范圍64k間接跳轉指令 JMP @A+DPTRPC←(A)+(DPTR)相對轉移指令 SJMP rel條件轉移指令JZ rel ;(A)=0,轉移JNZ rel ;(A)≠0,轉移JC rel ;
⑥ 51單片機的結構組成
上圖就是我們要研究學習的對象,51單片機摧部結構圖了。大家看看上圖,中間的一條雙橫線就是51單片機的內部匯流排了。其它的部件都是通過內部的匯流排與CPU相聯接的,在第一節課時我們已跟大家講述過,8051單片機是匯流排結構的。下面我們就51單片機內部的單個部件與大家進行講解。
中央處理器(CPU):
剛跟大家講過,需要提醒的是MCS-51的CPU能處理8位二進制數或代碼。CPU是單片機的主要核心部件,在CPU裡麵包含了運算器、控制器以及若干寄存器等部件給成。
內部數據存儲器(RAM):
MCS-51單片機晶元共有256個RAM單元,其中後128單元被專用寄存器佔用(稍後我們詳解),能作為寄存器供用戶使用的只是前128單元,用於存放可讀寫的數據。因此通常所說的內部數據存儲器就是指前128單元,簡稱內部RAM。地址范圍為00H~FFH(256B)。是一個多用多功能數據存儲器,有數據存儲、通用工作寄存器、堆棧、位地址等空間。
內部程序存儲器(ROM):
在前面也已講過,MCS-51內部有4KB/8KB位元組的ROM(51系列為4KB,51系列為8KB),用於存放程序、原始數據或表格。因此稱之為程序存儲器,簡稱內部RAM。地址范圍為0000H~FFFFH(64KB)。
定時器/計數器
51系列共有2個16位的定時器/計數器(52系列共有3個16位的定時器/計數器),以實現定時或計數功能,並以其定時或計數結果對計算機進行控制。定時時靠內部分頻時鍾頻率計數實現,做計數器時,對P3.4(T0)或P3.5(T1)埠的低電平脈沖計數。
並行I/O口
MCS-51共有4個8位的I/O口(P0、P1、P2、P3)以實現數據的輸入輸出。具體功能在後面章節中將會詳細論述。
串列口
MCS-51有一個可編程的全雙工的串列口,以實現單片機和其它設備之間的串列數據傳送。該串列口功能較強,既可作為全雙工非同步通信收發器使用,也可作為移位器使用。RXD( P3.0)腳為接收埠,TXD(P3.1)腳為發送埠。
中斷控制系統
MCS-51單片機的中斷功能較強,以滿足不同控制應用的需要。51系列有5個中斷源(52系列有6個中斷源),即外中斷2個,定時中斷2個,串列中斷1個,全部中斷分為高級和低級共二個優先順序別,優先順序別的設置我們也將在後面進行詳細的講解。
定時與控制部件
MCS-51單片機內部有一個高增益的反相放大器,基輸入端為XTAL1輸出端為XTAL2。MCS-51晶元的內部有時鍾電路,但石英晶體和微調電容需外接。時鍾電路為單片機產生時鍾脈沖序列。
⑦ C51單片機串列介面的結構是怎樣的
C51系列單片機內部有一個功能很強的全雙工串列非同步通信介面(UART)。如圖所示為C51單片機的串列口結構框圖。它主要由兩個串列數據緩沖器(SBUF)、發送控制、發送埠、接收控制、接收埠和波特率控制等組成。
C51系列單片機串列介面結構框圖
⑧ 51單片機C語言應用程序設計實例精講的目錄
第1章51單片機開發的基礎知識
1.151單片機的硬體結構
1.1.1功能模塊
1.1.2CPU
1.1.3並行I/O埠
1.1.4存儲囂結構
1.1.5定時/計數器
1.1.6串列口
1.1.7中斷系統
1.251單片機的指令系統
1.2.1定址方式
1.2.2指令說明
1.2.3指令系統表
1.3本章總結
第2章C語言程序各語句用法與意義
2.1數據結構
2.1.1數據類型
2.1.2變數與常量
2.1.3數組
2.1.4指針
2.1.5結構
2.1.6共用體
2.1.7枚舉
2.2運算符與表達式
2.2.1運算符分類與優先順序
2.2.2算術運算符與表達式
2.2.3關系運算符與表達式
2.2.4邏輯運算符與表達式
2.2.5位操作運算符與表達式
2.2.6賦值運算符與表達式
2.3程序結構與函數
2.3.1程序結構
2.3.2函數
2.4流程式控制制語句
2.4.1選擇語句
2.4.2循環語句
2.4.3轉移語句
2.5本章總結
第3章Keil8051C編譯器
3.1Keil編譯器簡介
3.2使用Keil開發應用軟體
3.2.1建立工程
3.2.2工程的設置
3.2.3編譯與連接
3.3dScopeforWindows的使用
3.3.1如何啟動
3.3.2如何調試
3.3.3調試窗口
3.4本章總結 第4章單片機實現液晶顯示
4.1實例說明
4.2設計思路分析
4.2.1液晶顯示模塊
4.2.2液晶顯示工作原理
4.2.3設計思路
4.3硬體電路設計
4.3.1器件選取
4.3.2電源模塊
4.3.3液晶顯示模塊
4.3.4單片機模塊
4.4軟體設計
4.4.1液晶控制驅動囂指令集
4.4.2程序說明
4.5實例總結
第5章基於MAX7219的8位數碼管顯示
5.1實例說明
5.2設計思路分析
5.2.1LED顯示驅動晶元的選取
5.2.2MAX7219的工作原理
5.3硬體電路設計
5.3.1主要器件
5.3.2電路原理圖
5.4軟體設計
5.4.1MAX7219的工作時序和寄存器描述
5.4.2程序說明
5.5實例總結
第6章鍵盤輸入實例——實現4x4鍵盤
6.1實例說明
6.2設計思路分析
6.3硬體電路設計
6.4軟體設計
6.5實例總結
第7章單片機實現語音錄放
7.1實例說明
7.2設計思路分析
7.2.1語音晶元選取
7.2.2語音晶元1SD2560簡介
7.3硬體電路設計
7.3.1主要器件
7.3.2電路原理圖及說明
7.4軟體設計
7.4.1程序流程
7.4.2程序說明
7.5實例總結 第8章基於MAX197的並行A/D轉換
8.1實例說明
8.2設計思路分析
8.2.1A/D轉換原理
8.2.2如何選擇A/D轉換器件
8.2.3A/D轉換器對電源電路的要求
8.3硬體電路設計
8.3.1主要器件
8.3.2電路原理圖及說明
8.4軟體設計
8.4.1MAX197控制字
8.4.2程序流程
8.4.3程序說明
8.5實例總結
第9章基於TLC549的串列A/D轉換
9.1實例說明
9.2設計思路分析
9.2.1晶元選取
9.2.2工作原理
9.3硬體電路設計
9.3.1主要器件
9.3.2電路原理圖及說明
9.4軟體設計
9.4.1轉換過程和時序要求
9.4.2程序流程
9.4.3程序說明
9.5實例總結
第10章基於MAX527的並行D/A轉換
10.1實例說明
10.2設計思路分析
10.2.1D/A轉換原理
10.2.2如何選擇D/A轉換器件
10.2.3D/A轉換器對電源電路的要求
10.3硬體電路設計
10.3.1主要器件
10.3.2電路原理圖及說明
10.4軟體設計
10.4.1MAX527的地址和重要引腳
10.4.2程序流程
10.4.3程序說明
10.5實例總結
第11章基於MAX517的串列D/A轉換
11.1實例說明
11.2設計思路分析
11.2.1晶元選取
11.2.2工作原理
11.3硬體電路設計
11.3.1主要器件
11.3.2電路原理圖及說明
11.4軟體設計
11.4.1時序要求和轉換過程
11.4.2程序說明
11.5實例總結
第12章基於SHT71數字溫/濕度感測器的採集實現
12.1實例說明
12.2設計思路分析
12.2.1SHT71性能概述
12.2.2SHT71的功能說明
12.2.3SHT71的引腳尺寸和說明
12.3硬體電路設計
12.4軟體設計
12.4.1SHT71的操作方法
12.42程序流程
12.4.3源程序清單
12.5實例總結
第13章基於DS1624的數字溫度計設計
13.1實例說明
13.1.2設計思路分析
13.2.1DS1624簡介
13.2.2DS1624基本特性
13.2.3DS1624工作原理
13.2.4DS1624工作方式
13.2.5DS1624的指令集
13.3硬體電路設計
13.3.1硬體設計
13.3.2原理科及其說明
13.4軟體設計
13.4.1程序流程
13.4.2程序說明
13.5實例總結 第14章基於DS12C887的實時日歷時鍾顯示系統設計
14.1實例說明
14.2設計思路分析
14.2.1選擇合適的日歷時鍾晶元7
14.2.2如何由DS12C887晶元獲取時間信息
14.3硬體電路設計
14.3.1結構框圖
14.3.2主要器件
14.3.3電路原理圖及說明
14.4軟體設計
14.4.1DS12C877的內存空間
14.4.2程序流程
14.4.3程序代碼及說明
14.5實例總結
第15章單片機控制的步進電機系統
15.1實例說明
15.2設計思路分析
15.2.1步進電機的工作原理
15.2.2步進電機的控制
15.2.3脈沖分配與驅動晶元的選取
15.3硬體電路設計
15.3.1結構框圖
15.3.2主要器件
15.3.3電路原理圖廈說明
15.4軟體設計
15.4.1程序流程
15.4.2程序說明
15.5實例總結
第16章基於MAX1898的智能充電器設計
16.1實例說明
16.2設計思路分析
16.2.1為何需要實現充電器的智能化
16.2.2如何選擇電池充電晶元
16.2.3MAX1898的充電工作原理
16.3硬體電路設計
16.3.1主要器件
16.3.2電路原理圖及說明
16.4軟體設計
16.4.1程序流程
16.4.2程序說明
16.5實例總結 第17章基於NORFlashAM29LV320的數據存儲
17.1實例說明
17.2設計思路分析
17.2.1晶元AM29LV320
17.2.2具體設計思路
17.3硬體電路設計
17.4軟體設計
17.4.1AM29LV320的命令與狀態
17.4.2串列非同步數據傳輸
17.4.3程序代碼說明
17.5實例總結
第18章基於XC95144的串口擴展
18.1實例說明
18.2設計思路分析
18.2.1串口發送的設計
18.2.2串口接收的設計
18.2.3串口模塊的設計l
18.3硬體電路設計
18.4軟體設計
18.4.1CPLD的設計原理圖
18.4.2C51單片機程序代碼說明
18.5實例總結
第19章基於8255擴展並行口
19.1實例說明
19.2設計思路分析
19.2.1並行口擴展的原理
19.2.2晶元選擇
19.3硬體電路設計
19.4軟體設計
19.5實例總結 第20章單片機實現智能信號發生器
第21章單片機實現步進式PWM信號輸出
第22章單片機實現CRC演算法
第23章單片機實現軟體濾波
第七篇通信傳輸系統設計
第24章單片機實現點對點的數據傳輸
第25章單片機實現點對多點的數據傳輸
第26章單片機實現乙太網介面
第27章單片機實現1C匯流排通信
第28章單片機實現RS-485匯流排現場監測系統
第29章CAN匯流排介面通信設計
第八篇電源監控與抗干擾設計
第30章單片機監控電路設計
第31章光電隔離電路設計 附錄A匯編語言與C語言的混合編程
附錄B實例配套實驗箱