目 錄自序引言第1章 前后臺(tái)軟件架構(gòu) 11.1 MCU51的發(fā)展歷史 11.2 前后臺(tái)軟件架構(gòu) 31.2.1 大循環(huán)掃描類型 31.2.2 中斷觸發(fā)類型 31.2.3 節(jié)拍觸發(fā)類型 41.2.4 綜合性類型 41.3 實(shí)用單片機(jī)系統(tǒng) 51.3.1 目錄結(jié)構(gòu) 51.3.2 三要素實(shí)例 71.3.3 消息機(jī)制 91.3.4 軟件定時(shí)器 131.3.5 按鍵掃描 171.3.6 串口通信 201.3.7 計(jì)時(shí)時(shí)鐘 231.3.8 界面設(shè)計(jì) 241.4 小結(jié) 28第2章 軟件基礎(chǔ) 302.1 Source Insight 302.2 C#編程風(fēng)格 332.3 Keil-C51 332.4 MDK-ARM 352.5 結(jié)構(gòu)體 362.6 臨界態(tài) 372.7 臨界態(tài)保護(hù) 382.8 數(shù)據(jù)存儲(chǔ)對(duì)齊 392.9 指針 402.10 宏定義 412.11 字符編碼 422.12 小結(jié) 44第3章 小型工控系統(tǒng) 453.1 嵌入式設(shè)備分類 453.2 可編程控制器 473.2.1 起源 473.2.2 體系結(jié)構(gòu) 483.2.3 編程語言 493.2.4 可靠性設(shè)計(jì) 503.2.5 易用性 523.3 人機(jī)界面 533.3.1 硬件介紹 533.3.2 軟件編程 533.4 傳感器 563.4.1 無源開關(guān) 563.4.2 接近開關(guān) 583.4.3 模擬傳感器 603.5 驅(qū)動(dòng)器 633.5.1 繼電器 643.5.2 電磁閥 663.5.3 直流電動(dòng)機(jī) 663.5.4 交流電動(dòng)機(jī) 673.5.5 變頻器 683.5.6 直流無刷電動(dòng)機(jī) 693.5.7 伺服電動(dòng)機(jī) 693.5.8 步進(jìn)電動(dòng)機(jī) 703.5.9 振動(dòng)盤 713.5.10 工業(yè)電源類設(shè)備 723.6 Modbus協(xié)議 733.6.1 需求分析 733.6.2 UART收發(fā)器 743.6.3 幀模式 743.6.4 校驗(yàn) 753.6.5 接口標(biāo)準(zhǔn) 783.6.6 數(shù)據(jù)交換協(xié)議 803.7 PID 823.7.1 P算法 823.7.2 I算法 833.7.3 D算法 843.8 小結(jié) 84第4章 msPLC/msOS設(shè)計(jì)過程 854.1 需求來源 854.2 項(xiàng)目背景 874.2.1 工作原理 884.2.2 硬件設(shè)計(jì) 914.2.3 軟件設(shè)計(jì) 914.3 開發(fā)評(píng)估板 944.3.1 msPLC來源 954.3.2 msPLC-Demo 974.3.3 電路分析 974.4 八任務(wù)μC/OS-II 1024.4.1 選擇μC/OS-II 1034.4.2 精簡μC/OS-II 1034.5 選擇C# 1054.5.1 C#命名規(guī)范 1074.5.2 變量函數(shù)重名 1084.5.3 分層分塊 1094.5.4 CMSIS 1104.5.5 寄存器組 1114.5.6 命名空間 1134.5.7 抽象封裝 1144.5.8 優(yōu)雅的編程風(fēng)格 1154.5.9 結(jié)構(gòu)體System和App 1164.5.10 引入設(shè)備層 1164.5.11 文件目錄建立 1184.5.12 兩大結(jié)構(gòu)體 1204.5.13 引入數(shù)據(jù)庫 1224.5.14 平臺(tái)架構(gòu)圖 1244.6 菜單界面 1244.6.1 C#界面編程 1254.6.2 控件 1274.6.3 頁面 1314.6.4 控件鏈表 1344.6.5 創(chuàng)建界面 1364.6.6 解析界面 1384.6.7 按鍵處理 1414.7 業(yè)務(wù)邏輯 1434.7.1 按鍵處理 1444.7.2 訪問機(jī)制 1454.8 設(shè)備 1474.8.1 Systick 1494.8.2 ADC 1504.8.3 DI 1524.8.4 DO 1524.8.5 Timer 1534.8.6 USART1 1544.8.7 Key 1554.8.8 LCD 1554.8.9 Storage 1554.9 小結(jié) 161第5章 定制雙任務(wù)內(nèi)核 1635.1 處理器架構(gòu) 1645.2 工作原理 1655.2.1 FlashROM 1655.2.2 RAM 1665.2.3 內(nèi)核 1685.2.4 動(dòng)態(tài)變量與棧 1695.2.5 函數(shù)調(diào)用 1705.2.6 中斷處理 1715.3 內(nèi)核切換 1725.3.1 搶占 1735.3.2 切換內(nèi)容 1735.3.3 如何切換 1745.3.4 任務(wù)結(jié)構(gòu)體 1755.3.5 內(nèi)核切換代碼 1765.3.6 棧初始化 1785.3.7 創(chuàng)建任務(wù) 1795.3.8 任務(wù)啟動(dòng) 1805.4 消息機(jī)制 1815.5 小結(jié) 182第6章 應(yīng)用 1846.1 浮點(diǎn)類型顯示 1846.1.1 浮點(diǎn)類型數(shù)據(jù)存儲(chǔ)結(jié)構(gòu) 1846.1.2 sprintf函數(shù) 1856.1.3 水壓控件初始化 1866.2 數(shù)據(jù)庫指針 1876.3 界面定時(shí)刷新 1886.4 msPLC-100C 1896.4.1 接線端口 1906.4.2 端口 1906.4.3 RTC時(shí)鐘電路 1936.4.4 RS485接口 1936.4.5 DC-DC 1956.5 萬年歷 1956.6 Modbus 1966.6.1 HMI屏 1966.6.2 主從機(jī) 2006.6.3 從機(jī)代碼 2016.6.4 主機(jī)代碼 2056.7 小結(jié) 214后記 215