用單片機實現溫度遠程顯示摘 要:文章介紹了用AT89S8252單片機的串行接口與智能溫度巡回檢測儀(XJ-08S)通過RS—485總線相互通訊實現熱水溫度遠程顯示的一種低成本解決方案,內容涉及RS—485總線通訊、單片機驅動數碼管顯示、數據轉換以及鍵盤處理軟硬件設計等內容。關鍵詞:單片機 RS—485總線 數碼管顯示 數據轉換 鍵盤處理一、前 言目前檢測溫度一般采用熱電偶或熱敏電阻作為傳感器,這種傳感器至儀表之間一般都要用專用的溫度補償導線,而溫度補償導線價格很貴,并且線路太長也會影響測量精度。在實際應用中往往需要對較遠處(1KM左右)的溫度信號進行監視。現有的解決方案有很多,例如:1、 在現場用智能儀表對溫度信號進行測量,用計算機作上位機與智能儀表進行通訊來實現遠程溫度監測(采用這種方案要增加計算機設備及相關計算機軟件)。2、 NCU+DDC實現遠程溫度監測。用兩個DDC,一個安裝在現場測量溫度,另一個安裝在監視地,兩個DDC通過NCU進行通訊從而實現遠程溫度監測。但以上方案都存在成本高的問題,有沒有低成本的解決方案呢?其實,在單片機應用日益廣泛的今天,完全可以用單片機以極低的成本來實現遠程溫度監測。二、問題的提出我單位管理的鍋爐房同時給兩棟建筑物內的兩家酒店供應蒸汽,由安裝在兩棟建筑物地下室的熱交換器進行熱交換后產生熱水送給客房。從鍋爐房至兩個熱交換站的距離分別約600米,值班人員要不停地奔波于兩個熱交換站與鍋爐房之間進行設備巡視,檢查熱水溫度是否控制在規定的范圍,這樣不僅增加了值班人員的勞動強度,同時也使鍋爐房經常無人(因每班1人值班)。如果能在鍋爐房顯示兩個熱交換站內各熱交換器的熱水溫度,則值班人員僅在熱水溫度異常時才需到各熱交換站檢查設備,這樣便可解決上述問題。我公司曾就此問題找專業公司作過方案,其報價在人民幣10萬元左右,后因種種原因該項目未實施。經過分析,本人發現可以用單片機+智能儀表以低成本實現溫度遠程顯示,并且經過實驗取得了成功,現將設計方案簡述如下:三、控制要求及解決方案選擇 1、 兩個熱交換站分高低區共安裝有8個熱交換器,正常水溫在45oC至65oC之間;兩個熱交換站與鍋爐房的距離分別為500米和600米左右。2、 要求在鍋爐房能以巡回及定點兩種方式顯示8個熱交換器的熱水溫度,巡回方式以3秒為周期輪流更新及顯示各熱交換器熱水溫度。定點方式時每按上鍵或下鍵一次則顯示上或下一個熱交換器熱水溫度,每3秒自動更新數據一次。3、 根據控制要求選擇單片機+智能儀表的解決方案:用帶通訊接口的智能儀表安裝在現場測量溫度,設計制作一個單片機裝置完成與智能儀表的通訊及數據顯示。四、通訊協議、智能儀表選擇及其參數介紹因熱水溫度信號變化較慢,因而對通信的速度要求不高,對于這種低速率遠距離的通訊選用RS-485總線適宜。RS-485是EIA(美國電子工業聯合會)在1983年公布的新的平衡傳輸標準,是工業界使用最為廣泛的雙向、平衡傳輸線標準接口,它以半雙工方式通信,支持多點連接,傳統驅動器允許創建多達32個節點的網絡,且其具有傳輸距離遠(最大傳輸距離為1200M),傳輸速度快(1200M時為100KBPS)等優點。其連接方法如下圖所示。
上傳時間: 2013-10-12
上傳用戶:luopoguixiong
1. RS-232-C 詳解 22. 串口通信基本接線方法 123. 串口通訊的概念及接口電路 134. 有關RS232和RS485接口的問答 145. 同步通信方式 166. 通信協議197. 實戰串行通訊258. 全雙工和半雙工方式 339. 淺析PC 機串口通訊流控制 3410. 奇偶校驗 3511. 開發通信軟件的技術與技巧 3612. 接口技術的基本知識 4113. 一個單片機串行數據采集/傳輸模塊的設計 4414. 單工、半雙工和全雙工的定義 4815. 從RS232 端口獲得電源4916. 串行同步通信的應用5017. 串行通信波特率的一種自動檢測方法5318. RS-232、RS-422 與RS-485 標準及應用5619. 串口泵 6串行通信接口標準經過使用和發展,目前已經有幾種。但都是在RS-232標準的基礎上經過改進而形成的。所以,以RS-232C為主來討論。RS-323C 標準是美國EIA(電子工業聯合會)與BELL等公司一起開發的1969 年公布的通信協議。它適合于數據傳輸速率在0~20000b/s 范圍內的通信。這個標準對串行通信接口的有關問題,如信號線功能、電器特性都作了明確規定。由于通行設備廠商都生產與RS-232C制式兼容的通信設備,因此,它作為一種標準,目前已在微機通信接口中廣泛采用。在討論RS-232C 接口標準的內容之前,先說明兩點:首先,RS-232-C標準最初是遠程通信連接數據終端設備DTE(Data Terminal Equipment)與數據通信設備DCE(Data Communication Equipment)而制定的。因此這個標準的制定,并未考慮計算機系統的應用要求。但目前它又廣泛地被借來用于計算機(更準確的說,是計算機接口)與終端或外設之間的近端連接標準。顯然,這個標準的有些規定及和計算機系統是不一致的,甚至是相矛盾的。有了對這種背景的了解,我們對RS-232C標準與計算機不兼容的地方就不難理解了。其次,RS-232C 標準中所提到的“發送”和“接收”,都是站在DTE 立場上,而不是站在DCE 的立場來定義的。由于在計算機系統中,往往是CPU 和I/O設備之間傳送信息,兩者都是DTE,因此雙方都能發送和接收。
上傳時間: 2013-11-21
上傳用戶:crazyer
RS-232-C 是PC 機常用的串行接口,由于信號電平值較高,易損壞接口電路的芯片,與TTL電平不兼容故需使用電平轉換電路方能與TTL 電路連接。本產品(轉接器),可以實現任意電平下(0.8~15)的UART串行接口到RS-232-C/E接口的無源電平轉接, 使用非常方便可靠。 什么是RS-232-C 接口?采用RS-232-C 接口有何特點?傳輸電纜長度如何考慮?答: 計算機與計算機或計算機與終端之間的數據傳送可以采用串行通訊和并行通訊二種方式。由于串行通訊方式具有使用線路少、成本低,特別是在遠程傳輸時,避免了多條線路特性的不一致而被廣泛采用。 在串行通訊時,要求通訊雙方都采用一個標準接口,使不同 的設備可以方便地連接起來進行通訊。 RS-232-C接口(又稱 EIA RS-232-C)是目前最常用的一種串行通訊接口。它是在1970 年由美國電子工業協會(EIA)聯合貝爾系統、 調制解調器廠家及計算機終端生產廠家共同制定的用于串行通訊的標準。它的全名是“數據終端設備(DTE)和數據通訊設備(DCE)之間串行二進制數據交換接口技術標準”該標準規定采用一個25 個腳的 DB25 連接器,對連接器的每個引腳的信號內容加以規定,還對各種信號的電平加以規定。(1) 接口的信號內容實際上RS-232-C 的25 條引線中有許多是很少使用的,在計算機與終端通訊中一般只使用3-9 條引線。(2) 接口的電氣特性 在RS-232-C 中任何一條信號線的電壓均為負邏輯關系。即:邏輯“1”,-5— -15V;邏輯“0” +5— +15V 。噪聲容限為2V。即 要求接收器能識別低至+3V 的信號作為邏輯“0”,高到-3V的信號 作為邏輯“1”(3) 接口的物理結構 RS-232-C 接口連接器一般使用型號為DB-25 的25 芯插頭座,通常插頭在DCE 端,插座在DTE端. 一些設備與PC 機連接的RS-232-C 接口,因為不使用對方的傳送控制信號,只需三條接口線,即“發送數據”、“接收數據”和“信號地”。所以采用DB-9 的9 芯插頭座,傳輸線采用屏蔽雙絞線。(4) 傳輸電纜長度由RS-232C 標準規定在碼元畸變小于4%的情況下,傳輸電纜長度應為50 英尺,其實這個4%的碼元畸變是很保守的,在實際應用中,約有99%的用戶是按碼元畸變10-20%的范圍工作的,所以實際使用中最大距離會遠超過50 英尺,美國DEC 公司曾規定允許碼元畸變為10%而得出附表2 的實驗結果。其中1 號電纜為屏蔽電纜,型號為DECP.NO.9107723 內有三對雙絞線,每對由22# AWG 組成,其外覆以屏蔽網。2 號電纜為不帶屏蔽的電纜。 2. 什么是RS-485 接口?它比RS-232-C 接口相比有何特點?答: 由于RS-232-C 接口標準出現較早,難免有不足之處,主要有以下四點:(1) 接口的信號電平值較高,易損壞接口電路的芯片,又因為與TTL 電平不兼容故需使用電平轉換電路方能與TTL 電路連接。(2) 傳輸速率較低,在異步傳輸時,波特率為20Kbps。(3) 接口使用一根信號線和一根信號返回線而構成共地的傳輸形式, 這種共地傳輸容易產生共模干擾,所以抗噪聲干擾性弱。(4) 傳輸距離有限,最大傳輸距離標準值為50 英尺,實際上也只能 用在50 米左右。針對RS-232-C 的不足,于是就不斷出現了一些新的接口標準,RS-485 就是其中之一,它具有以下特點:1. RS-485 的電氣特性:邏輯“1”以兩線間的電壓差為+(2—6) V 表示;邏輯“0”以兩線間的電壓差為-(2—6)V 表示。接口信號電平比RS-232-C 降低了,就不易損壞接口電路的芯片, 且該電平與TTL 電平兼容,可方便與TTL 電路連接。2. RS-485 的數據最高傳輸速率為10Mbps3. RS-485 接口是采用平衡驅動器和差分接收器的組合,抗共模干能力增強,即抗噪聲干擾性好。4. RS-485 接口的最大傳輸距離標準值為4000 英尺,實際上可達 3000 米,另外RS-232-C接口在總線上只允許連接1 個收發器, 即單站能力。而RS-485 接口在總線上是允許連接多達128 個收發器。即具有多站能力,這樣用戶可以利用單一的RS-485 接口方便地建立起設備網絡。因RS-485 接口具有良好的抗噪聲干擾性,長的傳輸距離和多站能力等上述優點就使其成為首選的串行接口。 因為RS485 接口組成的半雙工網絡,一般只需二根連線,所以RS485接口均采用屏蔽雙絞線傳輸。 RS485 接口連接器采用DB-9 的9 芯插頭座,與智能終端RS485接口采用DB-9(孔),與鍵盤連接的鍵盤接口RS485 采用DB-9(針)。3. 采用RS485 接口時,傳輸電纜的長度如何考慮?答: 在使用RS485 接口時,對于特定的傳輸線經,從發生器到負載其數據信號傳輸所允許的最大電纜長度是數據信號速率的函數,這個 長度數據主要是受信號失真及噪聲等影響所限制。下圖所示的最大電纜長度與信號速率的關系曲線是使用24AWG 銅芯雙絞電話電纜(線 徑為0.51mm),線間旁路電容為52.5PF/M,終端負載電阻為100 歐 時所得出。(曲線引自GB11014-89 附錄A)。由圖中可知,當數據信 號速率降低到90Kbit/S 以下時,假定最大允許的信號損失為6dBV 時, 則電纜長度被限制在1200M。實際上,圖中的曲線是很保守的,在實 用時是完全可以取得比它大的電纜長度。 當使用不同線徑的電纜。則取得的最大電纜長度是不相同的。例 如:當數據信號速率為600Kbit/S 時,采用24AWG 電纜,由圖可知最 大電纜長度是200m,若采用19AWG 電纜(線徑為0。91mm)則電纜長 度將可以大于200m; 若采用28AWG 電纜(線徑為0。32mm)則電纜 長度只能小于200m。
上傳時間: 2013-10-11
上傳用戶:時代電子小智
本書介紹Linux環境下的編程方法,內容包括Linux系統命令、 Shell腳本、編程語言(gawk、Perl)、系統內核、安全體系、X Window等,內容豐富、論述全面,涵蓋了Linux系統的方方面面。本書附帶光盤包括了RedHat Linux系統的最新版本,及安裝方法,還包括本書的大量程序代碼,極大地方便了讀者,為使用和將要使用Linux系統的技術人員提供了較全面的參考。 目 錄前言第一篇 Linux系統介紹第1章 Linux簡介 …11.1 Linux 的起源 11.2 自由軟件基金會的GNU計劃 11.3 Linux 的發音 21.4 Linux 的特點 21.5 基本硬件要求 31.6 如何獲得Linux 31.6.1 從網上下載Linux 31.6.2 從光盤獲得Linux 31.7 涉及Linux 的Web 網址和新聞討論組 61.8 Linux 的不足之處 7第2章 外殼及常用命令 82.1 登錄和退出 82.2 Linux 系統的外殼 82.3 外殼的常用命令 92.3.1 更改帳號密碼 92.3.2 聯機幫助 92.3.3 遠程登錄 92.3.4 文件或目錄處理 92.3.5 改變工作目錄 102.3.6 復制文件 102.3.7 移動或更改文件、目錄名稱 102.3.8 建立新目錄 102.3.9 刪除目錄 112.3.10 刪除文件 112.3.11 列出當前所在的目錄位置 112.3.12 查看文件內容 112.3.13 分頁查看文件內容 112.3.14 查看目錄所占磁盤容量 112.3.15 文件傳輸 112.3.16 文件權限的設定 122.3.17 檢查自己所屬的工作組名稱 132.3.18 改變文件或目錄工作組所有權 132.3.19 改變文件或目錄的最后修改時間 132.3.20 文件的鏈接 132.3.21 文件中字符串的查尋 142.3.22 查尋文件或命令的路徑 142.3.23 比較文件或目錄的內容 142.3.24 文件打印輸出 142.3.25 一般文件的打印 142.3.26 troff 文件的打印 142.3.27 打印機控制命令 142.3.28 進程控制 152.3.29 外殼變量 162.3.30 環境變量 162.3.31 別名 162.3.32 歷史命令 172.3.33 文件的壓縮 172.3.34 管道命令的使用 172.3.35 輸入/輸出控制 182.3.36 查看系統中的用戶 182.3.37 改變用戶名 182.3.38 查看用戶名 182.3.39 查看當前系統上所有工作站 的用戶 192.3.40 與某工作站上的用戶交談 192.3.41 檢查遠程系統是否正常 192.3.42 電子郵件的使用簡介 19第3章 Linux系統的網絡功能 213.1 Linux支持的網絡協議 213.1.1 TCP/IP 213.1.2 TCP/IP 版本 6 213.1.3 IPX/SPX 213.1.4 AppleTalk 協議集 213.1.5 廣域網 223.1.6 ISDN 223.1.7 PPP、SLIP及PLIP 223.1.8 業余無線電 223.1.9 ATM 223.2 Linux系統下的文件共享和打印共享 223.2.1 Machintosh 環境 223.2.2 Windows 環境 223.2.3 Novell 環境 233.2.4 UNIX 環境 233.3 Linux系統中的Internet/Intranet功能 233.3.1 郵件 233.3.2 Web 服務器 243.3.3 Web 瀏覽器 243.3.4 FTP 服務器和客戶機 243.3.5 新聞服務 243.3.6 域名系統 243.3.7 DHCP和 bootp 243.3.8 NIS 243.4 Linux系統下應用程序的遠程執行 243.4.1 Telnet 253.4.2 遠程命令 253.4.3 X Window 253.5 Linux系統的網絡互連功能 253.5.1 路由器 253.5.2 網橋 253.5.3 IP偽裝 253.5.4 IP統計 263.5.5 IP 別名 263.5.6 流量限制器 263.5.7 防火墻 263.5.8 端口下傳 263.5.9 負載平衡 263.5.10 EQL 273.5.11 代理服務器 273.5.12 按需撥號 273.5.13 管道、移動IP和虛擬個人網絡 273.6 Linux系統中的網絡管理 273.6.1 Linux系統下的網絡管理應用程序 273.6.2 SNMP 283.7 企業級Linux網絡 283.7.1 高可用性 283.7.2 RAID 283.7.3 冗余網絡 28第4章 Linux系統管理簡介 294.1 root 帳號 294.2 啟動和關閉系統 294.2.1 從軟盤啟動 294.2.2 使用LILO 啟動 294.2.3 關閉Linux系統 304.3 掛接文件系統 304.3.1 掛接軟盤 304.3.2 創建新的文件系統 304.3.3 卸載文件系統 314.4 檢查文件系統 314.5 使用文件作為交換區 314.6 系統和文件的備份 324.7 設置系統 334.7.1 設置系統名 334.7.2 使用維護磁盤 334.7.3 重新設置root 帳號口令 334.7.4 設置登錄信息 33第二篇 Linux高級語言及管理編程第5章 外殼編程 355.1 創建和運行外殼程序 355.1.1 創建外殼程序 355.1.2 運行外殼程序 355.2 使用外殼變量 365.2.1 給變量賦值 365.2.2 讀取變量的值 375.2.3 位置變量和其他系統變量 375.2.4 引號的作用 375.3 數值運算命令 385.4 條件表達式 405.4.1 if 表達式 405.4.2 case 表達式 415.5 循環語句 425.5.1 for 語句 435.5.2 while 語句 435.5.3 until 語句 445.6 shift 命令 445.7 select 語句 455.8 repeat 語句 465.9 子函數 46第6章 gawk語言編程 486.1 gawk的主要功能 486.2 如何執行gawk程序 486.3 文件、記錄和字段 486.4 模式和動作 496.5 比較運算和數值運算 506.6 內部函數 506.6.1 隨機數和數學函數 516.6.2 字符串的內部函數 516.6.3 輸入輸出的內部函數 526.7 字符串和數字 526.8 格式化輸出 526.9 改變字段分隔符 546.10 元字符 546.11 調用gawk程序 556.12 BEGIN和END 556.13 變量 566.14 內置變量 566.15 控制結構 576.15.1 if 表達式 576.15.2 while 循環 576.15.3 for 循環 586.15.4 next 和 exit 586.16 數組 586.17 用戶自定義函數 586.18 幾個實例 59第7章 Perl語言編程 607.1 什么是Perl 607.2 Perl的現狀 607.3 初試Perl 607.4 Perl變量 607.4.1 標量 607.4.2 數組 637.4.3 相關數組 657.5 文件句柄和文件操作 657.6 循環結構 667.6.1 foreach循環 667.6.2 判斷運算 667.6.3 for循環 677.6.4 while 和 until循環 677.7 條件結構 677.8 字符匹配 687.9 替換和翻譯 697.9.1 替換 697.9.2 翻譯 707.10 子過程 707.10.1 子過程的定義 707.10.2 參數 707.10.3 返回值 707.11 Perl程序的完整例子 71第三篇 Linux系統內核分析第8章 Linux內核簡介 738.1 系統初始化 738.2 系統運行 738.3 內核提供的各種系統調用 748.3.1 進程的基本概念和系統 的基本數據結構 748.3.2 創建和撤消進程 748.3.3 執行程序 748.4 存取文件系統 75第9章 系統進程 769.1 什么是進程 769.2 進程的結構 769.3 進程調度 789.4 進程使用的文件 799.5 進程使用的虛擬內存 809.6 創建進程 819.7 進程的時間和計時器 819.7.1 實時時鐘 819.7.2 虛擬時鐘 819.7.3 形象時鐘 819.8 程序的執行 829.8.1 ELF文件 829.8.2 腳本文件 82第10章 內存管理 8310.1 內存管理的作用 8310.2 虛擬內存的抽象模型 8310.3 按需裝入頁面 8410.4 交換 8510.5 共享虛擬內存 8510.6 存取控制 8510.7 高速緩存 8610.7.1 緩沖區高速緩存 8610.7.2 頁面高速緩存 8610.7.3 交換高速緩存 8610.7.4 硬件高速緩存 8610.8 系統頁面表 8610.9 頁面的分配和釋放 8710.9.1 頁面的分配 8810.9.2 頁面的釋放 8810.10 內存映射 8810.11 請求調頁 8910.12 頁面高速緩存 8910.13 內核交換守護進程 90第11章 進程間通信 9111.1 信號機制 9111.2 管道機制 9211.3 System V IPC 機制 9311.3.1 信息隊列 9311.3.2 信號量 9411.3.3 共享內存 96第12章 PCI 9812.1 PCI 系統 9812.2 PCI地址空間 9812.3 PCI設置頭 9912.4 PCI I/O 和 PCI 內存地址 10012.5 PCI-ISA橋 10012.6 PCI-PCI 橋 10012.7 PCI初始化 10112.7.1 Linux系統內核有關PCI的 數據結構 10112.7.2 PCI 設備驅動程序 10212.7.3 PCI BIOS 函數 10512.7.4 PCI Fixup 105第13章 中斷和中斷處理 10613.1 中斷 10613.2 可編程中斷控制器 10613.3 初始化中斷處理的數據結構 10713.4 中斷處理 108第14章 設備驅動程序 10914.1 硬件設備的管理 10914.2 輪詢和中斷 11014.3 直接內存存取 11014.4 內存 11114.5 設備驅動程序和內核之間的接口 11114.5.1 字符設備 11214.5.2 塊設備 11314.6 硬盤 11314.6.1 IDE 硬盤 11514.6.2 初始化IDE 硬盤子系統 11514.6.3 SCSI 硬盤 11514.6.4 初始化 SCSI 磁盤子系統 11614.6.5 傳遞塊設備請求 11814.7 網絡設備 11814.7.1 網絡設備文件名 11814.7.2 總線信息 11814.7.3 網絡接口標記 11914.7.4 協議信息 11914.7.5 初始化網絡設備 119第15章 文件系統 12115.1 Linux文件系統概述 12115.2 ext2文件系統 12215.2.1 ext2的索引節點 12215.2.2 ext2超級塊 12415.2.3 ext2 數據塊組描述符 12415.2.4 ext2 中的目錄 12515.2.5 在ext2 文件系統中查找文件 12515.2.6 改變ext2 文件系統中文件 的大小 12615.3 VFS 12715.3.1 VFS 超級塊 12815.3.2 VFS 索引節點 12915.3.3 登記文件系統 12915.3.4 掛接文件系統 13015.3.5 在VFS中查找文件 13115.3.6 撤消文件系統 13115.3.7 VFS 索引節點緩存 13215.3.8 VFS目錄緩存 13215.4 緩沖區緩存 13315.5 /proc 文件系統 135第16章 網絡系統 13616.1 TCP/IP 網絡簡介 13616.2 TCP/IP網絡的分層 13716.3 BSD 套接口 13816.4 INET套接口層 14016.4.1 創建BSD 套接口 14116.4.2 給INET BSD 套接口指定地址 14116.4.3 在INET BSD套接口上創建連接 14216.4.4 監聽INET BSD 套接口 14216.4.5 接收連接請求 14316.5 IP 層 14316.5.1 套接口緩沖區 14316.5.2 接收IP數據包 14416.5.3 發送IP數據包 14416.5.4 數據碎片 14416.6 地址解析協議 145第17章 系統內核機制 14717.1 Bottom Half處理 14717.2 任務隊列 14817.3 計時器 14917.4 等待隊列 14917.5 信號量 150第四篇 Linux系統高級編程第18章 Linux內核模塊編程 15118.1 一個簡單程序Hello World 15118.2 設備文件 15218.3 /proc文件系統 15618.4 使用/proc輸入 15818.5 與設備文件通信 16218.6 啟動參數 16918.7 系統調用 17018.8 阻塞進程 17218.9 替換printk 17718.10 調度任務 178第19章 有關進程通信的編程 18119.1 進程間通信簡介 18119.2 半雙工UNIX管道 18119.2.1 基本概念 18119.2.2 使用C語言創建管道 18219.2.3 創建管道的簡單方法 18519.2.4 使用管道的自動操作 18719.2.5 使用半雙工管道時的注意事項 18819.3 命名管道 18819.3.1 基本概念 18819.3.2 創建FIFO 18819.3.3 FIFO操作 18919.3.4 FIFO的阻塞 19019.3.5 SIGPIPE信號 19019.4 System V IPC 19019.4.1 基本概念 19019.4.2 消息隊列基本概念 19119.4.3 系統調用msgget() 19419.4.4 系統調用msgsnd() 19519.4.5 系統調用msgctl() 19719.4.6 一個msgtool的實例 19919.5 使用信號量編程 20119.5.1 基本概念 20119.5.2 系統調用semget() 20219.5.3 系統調用semop() 20319.5.4 系統調用semctl() 20419.5.5 使用信號量集的實例:semtool 20519.6 共享內存 20919.6.1 基本概念 20919.6.2 系統內部用戶數據結構 shmid_ds 20919.6.3 系統調用shmget() 21019.6.4 系統調用shmat() 21119.6.5 系統調用shmctl() 21119.6.6 系統調用shmdt() 21219.6.7 使用共享內存的實例:shmtool 212第20章 高級線程編程 21520.1 線程的概念和用途 21520.2 一個簡單的例子 21520.3 線程同步 21720.4 使用信號量協調程序 21820.5 信號量的實現 22020.5.1 Semaphore.h 22020.5.2 Semaphore.c 221第21章 Linux系統網絡編程 22521.1 什么是套接口 22521.2 兩種類型的Internet套接口 22521.3 網絡協議分層 22521.4 數據結構 22521.5 IP地址和如何使用IP地址 22621.5.1 socket() 22621.5.2 bind() 22621.5.3 connect() 22721.5.4 listen() 22821.5.5 accept() 22821.5.6 send() 和 recv() 22921.5.7 sendto() 和 recvfrom() 23021.5.8 close() 和 shutdown() 23021.5.9 getpeername() 23121.5.10 gethostname() 23121.6 DNS 23121.7 客戶機/服務器模式 23221.8 簡單的數據流服務器程序 23221.9 簡單的數據流客戶機程序 23421.10 數據報套接口 23521.11 阻塞 237第22章 Linux I/O端口編程 24022.1 如何在 C 語言下使用I/O端口 24022.1.1 一般的方法 24022.1.2 另一個替代方法: /dev/port 24122.2 硬件中斷 與 DMA 存取 24122.3 高精確的時間 24122.3.1 延遲時間 24122.3.2 時間的量測 24322.4 使用其他程序語言 24322.5 一些有用的 I/O 端口 24322.5.1 并行端口 24322.5.2 游戲端口 24422.5.3 串行端口 245第五篇 Linux系統安全分析第23章 系統管理員安全 24723.1 安全管理 24723.2 超級用戶 24723.3 文件系統安全 24723.3.1 Linux文件系統概述 24723.3.2 設備文件 24823.3.3 /etc/mknod命令 24923.3.4 安全考慮 24923.3.5 find命令 25023.3.6 secure程序 25023.3.7 ncheck命令 25023.3.8 安裝和拆卸文件系統 25023.3.9 系統目錄和文件 25123.4 作為root運行的程序 25123.4.1 啟動系統 25123.4.2 init進程 25123.4.3 進入多用戶 25223.4.4 shutdown命令 25223.4.5 系統V的cron程序 25223.4.6 系統V版本2之后的cron程序 25223.4.7 /etc/profile 25323.5 /etc/passwd文件 25323.5.1 口令時效 25323.5.2 UID和GID 25423.6 /etc/group文件 25423.7 增加、刪除和移走用戶 25423.7.1 增加用戶 25423.7.2 刪除用戶 25523.7.3 將用戶移到另一個系統 25523.8 安全檢查 25523.8.1 記帳 25523.8.2 其他檢查命令 25623.8.3 安全檢查程序的問題 25623.8.4 系統泄密后怎么辦 25723.9 加限制的環境 25823.9.1 加限制的外殼 25823.9.2 用chroot()限制用戶 25823.10 小系統安全 25923.11 物理安全 25923.12 用戶意識 26023.13 系統管理員意識 26123.13.1 保持系統管理員個人的 登錄安全 26123.13.2 保持系統安全 261第24章 系統程序員安全 26324.1 系統子程序 26324.1.1 I/O子程序 26324.1.2 進程控制 26324.1.3 文件屬性 26424.1.4 UID和GID的處理 26524.2 標準C程序庫 26524.2.1 標準I/O 26524.2.2 /etc/passwd的處理 26624.2.3 /etc/group的處理 26724.2.4 加密子程序 26824.2.5 運行外殼 26824.3 編寫安全的C程序 26824.3.1 需要考慮的安全問題 26824.3.2 SUID/SGID程序指導準則 26924.3.3 編譯、安裝SUID/SGID程序 的方法 26924.4 root用戶程序的設計 270第25章 Linux系統的網絡安全 27225.1 UUCP系統概述 27225.1.1 UUCP命令 27225.1.2 uux命令 27225.1.3 uucico程序 27325.1.4 uuxqt程序 27325.2 UUCP的安全問題 27325.2.1 USERFILE文件 27325.2.2 L.cmds文件 27425.2.3 uucp登錄 27425.2.4 uucp使用的文件和目錄 27425.3 HONEYDANBER UUCP 27525.3.1 HONEYDANBER UUCP與 老UUCP的差別 27525.3.2 登錄名規則 27625.3.3 MACHINE規則 27725.3.4 組合MACHINE和LOGNAME 規則 27825.3.5 uucheck命令 27825.3.6 網關 27825.3.7 登錄文件檢查 27925.4 其他網絡 27925.4.1 遠程作業登錄 27925.4.2 NSC網絡系統 28025.5 通信安全 28025.5.1 物理安全 28025.5.2 加密 28125.5.3 用戶身份鑒別 28225.6 SUN OS系統的網絡安全 28325.6.1 確保NFS的安全 28325.6.2 NFS安全性方面的缺陷 28425.6.3 遠程過程調用鑒別 28425.6.4 Linux鑒別機制 28425.6.5 DES鑒別系統 28525.6.6 公共關鍵字的編碼 28625.6.7 網絡實體的命名 28625.6.8 DES鑒別系統的應用 28725.6.9 遺留的安全問題 28725.6.10 性能 28825.6.11 啟動和setuid程序引起的問題 28825.6.12 小結 289第26章 Linux系統的用戶安全性 29026.1 口令安全 29026.2 文件許可權 29026.3 目錄許可 29126.4 umask命令 29126.5 設置用戶ID和同組用戶ID許可 29126.6 cp mv ln和cpio命令 29126.7 su和newgrp命令 29226.7.1 su命令 29226.7.2 newgrp命令 29226.8 文件加密 29226.9 其他安全問題 29326.9.1 用戶的.profile文件 29326.9.2 ls -a 29326.9.3 .exrc文件 29326.9.4 暫存文件和目錄 29326.9.5 UUCP和其他網絡 29326.9.6 特洛伊木馬 29426.9.7 誘騙 29426.9.8 計算機病毒 29426.9.9 要離開自己已登錄的終端 29426.9.10 智能終端 29426.9.11 斷開與系統的連接 29426.9.12 cu命令 29526.10 保持帳戶安全的要點 295第六篇 X window系統的內部結構和使用第27章 X Window系統的基本知識 29727.1 X Window系統介紹 29727.1.1 X的特點 29727.1.2 什么是窗口系統 29827.1.3 X發展的歷史 29927.1.4 X的產品 29927.1.5 MIT發行的X 29927.2 X的基本結構 30227.2.1 X 的基本元素 30327.2.2 服務程序和客戶程序如何 交互通信 30427.2.3 X 的網絡概況 30627.3 從用戶界面的角度概觀X 30727.3.1 管理界面:窗口管理器 30727.3.2 應用程序界面和工具箱 30927.3.3 其他系統角度 30927.4 術語和符號 31027.4.1 術語 31027.4.2 符號 31127.5 啟動和關閉X 31227.5.1 啟動X 31227.5.2 執行X程序的方式 31327.5.3 關閉X 31427.6 窗口管理器基礎—uwm 31527.6.1 什么是窗口管理器 31527.6.2 啟動uwm 31527.6.3 基本窗口操作 —uwm 的菜單 31527.6.4 移動窗口 31627.6.5 重定窗口大小 31627.6.6 建立新窗口 31627.6.7 管理屏幕空間 31827.6.8 中止應用程序窗口 32027.6.9 激活uwm菜單的其他方式 32027.7 使用 x的網絡設備 32027.7.1 指定遠程終端機—display 選項 32127.7.2 實際使用遠程的顯示器 32227.7.3 控制存取顯示器—xhost 32227.8 終端機模擬器—詳細介紹xterm 32327.8.1 選擇xterm功能—菜單與 命令行選項 32327.8.2 滾動xterm屏幕 32427.8.3 記錄與終端機的交互過程—寫 記錄 32527.8.4 剪貼文本 32527.8.5 使用Tektronix模擬功能 32627.8.6 使用不同的字體 32727.8.7 使用顏色 32727.8.8 其他xterm選項 32727.8.9 設定終端機鍵盤 328第28章 實用程序和工具 32928.1 實用程序 32928.2 保存、顯示和打印屏幕圖像 33028.3 使用X的應用程序 33228.3.1 文字編輯器—Xedit 33328.3.2 郵件/信息處理系統—xmh 33628.4 示例和游戲程序 33628.4.1 找出通過隨機迷宮的 路徑—maze 33628.4.2 擔任鼠標指針的大眼睛— xeyes 33628.4.3 智慧盤游戲—puzzle 33728.4.4 打印一個大X標志—xlogo 33728.4.5 跳動的多面體—ico 33728.4.6 動態幾何圖案—muncher與 plaid 33728.7 顯示信息和狀態的程序 33728.7.1 列出X服務程序的特征— xdpyinfo 33828.7.2 獲取有關窗口的信息 33828.7.3 觀察X的事件—xev 340第29章 定制X Window系統 34129.1 使用X的字體和顏色 34129.1.1 字體初步 34129.1.2 字體命名 34229.1.3 觀察特定字體的內容—xfd 34329.1.4 保存字體和位置 34329.1.5 例子:在你的服務程序中 增加新字體 34529.1.6 使用X的顏色 34629.2 定義和使用圖形 34729.2.1 系統圖形程序庫 34729.2.2 交互編輯圖形—bitmap 34729.2.3 編輯圖形的其他方法 34929.2.4 定制根窗口—xsetroot 34929.3 定義應用程序的缺省選項— Resources 35029.3.1 什么是資源 35029.3.2 XToolkit 35129.3.3 管理資源—資源管理器 35329.3.4 資源的類型—如何指定值 35829.4 實際使用資源 35929.4.1 在何處保存資源的缺省值 35929.4.2 在服務程序上保存缺省值— xrdb 36329.4.3 常見的錯誤和修正 36629.5 定制鍵盤和鼠標 36729.5.1 實際使用轉換 36829.5.2 轉換—格式和規則 37429.5.3 轉換規范中常見的問題 37729.6 鍵盤和鼠標—對應和參數 37929.6.1 鍵盤和鼠標映射—xmodmap 37929.6.2 鍵盤和鼠標參數設定—xset 38229.7 進一步介紹和定制uwm 38429.7.1 uwm的新特征 38429.7.2 定制uwm 38629.8 顯示器管理器—xdm 39029.8.1 需要做些什么 39029.8.2 xdm 39129.8.3 xdm的更多信息 39229.8.4 uwm配置 395附錄A Gcc使用介紹 396附錄B 安裝X Window窗口系統 410
上傳時間: 2013-11-10
上傳用戶:changeboy
NRF2401無線模塊,凌陽SPCE061A單片機, 實現半雙工無線語音通信
上傳時間: 2013-10-24
上傳用戶:huyanju
本系統采用CC2530芯片為核心配置,以溫濕度傳感器SHT75、計算機監控系統等部件,通過單片機與智能傳感器相連,采集并存儲智能傳感器的測量數據,并通過RS485總線來實現PC上位機與單片機控制模塊半雙工串行通信。基于ZigBee技術設計的智能溫濕度采集系統,可全天候實時監控溫室內的空氣溫度和濕度信息,具有實時性高、低功耗、有效范圍大、成本低、可靠性高等特點。
上傳時間: 2013-10-11
上傳用戶:wxnumen
基本包含了單片機通訊的全部通訊方式代碼,包括帶糾錯碼的串行通信,8051與8051點對點通訊,8051與PC機間通訊,全雙工和半雙工通訊。
上傳時間: 2015-06-12
上傳用戶:pompey
一些應用中,經常要用到雙串口,但是一般單片機只提供一個串口,其實完全可以用普通I/O口模擬一個串口。以下的程序是我編寫的模擬串口程序,程序中使用了單片機的定時器0,和INT0中斷。數據的發送和接收由中斷程序自動進行。程序已經過AVR仿真器仿真和實際燒片使用,證明可靠。有一點需要說明的是,此模擬的串口為半雙工方式。 主程序中,單片機將標準串口設置為115200bps,將模擬串口設置為19200bps。單片機將標準串口收到的數據從模擬串口發送出去,將模擬串口接收到的數據從標準串口發送回來。
標簽:
上傳時間: 2015-09-11
上傳用戶:變形金剛
無線通信系統 1、系統由一個主站,多個從站組成。主站以輪詢方式收集從站的數據,每次傳輸一組仿真數據。 2、從站有兩組數字信號。從站傳輸哪一組數據由主站決定。 3、設計制作無線半雙工收發單元,其工作頻率(400-500)MHz中自行選擇,各收發單元工作頻率的相對準確性(以主站工作頻率為基準)優于10-4。所有收發單元的發射功率不大于1w。 4、主從站收發天線長度 1m,垂直放置。 5、主站能實時顯示發送數據的從站好及其數據。從站能實時顯示本站發送給主站的數據;從站采用電池供電。
上傳時間: 2014-01-19
上傳用戶:l254587896
單片機的485串口通訊程序,該程序為半雙工的
上傳時間: 2014-01-23
上傳用戶:sammi