Modbus尋址Modbus地址通常是包含數據類型和偏移量的5 個或6 個字符值。第一個或前兩個字符決定數據類型,最后的四個字符是符合數據類型的一個適當的值。Modbus主設備指令能將地址映射至正確的功能,以便發送到從站。1 Modbus主站尋址Modbus主設備指令支持下列Modbus地址:(1) 00001 至09999是離散輸出(線圈)。(2) 10001 至19999是離散輸入(觸點)。(3) 30001 至39999是輸入寄存器(通常是模擬量輸入)。(4) 40001 至49999是保持寄存器。所有Modbus地址均以1 為基位,表示第一個數據值從地址1 開始。有效地址范圍將取決于從站。不同的從站將支持不同的數據類型和地址范圍。2 Modbus從站尋址Modbus從站指令支持以下地址:(1) 000001 至000128 是實際輸出,對應于Q0.0 ——Q15.7 。(2) 010001 至010128 是實際輸入,對應于I 0.0 ——丨15.7 。(3) 030001 至030032 是模擬輸入寄存器,對應于AIW0 至AIW2。(4) 040001 至04XXXX是保持寄存器,對應于V 區。Modbus從站協議允許您對Modbus主站可訪問的輸入、輸出、模擬量輸入和保持寄存器( V 區)的數量進行限定。MBUS_INIT指令的參數MaxlQ 指定Modbus主站允許訪問的實際輸入或輸出( I 或Q) 的最大數量。MBUS_INIT指令的MaxAl 參數指定Modbus主站允許訪問的輸入寄存器( A 丨W)的最大數量。MBUS_INIT指令的MaxHold 參數指定Modbus主站允許訪問的保持寄存器(V 存儲區字)的最大數
上傳時間: 2022-06-21
上傳用戶:
內容簡介介紹FreescaleH(CS12系列16位微控制器的中央處理器結構、S12存儲器、512指令系統、S12匯編程序設計與實例、Sl2輸出/輸入端口、中斷系統、定時器模塊、模/數轉換模塊、脈寬調制模塊、SPl和SCI串行通信模塊、Sl2微控制器應用實例和HCS]2在線調試等。并以MC9S12x;128為例,較詳盡地列出了大量相關功能寄存器的作用及設置方法,還針對以上功能模塊給出了已經調試通過的匯編語言或C語言例程。本書是針對已其有微控制器的基本知識而需要應用HCS]2系列微控制器的讀者,通過本書的學習可以更快地掌握Freescale16位微控制器HCS12系列的基本功能,本書可作為汽車電子、自動控制、智能家電、儀器儀表等領域工程技術人員的參考書,也可作為高等院校相關專業高年級本科生、研究生的教材以及教師的教學參考書。
上傳時間: 2022-06-23
上傳用戶:
DS1302包括時鐘/日歷寄存器和31字節(8位)的數據暫存寄存器,數據通信僅通過一條串行輸入輸出口。實時時鐘/日歷提供包括秒、分、時、日期、月份和年份信息。閏年可自行調整,可選擇12小時制和24小時制,可以設置AM、PM。 主要工作原理圖如Figure 1 所示:移位寄存器,控制邏輯,晶振,時鐘和RAM。在進行任何數據傳輸時,必須被制高電平(注意雖然將它置為高電平,內部時鐘還是在晶振作用下走時的,此時,允許外部讀寫數據),在每個SCLK上升沿時數據被輸入,下降沿時數據被輸出,一次只能讀寫一位,適度還是寫需要通過串行輸入控制指令來實現(也是一個字節),通過8個脈沖便可讀取一個字節從而實現串行輸入與輸出。最初通過8個時鐘周期載入控制字節到移位寄存器。如果控制指令選擇的是單字節模式,連續的8個時鐘脈沖可以進行8位數據的寫和8位數據的讀操作,SCLK時鐘的上升沿時,數據被寫入DS1302,SCLK脈沖的下降沿讀出DS1302的數據。8個脈沖便可讀寫一個字節。在突發模式,通過連續的脈沖一次性讀寫完7個字節的時鐘/日歷寄存器(注意時鐘/日歷寄存器要讀寫完),也可以一次性讀寫8~328位RAM數據(可按實際情況讀寫一定數量的位,不必全部讀寫, 兩者的區別)。
上傳時間: 2022-06-24
上傳用戶:默默
/產初始化RTL8019AS,PAGE2寄存器只讀,PAGE3寄存器不是NE2000兼容的,均不用設置材/使用0x40-0x4b為網卡的發送緩沖區,共12頁,剛好存儲2個最大的以太網數據包。使用0x4c-0x7f為網卡的接收緩沖區,共52頁,因此PSTART=0x4c,PSTOP=0x80(0x80為停止頁,接收緩沖區直到Ox7f,不包括0x80),剛開始時,網卡沒有接收到任何數據包,因此BNRY設置為指向第一個接收緩沖區的頁0x4c)*/void RTL8019lnitO REG00=0×21;/選擇頁0的寄存器,網卡停止運行,因為還沒有初始化REGO1=Ox4c;/寄存器PSTART,設置接收緩沖區的起始頁的地址REG02=0×80;/寄存器PSTOP,設置接收緩沖區的結束頁的地址REG03=0x4c;//寄存器BNRY,設置為指向第一個接收緩沖區的頁Ox4c(用作讀指針)REG04=0x40;/寄存器TPSR.發送起始頁地址初始化為指向第一個發送緩沖區的頁REGOx=0xce;/*接收配置寄存器RCR,設置為僅接收自己地址的數據包以及廣播地址和多點播送地址數據包,小于64字節的包丟棄,校驗錯的數據包不接收材REG0d=0xe0;/發送配置寄存器TCR,設置為啟用crc自動生成和校驗,正常模式工作REG0e=0xc8;/*數據配置寄存器DCR,設置為使用FIFO緩存,普通模式,8位數據傳輸,字節順序為高位字節在前,低位字節在后*制REGOf=0x00;/中斷屏蔽資存器IMR,設置為屏蔽所有中斷SelectPage(l);/選擇頁l的寄存器REG07-0x4d;/寄存器CURR.設置為指向當前正在寫的頁的下一頁(用作寫指針)
上傳時間: 2022-06-24
上傳用戶:
LTspice1.變壓器仿真的簡單步驟:A.為每個變壓器繞組繪制一個電感器B.采用一個互感(K)描述語句通過一條SPICE指令對其實施耦合:K1L1L21K語句的最后一項是耦合系數,其變化范圍介于0和1之間,1代表沒有漏電感。對于實際電路,建議您采用耦合系數=l作為起點。每個變壓器只需要一個K語句;LTspice為一個變壓器內部的所有電感器應用了單一耦合系數。下面所列是上述語句的等效語句:K1L1L21K2L2L31K3LlL31C.采用“移動”(F7)、“旋轉”(Ctrl+R)和“鏡像”(Ctrl+E)命令來調節電感器位置以與變壓器的極性相匹配。添加K語句可顯示所含電感器的調相點。D.LTspice采用個別組件值(在本場合中為個別電感器的電感)而非變壓器的匝數比進行變壓器的仿真。電感比與匝數比的對應關系如下:
標簽: ltspice
上傳時間: 2022-06-24
上傳用戶:
一.SPI總線簡介串行外圍設備接口SPI(serial peripheral interface)總線技術是Motorola公司推出的一種同步串行接口。SPI用于CPU與各種外圍器件進行全雙工、同步串行通訊。它只需四條線就可以完成MCU與各種外圍器件的通訊,這四條線是:串行時鐘線(CSK、主機輸入/從機輸出數據線(MISO)、主機輸出/從機輸入數據線(MOSI)、低電平有效從機選擇線CS。當SPI工作時,在移位寄存器中的數據逐位從輸出引腳(MOSl)輸出(高位在前),同時從輸入引腳(MISO)接收的數據逐位移到移位寄存器(高位在前)。發送一個字節后,從另一個外圍器件接收的字節數據進入移位寄存器中。即完成一個字節數據傳輸的實質是兩個器件寄存器內容的交換。主SPI的時鐘信號(SC)使傳輸同步。其典型系統框圖如下圖所示。
上傳時間: 2022-06-25
上傳用戶:
基于Proteus仿真前言:本文詳細介紹了DS18B20原理,并在后面舉例說明了其在單片機中的應用,所舉例子包含Proteus仿真電路圖,源程序,程序注釋詳細清楚。1、DS18B20簡介:DS18B20溫度傳感器是DALLAS公司生產的1-wire式單總線器件,具有線路簡單,體積小的特點,用它組成的溫度測量系統線路非常簡單,只要求一個端口即可實現通信。溫度測量范圍在一55℃~+125℃之間,分辨率可以從9~12位選擇,內部還有溫度上、下限報警設置。每個DS18B20芯片都有唯一的序列號,所以可以利用多個DS18B20同時連接在同一條總線上,組成多點測溫系統。但最多只能連接8個,如果數量過多,會使供電電源電壓過低,從而造成信號傳輸的不穩定。2、DS18B20結構:如右圖所示,DS18B20有三只引腳,VCC、DQ和GND。DQ為數字信號輸入/輸出端(DQ一般接控制器(單片機)的一個1/0口上,由于單總線為開漏所以需要外接一個4.7K的上拉電阻);GND為電源地;VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。DS18B20內部結構主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發的溫度報警觸發器TH和TL、配置寄存器。光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位是產品類型標號,接著的48位是該DS1B20自身的序列號,最后8位是前面56位的CRC校驗碼(循環冗余校驗碼)。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現一根總線上掛接多個DS18B20的目的。溫度傳感器可完成對溫度的測量,以12位轉化為例,用16位符號擴展的二進制補碼讀數形式提供。
上傳時間: 2022-07-02
上傳用戶:
本資源為2015年全國大學生電子設計競賽A題,其中包含了代碼及電路圖,有需要的朋友可以下載。下面是本資源的部分摘要:本系統以STM32單片機為主控制器,以非隔離式Buck-Boost型電路為核心,設計并制作用于電池儲能裝置的雙向DC-DC變換器,實現可按鍵設定亦可自動轉換電池充放電模式的功能。系統由STM32內部寄存器及擴展口功能,加上按鍵模塊、集成運放模塊、LCD液晶顯示模塊、雙向DC-DC變換電路組成。提高了電源效率,有效的保護了電路,經測試,系統能夠實現基礎部分所有要求。
標簽: DC-DC變換器 全國大學生電子設計競賽
上傳時間: 2022-07-05
上傳用戶:得之我幸78
在網上看到的別人寫的一個基于STM32的MODBUS程序,還不錯,發上來分享一下。順便賺賺積分用于下載其他朋友的資料。 此Modbus協議暫時只支持RTU模式,只支持作為Modbus從設備。 暫時支持的功能碼(16進制)如下表所示: 01.讀線圈狀態(讀多個輸出位的狀態,有效地位為0-31) 02.讀輸入位狀態(讀多個輸入位的狀態,有效地位為0-31) 03.讀保持寄存器(讀多個保持寄存器的數值,有效地位為0-99) 04.讀輸入寄存器(讀多個輸入寄存器的數值,有效地址為0-1) 05.強制單個線圈(強制單個輸出位的狀態,有效地位為0-31) 06.預制單個寄存器(設定一個寄存器的數值,有效地址為0-99) 0F.強制多個線圈(強制多個輸出位的狀態,有效地址為0-31) 10.預制多個寄存器(設定多個寄存器的數值,有效地址為0-99)暫時支持的錯誤代碼為: 01 不合法功能代碼從機接收的是一種不能執行功能代碼。發出查詢命令后,該代碼指示無程序功能。(不支持的功能代碼) 02 不合法數據地址接收的數據地址,是從機不允許的地址。(起始地址不在有效范圍內) 03 不合法數據查詢數據區的值是從機不允許的值。(在起始地址的基礎上,這個數量是不合法的)
上傳時間: 2022-07-12
上傳用戶:
本文檔介紹如何使用 GNU 語言工具來編寫 16 位單片機 / 數字信號控制器應用程序代 碼。內容安排如下: ? 第 1 章 “編譯器概述”——介紹編譯器、開發工具和功能集。 ? 第 2 章“通用 C 接口”——介紹可用于增強 MPLAB XC 編譯器之間代碼可移植性 的通用 C 接口。 ? 第 3 章“操作指南”——列出了一些具體操作方面的問題和簡要說明,以及指向手 冊中相關章節的鏈接。 ? 第 4 章“XC16 工具鏈和 MPLAB X IDE”——說明關于如何通過 MPLAB X IDE 設 置和使用編譯器及相關工具的基礎知識。 ? 第 5 章 “編譯器命令行驅動程序”——介紹如何從命令行中使用編譯器。 ? 第 6 章“與器件相關的特性”——介紹編譯器頭文件和寄存器定義文件,以及如何 用于 SFR。 ? 第 7 章 “MPLAB XC16 和 ANSI C 之間的差別”——介紹編譯器語法支持的 C 語 言與標準 ANSI-89 C 之間的差別。 ? 第8章“支持的數據類型和變量”——介紹編譯器的整型、浮點型和指針數據類型。第 9 章 “定點算術支持”——說明編譯器中的定點算術支持。 ? 第 10 章 “存儲器分配和訪問”——介紹編譯器運行時模型,包括關于段、初始 化、存儲模型、軟件堆棧和更多方面的信息。 ? 第 11 章 “操作符和語句”——介紹操作符和語句。 ? 第 12 章 “寄存器使用”——說明如何訪問和使用 SFR。 ? 第 13 章 “函數”——詳細介紹可用的函數。 ? 第 14 章 “中斷”——介紹如何使用中斷。 ? 第 15 章 “main、運行時啟動和復位”——介紹 C 代碼的重要元素。 ? 第 16 章 “混合使用 C 代碼和匯編代碼”——提供關于編譯器與 16 位匯編語言模 塊配合使用的指導。 ? 第 17 章 “庫程序”——說明如何使用庫。 ? 第 18 章 “優化”——介紹優化選項。 ? 第 19 章 “預處理”——詳細介紹預處理操作。 ? 第 20 章 “鏈接程序”——說明鏈接如何工作。
標簽: mplab xc16 編譯器
上傳時間: 2022-07-16
上傳用戶: