亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

數字輸出

  • 從PCB中畫出原理圖

    從PCB中畫出原理圖的方法

    標簽: PCB 原理圖

    上傳時間: 2013-11-21

    上傳用戶:南國時代

  • 多電平逆變器載波相移SPWM與移相空間矢量控制策略的研究

    載波相移SPWM 調制法目前是級聯型逆變器的主流調制方法,其等效載波頻率高,諧波特性好,功率單元之間輸出功率平衡。而移相空間矢量調制法基于傳統的兩電平空間矢量調制法,并采用載波移相的思想,因此兼有空間矢量法和載波相移SPWM 法的優勢,諧波特性好,電壓利用率高,且控制方法簡單便于數字實現,可與矢量控制和直接轉矩控制等各種現代方法相結合應用于電機的變頻調速系統中。本文以三級級聯型逆變器為例對載波相移SPWM 調制法和移相空間矢量調制法分別進行了研究,通過仿真對比,總結出移相空間矢量調制法與載波相移SPWM 調制法的異同和所具有的優勢。

    標簽: SPWM 電平逆變器 控制策略 載波相移

    上傳時間: 2014-12-24

    上傳用戶:元宵漢堡包

  • 創意激發與創新專題期末報告--能彈出插頭之延長線

    設計概念:拔起插頭總要費盡力氣才能拔起,且當延長線插卒插滿頭時時,想拔出其中一個,的確很不方便,電線容易受外力扯斷,所以想做出一個方便插拔的延長線。

    標簽: 創意 創新 報告 延長線

    上傳時間: 2013-10-10

    上傳用戶:hjshhyy

  • MCS-51單片機應用設計

    本書從應用的角度,詳細地介紹了MCS-51單片機的硬件結構、指令系統、各種硬件接口設計、各種常用的數據運算和處理程序及接口驅動程序的設計以及MCS-51單片機應用系統的設計,并對MCS-51單片機應用系統設計中的抗干擾技術以及各種新器件也作了詳細的介紹。本書突出了選取內容的實用性、典型性。書中的應用實例,大多來自科研工作及教學實踐,且經過檢驗,內容豐富、翔實。   本書可作為工科院校的本科生、研究生、專科生學習MCS-51單片機課程的教材,也可供從事自動控制、智能儀器儀表、測試、機電一體化以及各類從事MCS-51單片機應用的工程技術人員參考。 第一章 單片微型計等機概述   1.1 單片機的歷史及發展概況   1.2 單片機的發展趨勢   1.3 單片機的應用   1.3.1 單片機的特點   1.3.2 單片機的應用范圍   1.4 8位單片機的主要生產廠家和機型   1.5 MCS-51系列單片機 第二章 MCS-51單片機的硬件結構   2.1 MCS-51單片機的硬件結構   2.2 MCS-51的引腳   2.2.1 電源及時鐘引腳   2.2.2 控制引腳   2.2.3 I/O口引腳   2.3 MCS-51單片機的中央處理器(CPU)   2.3.1 運算部件   2.3.2 控制部件   2.4 MCS-51存儲器的結構   2.4.1 程序存儲器   2.4.2 內部數據存儲器   2.4.3 特殊功能寄存器(SFR)   2.4.4 位地址空間   2.4.5 外部數據存儲器   2.5 I/O端口   2.5.1 I/O口的內部結構   2.5.2 I/O口的讀操作   2.5.3 I/O口的寫操作及負載能力   2.6 復位電路   2.6.1 復位時各寄存器的狀態   2.6.2 復位電路   2.7 時鐘電路   2.7.1 內部時鐘方式   2.7.2 外部時鐘方式   2.7.3 時鐘信號的輸出 第三章 MCS-51的指令系統   3.1 MCS-51指令系統的尋址方式   3.1.1 寄存器尋址   3.1.2 直接尋址   3.1.3 寄存器間接尋址   3.1.4 立即尋址   3.1.5 基址寄存器加變址寄存器間址尋址   3.2 MCS-51指令系統及一般說明   3.2.1 數據傳送類指令   3.2.2 算術操作類指令   3.2.3 邏輯運算指令   3.2.4 控制轉移類指令   3.2.5 位操作類指令 第四章 MCS-51的定時器/計數器   4.1 定時器/計數器的結構   4.1.1 工作方式控制寄存器TMOD   4.1.2 定時器/計數器控制寄存器TCON   4.2 定時器/計數器的四種工作方式   4.2.1 方式0   4.2.2 方式1   4.2.3 方式2   4.2.4 方式3   4.3 定時器/計數器對輸入信號的要求   4.4 定時器/計數器編程和應用   4.4.1 方式o應用(1ms定時)   4.4.2 方式1應用   4.4.3 方式2計數方式   4.4.4 方式3的應用   4.4.5 定時器溢出同步問題   4.4.6 運行中讀定時器/計數器   4.4.7 門控制位GATE的功能和使用方法(以T1為例) 第五章 MCS-51的串行口   5.1 串行口的結構   5.1.1 串行口控制寄存器SCON   5.1.2 特殊功能寄存器PCON   5.2 串行口的工作方式   5.2.1 方式0   5.2.2 方式1   5.2.3 方式2   5.2.4 方式3   5.3 多機通訊   5.4 波特率的制定方法   5.4.1 波特率的定義   5.4.2 定時器T1產生波特率的計算   5.5 串行口的編程和應用   5.5.1 串行口方式1應用編程(雙機通訊)   5.5.2 串行口方式2應用編程   5.5.3 串行口方式3應用編程(雙機通訊) 第六章 MCS-51的中斷系統   6.1 中斷請求源   6.2 中斷控制   6.2.1 中斷屏蔽   6.2.2 中斷優先級優   6.3 中斷的響應過程   6.4 外部中斷的響應時間   6.5 外部中斷的方式選擇   6.5.1 電平觸發方式   6.5.2 邊沿觸發方式   6.6 多外部中斷源系統設計   6.6.1 定時器作為外部中斷源的使用方法   6.6.2 中斷和查詢結合的方法   6.6.3 用優先權編碼器擴展外部中斷源 第七章 MCS-51單片機擴展存儲器的設計   7.1 概述   7.1.1 只讀存儲器   7.1.2 可讀寫存儲器   7.1.3 不揮發性讀寫存儲器   7.1.4 特殊存儲器   7.2 存儲器擴展的基本方法   7.2.1 MCS-51單片機對存儲器的控制   7.2.2 外擴存儲器時應注意的問題   7.3 程序存儲器EPROM的擴展   7.3.1 程序存儲器的操作時序   7.3.2 常用的EPROM芯片   7.3.3 外部地址鎖存器和地址譯碼器   7.3.4 典型EPROM擴展電路   7.4 靜態數據存儲的器擴展   7.4.1 外擴數據存儲器的操作時序   7.4.2 常用的SRAM芯片   7.4.3 64K字節以內SRAM的擴展   7.4.4 超過64K字節SRAM擴展   7.5 不揮發性讀寫存儲器擴展   7.5.1 EPROM擴展   7.5.2 SRAM掉電保護電路   7.6 特殊存儲器擴展   7.6.1 雙口RAMIDT7132的擴展   7.6.2 快擦寫存儲器的擴展   7.6.3 先進先出雙端口RAM的擴展 第八章 MCS-51擴展I/O接口的設計   8.1 擴展概述   8.2 MCS-51單片機與可編程并行I/O芯片8255A的接口   8.2.1 8255A芯片介紹   8.2.2 8031單片機同8255A的接口   8.2.3 接口應用舉例   8.3 MCS-51與可編程RAM/IO芯片8155H的接口   8.3.1 8155H芯片介紹   8.3.2 8031單片機與8155H的接口及應用   8.4 用MCS-51的串行口擴展并行口   8.4.1 擴展并行輸入口   8.4.2 擴展并行輸出口   8.5 用74LSTTL電路擴展并行I/O口   8.5.1 用74LS377擴展一個8位并行輸出口   8.5.2 用74LS373擴展一個8位并行輸入口   8.5.3 MCS-51單片機與總線驅動器的接口   8.6 MCS-51與8253的接口   8.6.1 邏輯結構與操作編址   8.6.2 8253工作方式和控制字定義   8.6.3 8253的工作方式與操作時序   8.6.4 8253的接口和編程實例 第九章 MCS-51與鍵盤、打印機的接口   9.1 LED顯示器接口原理   9.1.1 LED顯示器結構   9.1.2 顯示器工作原理   9.2 鍵盤接口原理   9.2.1 鍵盤工作原理   9.2.2 單片機對非編碼鍵盤的控制方式   9.3 鍵盤/顯示器接口實例   9.3.1 利用8155H芯片實現鍵盤/顯示器接口   9.3.2 利用8031的串行口實現鍵盤/顯示器接口   9.3.3 利用專用鍵盤/顯示器接口芯片8279實現鍵盤/顯示器接口   9.4 MCS-51與液晶顯示器(LCD)的接口   9.4.1 LCD的基本結構及工作原理   9.4.2 點陣式液晶顯示控制器HD61830介紹   9.5 MCS-51與微型打印機的接口   9.5.1 MCS-51與TPμp-40A/16A微型打印機的接口   9.5.2 MCS-51與GP16微型打印機的接口   9.5.3 MCS-51與PP40繪圖打印機的接口   9.6 MCS-51單片機與BCD碼撥盤的接口設計   9.6.1 BCD碼撥盤   9.6.2 BCD碼撥盤與單片機的接口   9.6.3 撥盤輸出程序   9.7 MCS-51單片機與CRT的接口   9.7.1 SCIBCRT接口板的主要特點及技術參數   9.7.2 SCIB接口板的工作原理   9.7.3 SCIB與MCS-51單片機的接口   9.7.4 SCIB的CRT顯示軟件設計方法 第十章 MCS-51與D/A、A/D的接口   10.1 有關DAC及ADC的性能指標和選擇要點   10.1.1 性能指標   10.1.2 選擇ABC和DAC的要點   10.2 MCS-51與DAC的接口   10.2.1 MCS-51與DAC0832的接口   10.2.2 MCS-51同DAC1020及DAC1220的接口   10.2.3 MCS-51同串行輸入的DAC芯片AD7543的接口   10.3 MCS-51與ADC的接口   10.3.1 MCS-51與5G14433(雙積分型)的接口   10.3.2 MCS-51與ICL7135(雙積分型)的接口   10.3.3 MCS-51與ICL7109(雙積分型)的接口   10.3.4 MCS-51與ADC0809(逐次逼近型)的接口   10.3.5 8031AD574(逐次逼近型)的接口   10.4 V/F轉換器接口技術   10.4.1 V/F轉換器實現A/D轉換的方法   10.4.2 常用V/F轉換器LMX31簡介   10.4.3 V/F轉換器與MCS-51單片機接口   10.4.4 LM331應用舉例 第十一章 標準串行接口及應用   11.1 概述   11.2 串行通訊的接口標準   11.2.1 RS-232C接口   11.2.2 RS-422A接口   11.2.3 RS-485接口   11.2.4 各種串行接口性能比較   11.3 雙機串行通訊技術   11.3.1 單片機雙機通訊技術   11.3.2 PC機與8031單片機雙機通訊技術   11.4 多機串行通訊技術   11.4.1 單片機多機通訊技術   11.4.2 IBM-PC機與單片機多機通訊技術   11.5 串行通訊中的波特率設置技術   11.5.1 IBM-PC/XT系統中波特率的產生   11.5.2 MCS-51單片機串行通訊波特率的確定   11.5.3 波特率相對誤差范圍的確定方法   11.5.4 SMOD位對波特率的影響 第十二章 MCS-51的功率接口   12.1 常用功率器件   12.1.1 晶閘管   12.1.2 固態繼電器   12.1.3 功率晶體管   12.1.4 功率場效應晶體管   12.2 開關型功率接口   12.2.1 光電耦合器驅動接口   12.2.2 繼電器型驅動接口   12.2.3 晶閘管及脈沖變壓器驅動接口 第十三章 MCS-51單片機與日歷的接口設計   13.1 概述   13.2 MCS-51單片機與實時日歷時鐘芯片MSM5832的接口設計   13.2.1 MSM5832性能及引腳說明   13.2.2 MSM5832時序分析   13.2.3 8031單片機與MSM5832的接口設計   13.3 MCS-51單片機與實時日歷時鐘芯片MC146818的接口設計   13.3.1 MC146818性能及引腳說明   13.3.2 MC146818芯片地址分配及各單元的編程   13.3.3 MC146818的中斷   13.3.4 8031單片機與MC146818的接口電路設計   13.3.5 8031單片機與MC146818的接口軟件設計 第十四章 MCS-51程序設計及實用子程序   14.1 查表程序設計   14.2 散轉程序設計   14.2.1 使用轉移指令表的散轉程序   14.2.2 使用地地址偏移量表的散轉程序   14.2.3 使用轉向地址表的散轉程序   14.2.4 利用RET指令實現的散轉程序   14.3 循環程序設計   14.3.1 單循環   14.3.2 多重循環   14.4 定點數運算程序設計   14.4.1 定點數的表示方法   14.4.2 定點數加減運算   14.4.3 定點數乘法運算   14.4.4 定點數除法   14.5 浮點數運算程序設計   14.5.1 浮點數的表示   14.5.2 浮點數的加減法運算   14.5.3 浮點數乘除法運算   14.5.4 定點數與浮點數的轉換   14.6 碼制轉換   ……    

    標簽: MCS 51 單片機 應用設計

    上傳時間: 2013-11-06

    上傳用戶:xuanjie

  • HT45R37 使用SPI 進行資料傳輸的方法

    HT45R37 內建有Serial Interface Function,其中包括了SPI 和I2C 這兩種串列傳輸模式,本文 以HT45R37 為母體,介紹使用SPI 進行資料傳輸的方法和注意事項

    標簽: 45R R37 SPI HT

    上傳時間: 2013-11-22

    上傳用戶:lz4v4

  • 單片機5V與3V電平互聯的19種技巧

    Microchip 單片機的速度和復雜性已經到達足以要 求降低電源電壓的程度,并正在向 5V 電源電壓以 下轉換。但問題是絕大多數接口電路仍然是為 5V 電源而設計的。這就意味著,作為設計人員,我們 現在面臨著連接 3.3V 和 5V 系統的任務。此外, 這個任務不僅包括邏輯電平轉換,同時還包括為 3.3V 系統供電、轉換模擬信號使之跨越 3.3V/5V 的 障礙。 技巧和訣竅 DS41285A_CN 第 2 頁 . 2006 Microchip Technology Inc. 本 《技巧和訣竅》提供了一些電源供電組件、數 字電平轉換組件甚至模擬轉換組件,以解決所面臨 的挑戰。全書對每種轉換均給出了多種選擇方案, 從單片 (All-in-One)接口器件到低成本的分立解 決方案都有涉及。簡而言之,無論導致轉換的原因 是復雜性、成本還是尺寸,設計人員處理 3.3V 挑 戰可能需要的全部組件均在本文有所討論。

    標簽: 單片機 電平互聯

    上傳時間: 2013-10-30

    上傳用戶:wqxstar

  • 低功耗無線數字傳輸模塊的設計與應用

    介紹了一種以PIC16F73單片機芯片和CC1000調制解調芯片為核心的超低功耗無線數字傳輸模塊的設計方案及實現方法!并給出了該模塊在無線智能IC 卡水表中的應用" 該模塊通信速率最高可達38.4KBPS查詢工作方式下平均工作電流為10UA與同類設計相比!該模塊具有功耗低#使用方便#通信可靠等優點"

    標簽: 低功耗 傳輸模塊 無線數字

    上傳時間: 2013-11-16

    上傳用戶:d815185728

  • PIC16F877 單片機的鍵盤和LED 數碼顯示接口

    PIC16F877 單片機的鍵盤和LED 數碼顯示接口 1 PIC16F877單片機與鍵盤和LED數碼顯示的硬件接口電路單片機的許多應用都需要進行人機對話,最簡單的人機對話需要LED 數碼管顯示數字和少量字符;鍵盤是解決計算機輸入的簡單手段;借此可以向計算機輸入程序、置數、送操作命令、控制程序的執行等等,所以使用非常廣泛。圖1 鍵盤、LED數碼顯示與PIC16F877 單片機的接口電路本例中采用8 個按鍵組成的小鍵盤,4 只共陰極的LED 數碼管,采用4 片74LS373 驅動數碼管,采用的驅動方法是靜態方式。使用1 片74LS245 作為鍵盤的接口;這些外圍器件與PIC16F877 單片機的接口電路如圖1 所示,這種連接方法與51 系列的單片機連接方法一樣,其他的連接方法還有好幾種,PIC16F877 單片機的鍵盤輸入接法還有其他特殊而十分方便好用的方式。8 鍵鍵盤通過74LS245 與單片機相連,鍵盤按鍵狀態的數據輸入由RC3 輸出腳控制;當RC3=“0”時,鍵盤狀態從74LS245 的A 端輸出到單片機的PORTB口,此時讀PORTB口的數據即為鍵盤狀態。為了及時地響應鍵盤操作,需要經常對鍵盤進行掃描;掃描的方式有許多種,我們將鍵盤的掃描程序安排在主程序的循環執行過程中的方式,并采用20ms延遲來消除按鍵的抖動問題,此外,為了實現每按鍵一次只響應一次的功能,在執行相應的按鍵程序之前,必須確保按鍵已經松開;在本例中這一措施有效的防止了數據抖動過快的問題。LED 數碼顯示有動態掃描和靜態顯示兩種方式(圖1 采取的方式為靜態方式),在動態掃描方式中,各數碼顯示是輪流點亮的,即控制數碼顯示的位選信號和相應的要顯示的數碼的字形代碼同時逐一送出,反復不已,由于視覺的暫留現象,卻好象全都點亮著,這種電路的接法以后再介紹。在靜態方式中,只要將數據送出鎖存以后,各數碼顯示的數據不需要刷新,只要數據不需改變,就可以不去管他,所以稱為靜態顯示。在圖1 電路中,輸出顯示的操作簡化為對74LS373 的并口操作而已。由于靜態方式的工作原理比較簡單,編程也比較直觀簡單,程序間的相互關聯很少。因此編程容易,但要增加硬件,成本較高;與之相比,動態掃描的編程雖然要復雜一些,但因其所用硬件少,成本低。由數碼轉化為字形代碼可采用軟件譯碼、硬件譯碼等兩種方式。軟件譯碼是將各數碼的字形代碼構成一個表格存儲于內存之中,在顯示數碼時,通過執行查表程序而得到相應的字形代碼,再將之送入數碼顯示輸出電路進行顯示,本例即采用這種方式,這種方式的編程與單片機有關,在程序中給出了PIC16F877 的編程例程,對需要熟悉PIC16F877 單片機的人員有一定的參考價值。硬件譯碼則采用CD4511、74LS46、74LS47、74LS48、74LS49等BCD 碼—7段鎖存、譯碼、驅動芯片直接譯出字形代碼,點亮LED。74LS373 由LE 端對要顯示的數據進行鎖存控制,實現LED 的靜態顯示。采用了PIC16F877 的端口輸出操作,模擬74LS373 的數據鎖存時序,即由軟件實現數據鎖存,這種方法可以十分容易的改變時序和延遲長短,使高速設備可以與低速設備聯系配合好,設計簡單方便,不好的地方是編程較長和稍微復雜一點。這種編程方法在下面的程序中有很好的體現。

    標簽: F877 PIC 16F 877

    上傳時間: 2013-10-29

    上傳用戶:cuiyashuo

  • 單片機指令系統原理

    單片機指令系統原理 51單片機的尋址方式 學習匯編程序設計,要先了解CPU的各種尋址法,才能有效的掌握各個命令的用途,尋址法是命令運算碼找操作數的方法。在我們學習的8051單片機中,有6種尋址方法,下面我們將逐一進行分析。 立即尋址 在這種尋址方式中,指令多是雙字節的,一般第一個字節是操作碼,第二個字節是操作數。該操作數直接參與操作,所以又稱立即數,有“#”號表示。立即數就是存放在程序存儲器中的常數,換句話說就是操作數(立即數)是包含在指令字節中的。 例如:MOV  A,#3AH這條指令的指令代碼為74H、3AH,是雙字節指令,這條指令的功能是把立即數3AH送入累加器A中。MOV  DPTR,#8200H在前面學單片機的專用寄存器時,我們已學過,DPTR是一個16位的寄存器,它由DPH及DPL兩個8位的寄存器組成。這條指令的意思就是把立即數的高8位(即82H)送入DPH寄存器,把立即數的低8位(即00H)送入DPL寄存器。這里也特別說明一下:在80C51單片機的指令系統中,僅有一條指令的操作數是16位的立即數,其功能是向地址指針DPTR傳送16位的地址,即把立即數的高8位送入DPH,低8位送入DPL。 直接尋址 直接尋址方式是指在指令中操作數直接以單元地址的形式給出,也就是在這種尋址方式中,操作數項給出的是參加運算的操作數的地址,而不是操作數。例如:MOV  A,30H  這條指令中操作數就在30H單元中,也就是30H是操作數的地址,并非操作數。 在80C51單片機中,直接地址只能用來表示特殊功能寄存器、內部數據存儲器以及位地址空間,具體的說就是:1、內部數據存儲器RAM低128單元。在指令中是以直接單元地址形式給出。我們知道低128單元的地址是00H-7FH。在指令中直接以單元地址形式給出這句話的意思就是這0-127共128位的任何一位,例如0位是以00H這個單元地址形式給出、1位就是以01H單元地址給出、127位就是以7FH形式給出。2、位尋址區。20H-2FH地址單元。3、特殊功能寄存器。專用寄存器除以單元地址形式給出外,還可以以寄存器符號形式給出。例如下面我們分析的一條指令 MOV  IE,#85H 前面的學習我們已知道,中斷允許寄存器IE的地址是80H,那么也就是這條指令可以以MOV  IE,#85H 的形式表述,也可以MOV  80H,#85H的形式表述。 關于數據存儲器RAM的內部情況,請查看我們課程的第十二課。 直接尋址是唯一能訪問特殊功能寄存器的尋址方式! 大家來分析下面幾條指令:MOV  65H,A       ;將A的內容送入內部RAM的65H單元地址中MOV  A,direct    ;將直接地址單元的內容送入A中MOV  direct,direct;將直接地址單元的內容送直接地址單元MOV  IE,#85H      ;將立即數85H送入中斷允許寄存器IE 前面我們已學過,數據前面加了“#”的,表示后面的數是立即數(如#85H,就表示85H就是一個立即數),數據前面沒有加“#”號的,就表示后面的是一個地址地址(如,MOV 65H,A這條指令的65H就是一個單元地址)。 寄存器尋址 寄存器尋址的尋址范圍是:1、4個工作寄存器組共有32個通用寄存器,但在指令中只能使用當前寄存器組(工作寄存器組的選擇在前面專用寄存器的學習中,我們已知道,是由程序狀態字PSW中的RS1和RS0來確定的),因此在使用前常需要通過對PSW中的RS1、RS0位的狀態設置,來進行對當前工作寄存器組的選擇。2、部份專用寄存器。例如,累加器A、通用寄存器B、地址寄存器DPTR和進位位CY。 寄存器尋址方式是指操作數在寄存器中,因此指定了寄存器名稱就能得到操作數。例如:MOV A,R0這條指令的意思是把寄存器R0的內容傳送到累加器A中,操作數就在R0中。INC R3這條指令的意思是把寄存器R3中的內容加1 從前面的學習中我產應可以理解到,其實寄存器尋址方式就是對由PSW程序狀態字確定的工作寄存器組的R0-R7進行讀/寫操作。 寄存器間接尋址 寄存間接尋址方式是指寄存器中存放的是操作數的地址,即操作數是通過寄存器間接得到的,因此稱為寄存器間接尋址。 MCS-51單片機規定工作寄存器的R0、R1做為間接尋址寄存器。用于尋址內部或外部數據存儲器的256個單元。為什么會是256個單元呢?我們知道,R0或者R1都是一個8位的寄存器,所以它的尋址空間就是2的八次方=256。例:MOV  R0,#30H  ;將值30H加載到R0中    MOV  A,@R0    ;把內部RAM地址30H內的值放到累加器A中    MOVX A,@R0    ;把外部RAM地址30H內的值放到累加器A中 大家想想,如果用DPTR做為間址寄存器,那么它的尋址范圍是多少呢?DPTR是一個16位的寄存器,所以它的尋址范圍就是2的十六次方=65536=64K。因用DPTR做為間址寄存器的尋址空間是64K,所以訪問片外數據存儲器時,我們通常就用DPTR做為間址寄存器。例:MOV   DPTR,#1234H  ;將DPTR值設為1234H(16位)    MOVX  A,@DPTR      ;將外部RAM或I/O地址1234H內的值放到累加器A中 在執行PUSH(壓棧)和POP(出棧)指令時,采用堆棧指針SP作寄存器間接尋址。例:PUSH  30H    ;把內部RAM地址30H內的值放到堆棧區中堆棧區是由SP寄存器指定的,如果執行上面這條命令前,SP為60H,命令執行后會把內部RAM地址30H內的值放到RAM的61H內。 那么做為寄存器間接尋址用的寄存器主要有哪些呢?我們前面提到的有四個,R0、R1、DPTR、SP 寄存器間接尋址范圍總結:1、內部RAM低128單元。對內部RAM低128單元的間接尋址,應使用R0或R1作間址寄存器,其通用形式為@Ri(i=0或1)。 2、外部RAM 64KB。對外部RAM64KB的間接尋址,應使用@DPTR作間址尋址寄存器,其形式為:@DPTR。例如MOVX A,@DPTR;其功能是把DPTR指定的外部RAM的單元的內容送入累加器A中。外部RAM的低256單元是一個特殊的尋址區,除可以用DPTR作間址寄存器尋址外,還可以用R0或R1作間址寄存器尋址。例如MOVX  A,@R0;這條指令的意思是,把R0指定的外部RAM單元的內容送入累加器A。 堆棧操作指令(PUSH和POP)也應算作是寄存器間接尋址,即以堆棧指針SP作間址寄存器的間接尋址方式。 寄存器間接尋址方式不可以訪問特殊功能寄存器!! 寄存器間接尋址也須以寄存器符號的形式表示,為了區別寄存器尋址我寄存器間接尋址的區別,在寄存器間接尋址方式式中,寄存器的名稱前面加前綴標志“@”。 基址寄存器加變址寄存器的變址尋址 這種尋址方式以程序計數器PC或DPTR為基址寄存器,累加器A為變址寄存器,變址尋址時,把兩者的內容相加,所得到的結果作為操作數的地址。這種方式常用于訪問程序存儲器ROM中的數據表格,即查表操作。變址尋址只能讀出程序內存入的值,而不能寫入,也就是說變址尋址這種方式只能對程序存儲器進行尋址,或者說它是專門針對程序存儲器的尋址方式。例:MOVC  A,@A+DPTR這條指令的功能是把DPTR和A的內容相加,再把所得到的程序存儲器地址單元的內容送A假若指令執行前A=54H,DPTR=3F21H,則這條指令變址尋址形成的操作數地址就是54H+3F21H=3F75H。如果3F75H單元中的內容是7FH,則執行這條指令后,累加器A中的內容就是7FH。 變址尋址的指令只有三條,分別如下:JMP    @A+DPTRMOVC   A,@A+DPTRMOVC   A,@A+PC 第一條指令JMP @A+DPTR這是一條無條件轉移指令,這條指令的意思就是DPTR加上累加器A的內容做為一個16位的地址,執行JMP這條指令是,程序就轉移到A+DPTR指定的地址去執行。 第二、三條指令MOVC   A,@A+DPTR和MOVC   A,@A+PC指令這兩條指令的通常用于查表操作,功能完全一樣,但使用起來卻有一定的差別,現詳細說明如下。我們知道,PC是程序指針,是十六位的。DPTR是一個16位的數據指針寄存器,按理,它們的尋址范圍都應是64K。我們在學習特殊功能寄存器時已知道,程序計數器PC是始終跟蹤著程序的執行的。也就是說,PC的值是隨程序的執行情況自動改變的,我們不可以隨便的給PC賦值。而DPTR是一個數據指針,我們就可以給空上數據指針DPTR進行賦值。我們再看指令MOVC   A,@A+PC這條指令的意思是將PC的值與累加器A的值相加作為一個地址,而PC是固定的,累加器A是一個8位的寄存器,它的尋址范圍是256個地址單元。講到這里,大家應可明白,MOVC   A,@A+PC這條指令的尋址范圍其實就是只能在當前指令下256個地址單元。所在,這在我們實際應用中,可能就會有一個問題,如果我們需要查詢的數據表在256個地址單元之內,則可以用MOVC   A,@A+PC這條指令進行查表操作,如果超過了256個單元,則不能用這條指令進行查表操作。剛才我們已說到,DPTR是一個數據指針,這個數據指針我們可以給它賦值操作的。通過賦值操作。我們可以使MOVC   A,@A+DPTR這條指令的尋址范圍達到64K。這就是這兩條指令在實際應用當中要注意的問題。 變址尋址方式是MCS-51單片機所獨有的一種尋址方式。 位尋址 80C51單片機有位處理功能,可以對數據位進行操作,因此就有相應的位尋址方式。所謂位尋址,就是對內部RAM或可位尋址的特殊功能寄存器SFR內的某個位,直接加以置位為1或復位為0。 位尋址的范圍,也就是哪些部份可以進行位尋址: 1、我們在第十二課學習51單片機的存儲器結構時,我們已知道在單片機的內部數據存儲器RAM的低128單元中有一個區域叫位尋址區。它的單元地址是20H-2FH。共有16個單元,一個單元是8位,所以位尋址區共有128位。這128位都單獨有一個位地址,其位地址的名字就是00H-7FH。這里就有一個比較麻煩的問題需要大家理解清楚了。我們在前面的學習中00H、01H。。。。7FH等等,所表示的都是一個字節(或者叫單元地址),而在這里,這些數據都變成了位地址。我們在指令中,或者在程序中如何來區分它是一個單元地址還是一個位地址呢?這個問題,也就是我們現在正在研究的位尋址的一個重要問題。其實,區分這些數據是位地址還是單元地址,我們都有相應的指令形式的。這個問題我們在后面的指令系統學習中再加以論述。 2、對專用寄存器位尋址。這里要說明一下,不是所有的專用寄存器都可以位尋址的。具體哪些專用寄存器可以哪些專用寄存器不可以,請大家回頭去看看我們前面關于專用寄存器的相關文章。一般來說,地址單元可以被8整除的專用寄存器,通常都可以進行位尋址,當然并不是全部,大家在應用當中應引起注意。 專用寄存器的位尋址表示方法: 下面我們以程序狀態字PSW來進行說明 D7 D6 D5 D4 D3 D2 D1 D0 CY   AC  F0  RS1  RS0  OV    P  1、直接使用位地址表示:看上表,PSW的第五位地址是D5,所以可以表示為D5H   MOV  C,D5H 2、位名稱表示:表示該位的名稱,例如PSW的位5是F0,所以可以用F0表示   MOV  C,F0 3、單元(字節)地址加位表示:D0H單元位5,表示為DOH.5    MOV  C,D0H.5 4、專用寄存器符號加位表示:例如PSW.5    MOV C,PSW.5 這四種方法實現的功能都是相同的,只是表述的方式不同而已。 例題:   1. 說明下列指令中源操作數采用的尋址方式。   MOV R5,R7 答案:寄存器尋址方式   MOV A,55H 直接尋址方式   MOV A,#55H 立即尋址方式   JMP @A+DPTR 變址尋址方式   MOV 30H,C 位尋址方式   MOV A,@R0 間接尋址方式   MOVX A,@R0 間接尋址方式 改錯題   請判斷下列的MCS-51單片機指令的書寫格式是否有錯,若有,請說明錯誤原因。   MOV R0,@R3 答案:間址寄存器不能使用R2~R7。   MOVC A,@R0+DPTR 變址尋址方式中的間址寄存器不可使用R0,只可使用A。   ADD R0,R1 運算指令中目的操作數必須為累加器A,不可為R0。   MUL AR0 乘法指令中的乘數應在B寄存器中,即乘法指令只可使用AB寄存器組合。

    標簽: 單片機指令 系統原理

    上傳時間: 2013-11-11

    上傳用戶:caozhizhi

  • 單片機串行通信發射機

    單片機串行通信發射機 我所做的單片機串行通信發射機主要在實驗室完成,參考有關的書籍和資料,個人完成電路的設計、焊接、檢查、調試,再根據自己的硬件和通信協議用匯編語言編寫發射和顯示程序,然后加電調試,最終達到準確無誤的發射和顯示。在這過程中需要選擇適當的元件,合理的電路圖扎實的焊接技術,基本的故障排除和糾正能力,會使用基本的儀器對硬件進行調試,會熟練的運用匯編語言編寫程序,會用相關的軟件對自己的程序進行翻譯,并燒進芯片中,要與對方接收機統一通信協議,要耐心的反復檢查、修改和調試,直到達到預期目的。單片機串行通信發射機采用串行工作方式,發射并顯示兩位數字信息,既顯示00-99,使數據能夠在不同地方傳遞。硬件部分主要分兩大塊,由AT89C51和多個按鍵組成的控制模塊,包括時鐘電路、控制信號電路,時鐘采用6MHZ晶振和30pF的電容來組成內部時鐘方式,控制信號用手動開關來控制,P1口來控制,P2、P3口產生信號并通過共陽極數碼管來顯示,軟件采用匯編語言來編寫,發射程序在通信協議一致的情況下完成數據的發射,同時顯示程序對發射的數據加以顯示。畢業設計的目的是了解基本電路設計的流程,豐富自己的知識和理論,鞏固所學的知識,提高自己的動手能力和實驗能力,從而具備一定的設計能力。我做得的畢業設計注重于對單片機串行發射的理論的理解,明白發射機的工作原理,以便以后單片機領域的開發和研制打下基礎,提高自己的設計能力,培養創新能力,豐富自己的知識理論,做到理論和實際結合。本課題的重要意義還在于能在進一步層次了解單片機的工作原理,內部結構和工作狀態。理解單片機的接口技術,中斷技術,存儲方式,時鐘方式和控制方式,這樣才能更好的利用單片機來做有效的設計。我的畢業設計分為兩個部分,硬件部分和軟件部分。硬件部分介紹:單片機串行通信發射機電路的設計,單片機AT89C51的功能和其在電路的作用。介紹了AT89C51的管腳結構和每個管腳的作用及各自的連接方法。AT89C51 與MCS-51 兼容,4K字節可編程閃爍存儲器,壽命:1000次可擦,數據保存10年,全靜態工作:0HZ-24HZ,三級程序存儲器鎖定,128*8 位內部RAM,32 跟可編程I/O 線,兩個16 位定時/計數器,5 個中斷源,5 個可編程串行通道,低功耗的閑置和掉電模式,片內震蕩和時鐘電路,P0和P1 可作為串行輸入口,P3口因為其管腳有特殊功能,可連接其他電路。例如P3.0RXD 作為串行輸出口,其中時鐘電路采用內時鐘工作方式,控制信號采用手動控制。數據的傳輸方式分為單工、半雙工、全雙工和多工工作方式;串行通信有兩種形式,異步和同步通信。介紹了串行串行口控制寄存器,電源管理寄存器PCON,中斷允許寄存器IE,還介紹了數碼顯示管的工作方式、組成,共陽極和共陰極數碼顯示管的電路組成,有動態和靜態顯示兩種方式,說明了不同顯示方法與單片機的連接。再后來還介紹了硬件的焊接過程,及在焊接時遇到的問題和應該注意的方面。硬件焊接好后的檢查電路、不裝芯片上電檢查及上電裝芯片檢查。軟件部分:在了解電路設計原理后,根據原理和目的畫出電路流程圖,列出數碼顯示的斷碼表,計算波特率,設置串行口,在與接受機設置相同的通信協議的基礎上編寫顯示和發射程序。編寫完程序還要進行編譯,這就必須會使用編譯軟件。介紹了編譯軟件的使用和使用過程中遇到的問題,及在編譯后燒入芯片使用的軟件PLDA,后來的加電調試,及遇到的問題,在沒問題后與接受機連接,發射數據,直到對方準確接收到。在軟件調試過程中將詳細介紹調試遇到的問題,例如:通信協議是否相同,數碼管是否與芯片連接對應,計數器是否開始計數等。

    標簽: 單片機 串行通信 發射機

    上傳時間: 2013-10-19

    上傳用戶:uuuuuuu

主站蜘蛛池模板: 晋江市| 长沙市| 孝昌县| 且末县| 松溪县| 丰县| 平罗县| 应城市| 元朗区| 红原县| 鄄城县| 博乐市| 文安县| 江达县| 滕州市| 托里县| 博野县| 昌乐县| 海城市| 鄢陵县| 山东省| 宝鸡市| 呈贡县| 仁寿县| 东源县| 湘阴县| 项城市| 莱州市| 台山市| 永平县| 杨浦区| 泾阳县| 安义县| 泸州市| 天长市| 资阳市| 沙洋县| 呼伦贝尔市| 左权县| 灌南县| 若尔盖县|