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

正文內(nèi)容

單片機(jī)控制數(shù)字液壓閥的系統(tǒng)設(shè)計(jì)畢業(yè)論文-閱讀頁

2025-07-12 13:41本頁面
  

【正文】 后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。由于KeilC51單片機(jī)實(shí)驗(yàn)臺的高性能,本次實(shí)驗(yàn)所編程序均采用C語言編程,使源程序容易讀寫和修改。首先按照KeilC51單片機(jī)實(shí)驗(yàn)臺的操作方法,使用KeilC51自帶的軟件編程,輸入源程序,繼而編譯并修改源程序,直到源程序沒有錯(cuò)誤為止。接著,把源程序拷入KeilC51自帶的89C51單片機(jī)上,看下接口的燈是否點(diǎn)亮,如果接口的燈已經(jīng)點(diǎn)亮,說明電路已通;沒有則說明電路有問題。模擬實(shí)驗(yàn)因?yàn)闆]有反饋電路,只能用A/D轉(zhuǎn)換器單元做模擬。這樣實(shí)驗(yàn)就結(jié)束了。()()()()、:1. 當(dāng)步驟進(jìn)入對象選擇后,需要確定一些參數(shù)。6. 最后在輸出中,把生成HEX文件上化勾。()最后,待編程與對象設(shè)置完成后,就可以運(yùn)行程序,在寄存器一欄可以看出程序運(yùn)行狀況。從時(shí)間的數(shù)值我們也可以看出,與理論數(shù)值相差不多,所得到的時(shí)間完全可以接受,所以不影響本次畢業(yè)設(shè)計(jì)的結(jié)果。如果你有C 編譯器的話 那恭喜你 使用C 語言進(jìn)行開發(fā)是一個(gè)好的決定 你會(huì)發(fā)現(xiàn)使用C 進(jìn)行開發(fā)將使你的工程開發(fā)和維護(hù)的時(shí)間大大減少 如果你已經(jīng)擁有Keil C51 那你已經(jīng)選擇了一個(gè)非常好的開發(fā)工具 我發(fā)現(xiàn)Keil 軟件包能夠提供最好的支持 本書支持Keil C 的擴(kuò)展 如果你有其它的開發(fā)工具像Archimedes 和Avocet 這本書也能很好地為你服務(wù) 但你必須根據(jù)你所用的開發(fā)工具改變一些Keil 的特殊指令在書的一些地方有硬件圖 實(shí)例程序在這些硬件上運(yùn)行 這些圖繪制地不是很詳細(xì)主要是方框圖 但足以使讀者明白軟件和硬件之間的接口讀者應(yīng)該把這本書看成工具書 而不是用來學(xué)習(xí)各種系統(tǒng)設(shè)計(jì) 通過本書 你可以了解給定一定的硬件和軟件設(shè)計(jì)之后805 1的各種性能 希望你能從本書中獲取靈感 并有助于你的設(shè)計(jì) 使你豁然開朗 當(dāng)然 我希望你也能夠從本書中學(xué)到有用的知識 使之能夠提升你的設(shè)計(jì)!第二章硬件1概述8051 系列微處理器基于簡化的嵌入式控制系統(tǒng)結(jié)構(gòu)被廣泛應(yīng)用于從軍事到自動(dòng)控制再到PC 機(jī)上的鍵盤上的各種應(yīng)用系統(tǒng)上 僅次于Motorola 68HC 11在 8 位微控制器市場上的銷量 很多制造商都可提供8051系列單片機(jī) 像Intel Philips Siemens 等 這些制造商給51系列單片機(jī)加入了大量的性能和外部功能 像I2C 總線接口 模擬量到數(shù)字量的轉(zhuǎn)換 看門狗PWM 輸出等 不少芯片的工作頻率達(dá)到40M 基于一個(gè)內(nèi)核的這些功能使得8051單片機(jī)很適合作為廠家產(chǎn)品的基本構(gòu)架 它能夠運(yùn)行各種程序 而且開發(fā)者只需要學(xué)習(xí)這一個(gè)平臺8051 系列的基本結(jié)構(gòu)如下1 一個(gè)8 位算術(shù)邏輯單元2 32 個(gè)I/O 口4 組8 位端口 可單獨(dú)尋址3 兩個(gè)16 位定時(shí)計(jì)數(shù)器4 全雙工串行通信5 6 個(gè)中斷源兩個(gè)中斷優(yōu)先級6 128 字節(jié)內(nèi)置RAM 7 獨(dú)立的64K 字節(jié)可尋址數(shù)據(jù)和代碼區(qū)每個(gè)805 1處理周期包括12 個(gè)振蕩周期 每12 個(gè)振蕩周期用來完成一項(xiàng)操作 如取指令和。 DATA 區(qū)第二個(gè)存儲(chǔ)區(qū)是8051內(nèi)128 字節(jié)的內(nèi)部RAM 或8052 的前128 字節(jié)內(nèi)部RAM 這部分主要是作為數(shù)據(jù)段稱為DATA 區(qū)指令用一個(gè)或兩個(gè)周期來訪問數(shù)據(jù)段 訪問DATA 區(qū)比訪問XDATA 區(qū)要快因?yàn)樗捎弥苯訉ぶ贩绞蕉L問XDATA 須采用間接尋址 必須先初始化DPTR 通常我們把使用比較頻繁的變量或局部變量存儲(chǔ)在DATA 段中,但是必須節(jié)省使用DATA 段 因?yàn)樗目臻g畢竟有限在數(shù)據(jù)段中也可通過R0 和R1采用間接尋址R0 和R1被作為數(shù)據(jù)區(qū)的指針 將要恢復(fù)或改變字節(jié)的地址放入R0 或R1中根據(jù)源操作數(shù)和目的操作數(shù)的不同 執(zhí)行指令需要一個(gè)或兩個(gè)周期數(shù)據(jù)段中有兩個(gè)小段 第一個(gè)子段包含四組寄存器組 每組寄存器組包含八個(gè)寄存器共32 個(gè)寄存器 可在任何時(shí)候通過修改PSW 寄存器的RS1和RS0 這兩位來選擇四組寄存器的任意一組作為工作寄存器組805 1也可默認(rèn)任意一組作為工作寄存器組 工作寄存器組的快速切換不僅使參數(shù)傳遞更為方便 而且可在805 1中進(jìn)行快速任務(wù)轉(zhuǎn)換另外一個(gè)子段叫做位尋址段BDATA 包括16 個(gè)字節(jié) 共128 位 每一位都可單獨(dú)尋址805 1有好幾條位操作指令 這使得程序控制非常方便并且可幫助軟件代替外部組合邏輯這樣就減少了系統(tǒng)中的模塊數(shù)位尋址段的這16 個(gè)字節(jié)也可像數(shù)據(jù)段中其它字節(jié)一樣進(jìn)行字節(jié)尋址。 如果不需要和外部器件進(jìn)行I/O 操作或者希望在和外部器件進(jìn)行I/O 操作時(shí)開關(guān)RAM 則XDATA 可全部使用64K RAM 關(guān)于這方面的應(yīng)用將在以后介紹3 位操作和布爾邏輯8051可分別對BDATA 和SFRs 中128 個(gè)可尋址位32 個(gè)I/O 口進(jìn)行位邏輯操作 可對這些位進(jìn)行與或異或求補(bǔ)置位清零等操作并可像轉(zhuǎn)移字節(jié)那樣轉(zhuǎn)移位列表 A1 MOVC 22H 把位地址22H 中的數(shù)移入進(jìn)位位中 ORL C 23H 把位地址23H 中的數(shù)和進(jìn)位位中的數(shù)相或 MOV 24H C 把進(jìn)位位中的數(shù)移入位地址24H 中,可尋址位也可作為條件轉(zhuǎn)移的條件一條很有用的指令就是JBC 通過判斷可尋址位是否置位來決定是否進(jìn)行轉(zhuǎn)移 如果該位置位則轉(zhuǎn)移并清零該位這條指令能夠在兩個(gè)處理周期中完成 比在兩個(gè)代碼段中分別使用跳轉(zhuǎn)和清零指令要節(jié)省一到兩個(gè)處理周期比如說 你要編寫一個(gè)過程 置位然后跳轉(zhuǎn)但是等待有時(shí)間限制 這樣就需要設(shè)置一個(gè)時(shí)間, 置位后跳出 一般的邏輯流程如下例 A2 MOV timeout TO_VALUE 設(shè)置查詢時(shí)間 L2 JB 置位則跳轉(zhuǎn) DJNZ timeout L2查詢時(shí)間計(jì)數(shù) L1 CLR 清零 RET 退出當(dāng)使用JBC 時(shí)程序如下例 A3 MOV timeout TO_VALUE 設(shè)置查詢時(shí)間 L2 JBC 置位則跳轉(zhuǎn)并清零 DJNZ timeout L2 查詢時(shí)間計(jì)數(shù) L1 RET退出利用JBC 不但節(jié)省了代碼長度而且使程序更加簡潔美觀 以后在編制代碼時(shí)要習(xí)慣使用這條指令4 尋址方式8051 可對存儲(chǔ)區(qū)直接或間接尋址這些是典型的尋址方式直接尋址是在指令中直接包含所須尋址的字節(jié)地址直接尋址只能在DATA 區(qū)和SFR 中進(jìn)行如下例列表 A4 MOV A 03H 把地址03H 中的數(shù)移入累加器 MOV 43H 22H 把地址22H 中的數(shù)移入地址43H 中,MOV 02H C把C 中的數(shù)移入位地址02H 中 MOV 42H 18 把立即數(shù)18 移入地址42H 中, MOV 09H SBUF 把串行緩沖區(qū)中的數(shù)移入地址09H 中,間接尋址要使用DPTR PC R0 R1寄存器 用來存放所要訪問數(shù)據(jù)的地址 指令使用指針寄存器 而不是直接使用地址 用間接尋址方式可訪問CODE IDATA XDATA 存儲(chǔ)區(qū)對DATA 存儲(chǔ)區(qū)也可進(jìn)行間接尋址 只能用直接尋址方式對位地址進(jìn)行尋址在進(jìn)行塊移動(dòng)時(shí) 用間接尋址十分方便 能用最少的代碼完成操作 可以利用循環(huán)過程使指針遞增對CODE 區(qū)進(jìn)行尋址時(shí) 將基址存入DPTR 或PC 中 把變址存入累加器中這種方法在查表時(shí)十分有用舉例如下例 A5 DATA 和 IDATA 區(qū)尋址 MOV R122H 設(shè)置R1為指向DATA 區(qū)內(nèi)的地址22H 的指針, MOV R0 0A9H 設(shè)置R0 為指向IDATA 區(qū)內(nèi)的地址0A9H 的指針 ,MOV A R1 讀入地址22H 的數(shù)據(jù) ,MOV R0 A將累加器中的數(shù)據(jù)寫入地址A9H ,INC R0 RO 中的地址變?yōu)锳AH ,INC R1R1中的地址變?yōu)?3H ,MOV 34H R0 將地址AAH 中的數(shù)據(jù)寫入34H , MOV R167H 把立即數(shù)寫入地址23H,XDATA 區(qū)尋址 MOV DPTR 3048H DPTR 指向外部存儲(chǔ)區(qū) ,MOVX A DPTR 讀入外部存儲(chǔ)區(qū)地址3048H 中的數(shù) ,INC DPTR 指針加一 ,MOV A 26H 立即數(shù)26H 寫入A 中 MOVX DPTR A將26H 寫入外部存儲(chǔ)區(qū)地址3049H 中 ,MOV R0 87H R0 指向外部存儲(chǔ)區(qū)地址87H ,MOVX A R0 將外部存儲(chǔ)區(qū)地址87H 中的數(shù)讀入累加器中,代碼區(qū)尋址 ,MOV DPTR TABLE_BASE DPTR 指向表首地址 , MOV A index 把偏移量裝入累加器中 ,MOVC A A+DPTR 從表中讀入數(shù)據(jù)到累加器中。通過置位PDWN 位來進(jìn)入低功耗模式,低功耗模式中晶振將停止工作因此定時(shí)器和串行口都將停止工作,至少有兩伏的電壓加在芯片上,因此RAM 中的數(shù)據(jù)仍將保存退出低功耗模式只有兩種方式上電或復(fù)位。電源控制寄存器 不可位尋址。中斷服務(wù)程序必須在中斷入口處或通過跳轉(zhuǎn) 分支轉(zhuǎn)移到別處8051/8052 的中斷向量表A4 8051 支持兩個(gè)中斷優(yōu)先級有標(biāo)準(zhǔn)的中斷機(jī)制 低優(yōu)先級的中斷只能被高優(yōu)先級的中斷所中斷 而高優(yōu)先級的中斷不能被中斷 中斷優(yōu)先級寄存器每個(gè)中斷源都可通過設(shè)置中斷優(yōu)先級寄存器IP 來單獨(dú)設(shè)置中斷優(yōu)先級如果每個(gè)中斷源的相應(yīng)位被置位 則該中斷源的優(yōu)先級為高如果相應(yīng)的位被復(fù)位 則該中斷源的優(yōu)先級為低如果你覺得兩個(gè)中斷源不夠用 別急以后我會(huì)教你如何增加中斷優(yōu)先級表A5 示出了IP 寄存器的各位 此寄存器可位尋址中斷源中斷向量上電復(fù)位0000H 外部中斷0 0003H 定時(shí)器0 溢出000BH 外部中斷1 0013H 定時(shí)器1 溢出001BH 串行口中斷0023H 定時(shí)器2 溢出002BH 表 A5 IP 寄存器 可位尋址保留保留PT2 定時(shí)器2 中斷優(yōu)先級PS 串行通信中斷優(yōu)先級PT1定時(shí)器1中斷優(yōu)先級PX1外部中斷1優(yōu)先級PT0 定時(shí)器0 中斷優(yōu)先級PX0 外部中斷0 優(yōu)先級 中斷使能寄存器通過設(shè)置中斷使能寄存器IE 的EA 位 使能所有中斷每個(gè)中斷源都有單獨(dú)的使能位可通過軟件設(shè)置IE 中相應(yīng)的使能位在任何時(shí)候使能或禁能中斷中斷使能寄存器IE 的各位如下所示中斷使能寄存器IE 可位尋址EA 使能標(biāo)志位置位則所有中斷使能復(fù)位則禁止所有中斷保留ET2 定時(shí)器2 中斷使能ES 串行通信中斷使能ET1 定時(shí)器1中斷使能EX1 外部中斷1使能ET0 定時(shí)器0 中斷使能EX0 外部中斷0 使能 中斷延遲8051在每個(gè)處理周期查詢中斷標(biāo)志確定是否有中斷請求當(dāng)發(fā)生,中斷時(shí)置位相應(yīng)的標(biāo)志處理器將在下個(gè)周期查詢到中斷標(biāo)志位,這樣從發(fā)生中斷到確認(rèn)中斷之間有一個(gè)指令周期的延時(shí),這時(shí)處理器將用兩個(gè)周期的時(shí)間來調(diào)用中斷服務(wù)程序,總共要花3 個(gè)時(shí)鐘周期在理想情況下,處理器將在3 個(gè)指令周期內(nèi)響應(yīng)中斷這使得用戶能很快響應(yīng)系統(tǒng)事件不可避免地系統(tǒng)有可能在3 個(gè)處理周期能不能響應(yīng)中斷請求,特別是當(dāng)有同級或更高級的中斷服務(wù)程序正在執(zhí)行的時(shí)候 因此 中斷的延遲主要取決于正在執(zhí)行的程序另外一種大于3 個(gè)周期的中斷延遲是 程序正在執(zhí)行一條多周期指令 要等到當(dāng)前的指令執(zhí)行完后 處理器才會(huì)處理中斷事件 這將在原來的基礎(chǔ)上至少增加一個(gè)周期的延時(shí)假設(shè)在執(zhí)行完多周期指令的第一個(gè)周期后發(fā)現(xiàn)中斷。 電平為低或電平由高到低跳變引起 由電平觸發(fā)還是跳變觸發(fā)取決于寄存器TCON 的ITX 位見A7 電平觸發(fā)時(shí) 當(dāng)檢測到中斷引腳電平為低時(shí) 將產(chǎn)生中斷 低電平應(yīng)至少保持一個(gè)指令周期或12 個(gè)時(shí)鐘周期 因?yàn)?處理器每個(gè)指令周期檢測一次引腳 跳變觸發(fā)時(shí) 當(dāng)在連續(xù)的兩個(gè)周期中檢測到由高到低的電平跳變時(shí) 將產(chǎn)生中斷 而電平的0 狀態(tài)應(yīng)至少保持一個(gè)周期7 內(nèi)置定時(shí)/計(jì)數(shù)器標(biāo)準(zhǔn)的8051有兩個(gè)定時(shí)/計(jì)數(shù)器每個(gè)定時(shí)器有16 位 定時(shí)/計(jì)數(shù)器既可用來作為定時(shí)器 對機(jī)器周期計(jì)數(shù) 也可用來對相應(yīng)I/0 TO T1。 TF1 定時(shí)器1溢出中斷標(biāo)志響應(yīng)中斷后由處理器清零 TR1 定時(shí)器1控制位置位時(shí)定時(shí)器1工作復(fù)位時(shí)定時(shí)器1停止工作 TF0 定時(shí)器0 溢出標(biāo)志位定時(shí)器0 溢出時(shí)置位處理器響應(yīng)中斷后清除該位 TR0 定時(shí)器0 控制位置位時(shí)定時(shí)器0 工作復(fù)位時(shí)定時(shí)器0 停止工作 IE1 外部中斷1觸發(fā)標(biāo)志位 有從高到低的跳變電平時(shí)置位處理器響應(yīng)中斷后由硬件清除該位 IT1 中斷1 觸發(fā)方式控制位置位時(shí)為跳變觸發(fā)復(fù)位時(shí)為低電平觸發(fā) IE0 外部中斷1觸發(fā)標(biāo)志位 有從高到低的跳變電平時(shí)置位處理器響應(yīng)中斷后由硬件清除該位 IT0 中斷1 觸發(fā)方式控制位置位時(shí)為跳變觸發(fā)復(fù)位時(shí)為低電平觸發(fā)表 A7 定時(shí)器的工作方式由特殊功能寄存器TMOD 來設(shè)置通過改變TMOD 軟件可控制兩個(gè)定時(shí)器的工作方式和時(shí)鐘源是I/0 口的觸發(fā)電平還是處理器的時(shí)鐘脈沖TMOD 的高四位控制定時(shí)器1 低四位控制定時(shí)器0 TMOD 的結(jié)構(gòu)如下定時(shí)器控制寄存器TMOD不可位尋址GATE C/T M1 M0 GATE C/T M1 M0 定時(shí)器1定時(shí)器0 表A8 GATE 當(dāng)GATE 置位時(shí) 定時(shí)器僅當(dāng)TR= 1并且INT= 1時(shí)才工作 如果GATE=0 置位TR 定時(shí)器就開始工作C/T 定時(shí)器方式選擇 如果C/T=1 定時(shí)器以計(jì)數(shù)方式工作C/T=0 時(shí) 以定時(shí)方式工作M1模式選擇位高位M0 模式選擇位低位可通過C/T 位的設(shè)置來選擇定時(shí)器的時(shí)鐘源C/T=1 定時(shí)器以計(jì)數(shù)方式工作 對I/0 引腳脈沖計(jì)數(shù)C/T=0 時(shí) 以定時(shí)方式工作 對內(nèi)部時(shí)鐘脈沖計(jì)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1