freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于51單片機(jī)gps通訊(編輯修改稿)

2024-12-23 21:42 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 ORT 0 DRIVERS PORT 2 LATCH PORT 0 LATCH RAM RAM AODR REGSTER PROGRAM ADDRESS REGISTER DPTR PROGRAM COUNTER PC INCREMENTER BUFFER 7 MCS51 的引腳描述 圖 2- 2顯示的是主流 MCS51單片機(jī)的引腳配置圖。引腳可分為以下四類: 1.主電源引腳 VCC和 VSS 2.外接晶振引腳 XTAL1和 XTAL2 3.控制或其他電源復(fù)用引腳 RST/VPD、 ALE/、和 /VPP 4.輸入 /輸出引腳 P0、 P P P3(共 32根) 圖 23 MCS51單片機(jī)的引腳配置 圖 存儲(chǔ)器配置 MCS51的存儲(chǔ)器采用哈佛結(jié)構(gòu),即程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的尋址空間是分開的,對(duì) 51系列而言,有四個(gè)物理上相互獨(dú)立的存儲(chǔ)器空間,即內(nèi)外程序存儲(chǔ)器,內(nèi)外數(shù)據(jù)存儲(chǔ)器。 物理上分為: 4個(gè)空間,即片內(nèi) ROM、片外 ROM、片內(nèi) RAM、片外 RAM 邏輯上分為: 3個(gè)空間, 即程序內(nèi)存(片內(nèi)、外)統(tǒng)一編址 數(shù)據(jù)存儲(chǔ)器(片內(nèi)) 數(shù)據(jù)存儲(chǔ)器(片外) 8 ( 1) .程序存儲(chǔ)器 一個(gè)微處理器能夠聰明地執(zhí)行某種任務(wù),除了它們強(qiáng)大的硬件外,還需要運(yùn)行的軟件,其實(shí)微處理器并不聰明,它們只是完全按照人們預(yù)先編寫的程序而執(zhí)行。那么設(shè)計(jì)人員編寫的程序就存放在微 處理器的程序存儲(chǔ)器中,俗稱只讀程序存儲(chǔ)器( ROM)。 MCS51具有 64KB程序存儲(chǔ)器尋址空間,它是用于存放用戶程序、數(shù)據(jù)和表格等信息。 51片內(nèi)有 4KB的程序存儲(chǔ)單元,其地址為 0000H— 0FFFH,單片機(jī)啟動(dòng)復(fù)位后,程序計(jì)數(shù)器的內(nèi)容為0000H,所以系統(tǒng)將從 0000H單元開始執(zhí)行程序。但在程序存儲(chǔ)中有些特殊的單元,這在使用中應(yīng)加以注意:其中一組特殊是 0000H— 0002H單元,系統(tǒng)復(fù)位后, PC為 0000H,單片機(jī) 從 0000H單元開始執(zhí)行程序,如果程序不是從 0000H單元開始,則應(yīng)在這三個(gè)單元中存放一條無 條件轉(zhuǎn)移指令,讓 CPU直接去執(zhí)行用戶指定的程序。另一組特殊單元是 0003H— 002AH,這 40個(gè)單元各有用途,它們被均勻地分為五段,它們的定義如下: 0003H— 000AH外部中斷 0中斷地址區(qū)。 000BH— 0012H定時(shí) /計(jì)數(shù)器 0中斷地址區(qū)。 0013H— 001AH外部中斷 1中斷地址區(qū)。 001BH— 0022H定時(shí) /計(jì)數(shù)器 1中斷地址區(qū)。 0023H— 002AH串行中斷地址區(qū)。 可見以上的 40個(gè)單元是專門用于存放中斷處理程序的地址單元,中斷響應(yīng) 后,按中斷的類型,自動(dòng)轉(zhuǎn)到各自的中斷區(qū)去執(zhí)行程序。因此以上地址 單元不能用于存放程序的其他內(nèi)容,只能存放中斷服務(wù)程序。但是通常情況下,每段只有 8個(gè)地址單元是不能存下完整的中斷服務(wù)程序的,因而一般也在中斷響應(yīng)的地址區(qū)安放一條無條件轉(zhuǎn)移指令,指向程序存儲(chǔ)器的其它真正存放中斷服務(wù)程序的空間去執(zhí)行 ,這樣中斷響應(yīng)后, CPU讀到這條轉(zhuǎn)移指令,便轉(zhuǎn)向其他地方去繼續(xù)執(zhí)行中斷服務(wù)程序。 ( 2) .數(shù)據(jù)存儲(chǔ)器 數(shù)據(jù)存儲(chǔ)器也稱為隨機(jī)存取數(shù)據(jù)存儲(chǔ)器。 MCS51單片機(jī)的數(shù)據(jù)存儲(chǔ)器在物 理上和邏輯上都分為兩個(gè)地址空間,一個(gè)是內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū)和一個(gè)外部數(shù)據(jù)存儲(chǔ)區(qū)。 MCS51內(nèi)部 RAM有 128或 256個(gè)字節(jié)的用戶數(shù)據(jù)存儲(chǔ)(不同的型號(hào)有分別),它們是用于存放執(zhí)行的中間結(jié)果和過程數(shù)據(jù)的。 MCS51的數(shù)據(jù)存儲(chǔ)器均可讀寫,部分單元還可以位尋址。一般的 51單片機(jī)內(nèi)部 RAM共有 256個(gè)單元,這 256個(gè)單元共分為兩部分。其一是地址從 00H— 7FH單元(共128個(gè)字節(jié))為用戶數(shù)據(jù) RAM。從 80H— FFH地址單元(也是 128個(gè)字節(jié))為特殊寄存器( SFR)單元。從下圖中可清楚地看出它們的結(jié)構(gòu)分布。 9 特殊功能寄存器區(qū)( SFR) 數(shù)據(jù)緩沖區(qū)堆棧區(qū)工作單元 位尋址區(qū) 3 區(qū) 2 區(qū) 1 區(qū) 0 區(qū) 24 內(nèi)部 RAM分配圖 在 00H— 1FH共 32個(gè)單元中被均勻地分為四塊,每塊包含八個(gè) 8位寄存器, 均以 R0— R7來命名,我們常稱這些寄存器為通用寄存器。 CPU只要定義這個(gè)寄存的 PSW的第 3和第 4位( RS0和 RS1),即可選中這四組通用寄存器。對(duì)應(yīng)的編碼關(guān)系如圖表 2- 1所示。 表 21 PSW與工作寄存器關(guān)系 (RS!) (RS0) 工作寄存器區(qū) 0 0 0區(qū) 00H— 07H 0 1 1區(qū) 08H— 0FH 1 0 2區(qū) 10H— 17H 1 1 3區(qū) 18H— 1FH 特殊 功能寄存器( SFR)也稱為專用寄存器,特殊功能寄存器反映了 MCS51 單片機(jī)的運(yùn)行狀態(tài)。 [9]很多功能也通過特殊功能寄存器來定義和控制程序的執(zhí)行。 MCS51有 21個(gè)特殊功能寄存器,它們被離散地分布在內(nèi)部 RAM的 80H— FFH地址中,這些寄存器的功能已作了專門的規(guī)定,所以用戶不能修改其結(jié)構(gòu)。內(nèi)部 RAM的 20H— 2FH單元為位尋址區(qū),既可作為一般單元用字節(jié)尋址,也可對(duì)它們的位進(jìn)行尋址。位尋址區(qū)共有 16個(gè)字節(jié), 128個(gè)位,位地址為 00H— 7FH。 CPU能直接尋址這些位,執(zhí)行例如置“ 1”、清“ 0”、只能字節(jié)尋址 可字節(jié)尋址 亦可 位尋址 全部可位尋址 共 16 個(gè)字節(jié) 128 位 4 組通用寄存器 R0R7 也可作 RAM 使用, R0、 R1 亦可位尋址 FFH 80H 7FH 20H 2FH 00H 20H 1FH 10 求“反”、 轉(zhuǎn)移,傳送和邏輯等操作。我們常稱 MCS51具有布爾處理功能,布爾處理的存儲(chǔ)空間指的就是這些為尋址區(qū)。 輸入 /輸出端口 MCS51單片機(jī)有 4個(gè)雙向并行的 8位 I/O口 P0~ P3, P0口為三態(tài)雙向口, 可驅(qū)動(dòng) 8個(gè) TTL電路, P P P3口為準(zhǔn)雙向口,其負(fù)載能力為 4個(gè) TTL電路。 ~ ( 39~ 32腳): 8位漏極開路的三態(tài)雙向輸入 /輸出口??勺鳛橐话愕?I/O口使用,也可作為數(shù)據(jù)線、地址線使用。 ~ ( 1~ 8腳): 8位帶有內(nèi)部上拉電阻的準(zhǔn)雙向輸入 /輸出口。 P1口通常作為通用 I/O口使用。作為輸出口時(shí),由于電路內(nèi)部已經(jīng)帶上拉電阻,因此 P1 P2 S1 P2 指令周期機(jī)器周期 S2S3 S4 S5 S6 S1 S2 S3 S4S5 S6 P1 P2 P1 P2 P1P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2XTAL2 (OSC) 振蕩周期 時(shí)鐘周期 無需外接上拉電阻;作為輸入口時(shí),也需先向鎖存器寫入“ 1”。是一個(gè)標(biāo)準(zhǔn)的 I/O口。本次項(xiàng)目中就是利用他們進(jìn)行模擬串行通信。 ~ ( 21~28腳): 8位帶有內(nèi)部上拉電阻 的準(zhǔn)雙向輸入 /輸出口。 P2口可作為通用 I/O口使用,也可作為高位地址線使用的。 ~ ( 10~ 17腳): 8位帶有內(nèi)部上拉電阻的準(zhǔn)雙向輸入 /輸出口。 P3口可作為通用 I/O口使用,也可作為第二功能需要來用的。對(duì)于 P3口,實(shí)際上,都是先按需要選取第二功能,多余的再作為輸入輸出口使用 定時(shí)器 /計(jì)數(shù)器 MCS51的單片機(jī)內(nèi)有兩個(gè) 16位可編程的定時(shí) /計(jì)數(shù)器,它們具有四種工作方式,其控制字和狀態(tài)均在相應(yīng)的特殊功能寄存器中,通過對(duì)控制寄存器的編程,就可方便地選擇適當(dāng)?shù)墓ぷ鞣绞?。定時(shí)器在本次項(xiàng)目中需要 用到地方較多。 MCS51單片機(jī)內(nèi)部的定時(shí) /計(jì)數(shù)器的結(jié)構(gòu)如圖所示: 11 圖 25 MCS51單片機(jī)定時(shí) /計(jì)數(shù)器結(jié)構(gòu)圖 定時(shí)器 T0由特殊功能寄存器 TL0(低 8位)和 TH0(高 8位)構(gòu)成,定時(shí) 器 T1由特殊功能寄存器 TL1(低 8位)和 TH1(高 8位)構(gòu)成。特殊功能寄存器 TMOD控制定時(shí)寄存器的工作方式, TCON則用于控制定時(shí)器 T0和 T1的啟動(dòng)和停止計(jì)數(shù),同時(shí)管理定時(shí)器 T0和 T1的溢出標(biāo)志等。程序開始時(shí)需對(duì)TL0、 TH0、 TL1和 TH1進(jìn)行初始化編程,以定義它們的工作方式和控制 T0和 T1的計(jì)數(shù)。 TMOD和 TCON這兩個(gè)特殊功能寄存器的格式參見下表: 表 22 定時(shí) /計(jì)數(shù)器的方式控制字 TMOD D7 D6 D5 D4 D3 D2 D1 D0 GATE C/T M1 M0 GATE C/T M1 M0 TI方式字段 TO方式字段 表 23 定時(shí)器控制寄存器 TCON D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 MCS51的定時(shí) /計(jì)數(shù)器共有四種工作方式,我們將逐個(gè)了解下,并著重介紹 本次項(xiàng)目采用的工作方式 2。工作方式 0:定時(shí) /計(jì)數(shù)器 0的工作方式 0是 13位計(jì)數(shù)結(jié)構(gòu)的工作方式,其計(jì)數(shù)器由 TH的全部 8位和 TL的低 5位構(gòu)成, TL的高3位沒有使用。定時(shí)時(shí)間的計(jì)算公式為: (213— 計(jì)數(shù)初值 )179。晶振周期179。 12或 (213— 計(jì)數(shù)初值 )179。機(jī)器周期,其時(shí)間單位與晶振周期或機(jī)器周期相同。 工作方式 1:方式 0和方式 1的區(qū)別僅在于計(jì)數(shù)器的位數(shù)不同,方式 0為 13位,而方式 1則為 16位,由 TH0作為高 8位, TL0為低 8位,定時(shí)時(shí)間的計(jì)算公式為:( 216-計(jì)數(shù)初值)179。晶振周期179。 12或( 216— 計(jì)數(shù)初值)179。機(jī)器周期。 12 工作方式 2:當(dāng) M1M0=10時(shí) ,定時(shí) /計(jì)數(shù)器處于工作方 式 電路如圖 2- 5所示。我們以定時(shí) /計(jì)數(shù)器 0為例 ,定時(shí) /計(jì)數(shù)器 1與之完全一致 圖 26 定時(shí) /計(jì)數(shù)器工作方式 2等效電路 工作方式 0和工作方式 1的最大特點(diǎn)就是計(jì)數(shù)溢出后,計(jì)數(shù)器為全 0,因而 循環(huán)定時(shí)或循環(huán)計(jì)數(shù)應(yīng)用時(shí)就存在反復(fù)設(shè)置初值的問題,這給程序設(shè)計(jì)帶來許多不便,同時(shí)也會(huì)影響計(jì)時(shí)精度,工作方式 2就針對(duì)這個(gè)問題而設(shè)置,它具有自動(dòng)重裝載功能,即自動(dòng)加載計(jì)數(shù)初值,所以也有的文獻(xiàn)稱之為自動(dòng)重加載工作方式。在這種工作方式中, 16位計(jì)數(shù)器分為兩部分,即以 TL0為計(jì)數(shù)器,以 TH0作為預(yù)置寄存器,初 始化時(shí)把計(jì)數(shù)初值分別加載至 TL0和TH0中,當(dāng)計(jì)數(shù)溢出時(shí),不再象方式 0和方式 1那樣需要“人工干預(yù)”,由軟件重新賦值,而是由預(yù)置寄存器 TH以硬件方法自動(dòng)給計(jì)數(shù)器 TL0重新加載。但這種方式也有其不利的一面,就是這樣一來的計(jì)數(shù)結(jié)構(gòu)只有 8位,計(jì)數(shù)值有限,最大只能到 255。所以這種工作方式很適合于那些重復(fù)計(jì)數(shù)的應(yīng)用場(chǎng)合。例如我們可以通過這樣的計(jì)數(shù)方式產(chǎn)生中斷,從而產(chǎn)生一個(gè)固定頻率的脈沖。也可以當(dāng)作串行數(shù)據(jù)通信的波特率發(fā)送器使用。本次項(xiàng)目中的波特率就采用 T1的方式二產(chǎn)生。工作方式 3:在工作方式 3模式下,定時(shí) /計(jì)數(shù)器 0被 拆成兩個(gè)獨(dú)立的 8位計(jì)數(shù)器 TL0和 TH0。其中 TL0既可以作計(jì)數(shù)器使用,也可以作為定時(shí)器使用,定時(shí) /計(jì)數(shù)器 0的各控制位和引腳信號(hào)全歸它使用。其功能和操作與方式 0或方式 1完全相同。 TH0就沒有那么多“資源”可利用了,只能作為簡(jiǎn)單的定時(shí)器使用,而且由于定時(shí) /計(jì)數(shù)器 0的控制位已被 TL0占用,因此只能借用定時(shí) /計(jì)數(shù)器 1的控制位 TR1和 TF1,也就是以計(jì)數(shù)溢出去置位 TF1, TR1則負(fù)責(zé)控制 TH0定時(shí)的啟動(dòng)和停止。 串行接口 13 MCS51單片機(jī)內(nèi)部有一個(gè)全雙工的串行通信口,即串行接收和發(fā)送緩沖器( SBUF), 這兩個(gè)在物理上獨(dú)立的接收發(fā)送器,既可以接收數(shù)據(jù)也可以發(fā)送數(shù)據(jù)。但接收緩沖器只能讀出不能寫入,而發(fā)送緩沖器則只能寫入不能讀出,它們的地址為 99H。這個(gè)通信口既可以用于網(wǎng)絡(luò)通信,亦可實(shí)現(xiàn)串行異步通信,還可以構(gòu)成同步移位寄存器使用。如果在串行口的輸入輸出引腳上加上電平轉(zhuǎn)換器,就可方便地構(gòu)成標(biāo)準(zhǔn)的 RS232接口。常用于數(shù)據(jù)通信的傳輸方式有單工、半雙工、全雙工和多工方式。 中斷 單片機(jī)中 CPU只有一個(gè),但在同一時(shí)間內(nèi)可能會(huì)面臨著處理很多任務(wù)的情況,如運(yùn)行主程序、數(shù)據(jù)的輸入和輸出,定時(shí)和計(jì)數(shù)時(shí)間已到要處理 、可能還有一些外部的更重要的中斷請(qǐng)求(如超溫超壓)要先處理。此時(shí)也得象人的思維一樣停下某一樣(或幾樣)工作先去完成一些緊急任務(wù)的中斷方法。這樣的處理方法上升到計(jì)算機(jī)理論,就是一個(gè)資源面對(duì)多項(xiàng)任務(wù)的處理方式。由于資源有限,面對(duì)多項(xiàng)任務(wù)同時(shí)要處理時(shí),就會(huì)出現(xiàn)資源競(jìng)爭(zhēng)的現(xiàn)象。中斷技術(shù)就是為了解決資源競(jìng)爭(zhēng)的一個(gè)可行的方法,采用中斷技術(shù)可使多項(xiàng)任務(wù)共享一個(gè)資源。 MCS51提供了 5個(gè)中斷源,兩個(gè)中斷優(yōu)先級(jí)控制,可實(shí)現(xiàn)兩個(gè)中斷服務(wù)嵌套。 [11]當(dāng) CPU支持中斷屏蔽指令后,可將一部分或所有的中斷關(guān)斷,只有打開相應(yīng)的中斷控 制位后,方可接收相應(yīng)的中斷請(qǐng)求。程序設(shè)置中斷的允許或屏蔽,也可設(shè)置中斷的優(yōu)先級(jí)。 14 圖 27 MCS51中斷系統(tǒng)結(jié)構(gòu) 等 CPU響應(yīng)中斷請(qǐng)求后,就立即轉(zhuǎn)入執(zhí)行中斷服務(wù)程序。不同的中斷源、 不同的中斷要求有
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1