用單片機實現(xiàn)溫度遠程顯示摘 要:文章介紹了用AT89S8252單片機的串行接口與智能溫度巡回檢測儀(XJ-08S)通過RS—485總線相互通訊實現(xiàn)熱水溫度遠程顯示的一種低成本解決方案,內(nèi)容涉及RS—485總線通訊、單片機驅(qū)動數(shù)碼管顯示、數(shù)據(jù)轉(zhuǎn)換以及鍵盤處理軟硬件設(shè)計等內(nèi)容。關(guān)鍵詞:單片機 RS—485總線 數(shù)碼管顯示 數(shù)據(jù)轉(zhuǎn)換 鍵盤處理一、前 言目前檢測溫度一般采用熱電偶或熱敏電阻作為傳感器,這種傳感器至儀表之間一般都要用專用的溫度補償導(dǎo)線,而溫度補償導(dǎo)線價格很貴,并且線路太長也會影響測量精度。在實際應(yīng)用中往往需要對較遠處(1KM左右)的溫度信號進行監(jiān)視。現(xiàn)有的解決方案有很多,例如:1、 在現(xiàn)場用智能儀表對溫度信號進行測量,用計算機作上位機與智能儀表進行通訊來實現(xiàn)遠程溫度監(jiān)測(采用這種方案要增加計算機設(shè)備及相關(guān)計算機軟件)。2、 NCU+DDC實現(xiàn)遠程溫度監(jiān)測。用兩個DDC,一個安裝在現(xiàn)場測量溫度,另一個安裝在監(jiān)視地,兩個DDC通過NCU進行通訊從而實現(xiàn)遠程溫度監(jiān)測。但以上方案都存在成本高的問題,有沒有低成本的解決方案呢?其實,在單片機應(yīng)用日益廣泛的今天,完全可以用單片機以極低的成本來實現(xiàn)遠程溫度監(jiān)測。二、問題的提出我單位管理的鍋爐房同時給兩棟建筑物內(nèi)的兩家酒店供應(yīng)蒸汽,由安裝在兩棟建筑物地下室的熱交換器進行熱交換后產(chǎn)生熱水送給客房。從鍋爐房至兩個熱交換站的距離分別約600米,值班人員要不停地奔波于兩個熱交換站與鍋爐房之間進行設(shè)備巡視,檢查熱水溫度是否控制在規(guī)定的范圍,這樣不僅增加了值班人員的勞動強度,同時也使鍋爐房經(jīng)常無人(因每班1人值班)。如果能在鍋爐房顯示兩個熱交換站內(nèi)各熱交換器的熱水溫度,則值班人員僅在熱水溫度異常時才需到各熱交換站檢查設(shè)備,這樣便可解決上述問題。我公司曾就此問題找專業(yè)公司作過方案,其報價在人民幣10萬元左右,后因種種原因該項目未實施。經(jīng)過分析,本人發(fā)現(xiàn)可以用單片機+智能儀表以低成本實現(xiàn)溫度遠程顯示,并且經(jīng)過實驗取得了成功,現(xiàn)將設(shè)計方案簡述如下:三、控制要求及解決方案選擇 1、 兩個熱交換站分高低區(qū)共安裝有8個熱交換器,正常水溫在45oC至65oC之間;兩個熱交換站與鍋爐房的距離分別為500米和600米左右。2、 要求在鍋爐房能以巡回及定點兩種方式顯示8個熱交換器的熱水溫度,巡回方式以3秒為周期輪流更新及顯示各熱交換器熱水溫度。定點方式時每按上鍵或下鍵一次則顯示上或下一個熱交換器熱水溫度,每3秒自動更新數(shù)據(jù)一次。3、 根據(jù)控制要求選擇單片機+智能儀表的解決方案:用帶通訊接口的智能儀表安裝在現(xiàn)場測量溫度,設(shè)計制作一個單片機裝置完成與智能儀表的通訊及數(shù)據(jù)顯示。四、通訊協(xié)議、智能儀表選擇及其參數(shù)介紹因熱水溫度信號變化較慢,因而對通信的速度要求不高,對于這種低速率遠距離的通訊選用RS-485總線適宜。RS-485是EIA(美國電子工業(yè)聯(lián)合會)在1983年公布的新的平衡傳輸標準,是工業(yè)界使用最為廣泛的雙向、平衡傳輸線標準接口,它以半雙工方式通信,支持多點連接,傳統(tǒng)驅(qū)動器允許創(chuàng)建多達32個節(jié)點的網(wǎng)絡(luò),且其具有傳輸距離遠(最大傳輸距離為1200M),傳輸速度快(1200M時為100KBPS)等優(yōu)點。其連接方法如下圖所示。
上傳時間: 2013-10-12
上傳用戶:luopoguixiong
摘要:設(shè)計并實現(xiàn)了一個USB/EPP 轉(zhuǎn)接系統(tǒng),給出其硬件設(shè)計方案并討論了相關(guān)技術(shù)細節(jié), 使其實現(xiàn)USB 接口到EPP接口的相互數(shù)據(jù)轉(zhuǎn)發(fā)。使僅具有EPP 接口的傳統(tǒng)儀器設(shè)備借助于USB/EPP 轉(zhuǎn)接系統(tǒng)擁有USB 總線所提供的即插即用和設(shè)備插架特性, 方便其通過USB 接口靈活接入同時擁有多個外設(shè)的計算機主機系統(tǒng)。關(guān)鍵詞:USB;EPP;轉(zhuǎn)接系統(tǒng)中圖分類號:TP368.3 文獻標識碼:A文章編號:1008- 0570(2005)11- 2- 0166- 03 在傳統(tǒng)的I/O 模式中,計算機外設(shè)通常映射為CPU 中固定I/O 地址,要求由主機分配一個指定的IRQ 中斷請求。由于PC 機的端口和中斷資源有限,因而使外設(shè)的可擴展性受到局限;同時,隨著電腦應(yīng)用的拓展,PC 機的外設(shè)接口越來越多,外設(shè)對系統(tǒng)資源的獨占性也容易導(dǎo)致系統(tǒng)資源沖突。由于各種外部設(shè)備不斷增加,容易導(dǎo)致各種I/O 沖突。由Intel、Compaq、Microsoft、IBM等廠商所提出的USB 總線標準,基于即插即用和設(shè)備插架技術(shù),設(shè)備接入時不影響應(yīng)用程序的運行,具有良好的可擴充性和擴展的方便性。目前USB 協(xié)議已經(jīng)發(fā)展到了最新的2.0 版本,可支持峰值傳輸速率為480Mbps 的高速外設(shè),可提供4~8 個USB 2.0 接口,同時通過USB 集線器(HUB)的擴展還可以支持多達127 個外設(shè)同時連接,基本上解決了各種外設(shè)同時存在同時使用的所有問題。基于USB 接口的上述優(yōu)點,目前的計算機,特別是筆記本計算機基本上都只配備USB 接口,而取消了傳統(tǒng)的串口和并口,這對那些以前購置的需要與計算機進行通信而只有串口或并口的各種儀器的繼續(xù)使用造成了極大的障礙。 針對傳統(tǒng)的數(shù)字化儀器與計算機通信中存在的接口不足的問題,本文設(shè)計了一個USB/EPP 轉(zhuǎn)接系統(tǒng),使其能夠從計算機的USB 接口接收數(shù)據(jù),經(jīng)過格式轉(zhuǎn)換,從USB/EPP 轉(zhuǎn)接系統(tǒng)的并行接口EPP 發(fā)送給傳統(tǒng)的儀器設(shè)備;同時也能夠從USB/EPP 轉(zhuǎn)接系統(tǒng)的并行接口EPP 接收數(shù)據(jù),將其轉(zhuǎn)化為USB 幀格式,并發(fā)送到計算機的USB 接口。從而使僅具有EPP 接口的傳統(tǒng)儀器設(shè)備借助于USB/EPP 轉(zhuǎn)接系統(tǒng),可以繼續(xù)正常使用。2 USB 總線2.1 USB 系統(tǒng)描述及總線協(xié)議USB 是一種電纜總線,支持在主機和各種即插即用外設(shè)之間進行數(shù)據(jù)傳輸。由主機預(yù)定的標準協(xié)議使各種設(shè)備分享USB 帶寬,當其它設(shè)備和主機在運行時,總線允許添加、設(shè)置、使用以及拆除外設(shè),這為多個儀器設(shè)備共享同一個主計算機提供了可能。USB 協(xié)議采用了管道模型的軟硬件協(xié)議,摒棄了一般外設(shè)協(xié)議的端口映射方式,從而有效地避免了計算機應(yīng)用系統(tǒng)I/O 端口地址沖突。根據(jù)功能劃分,一個USB 系統(tǒng)由三個部分組成:即USB 互連、USB 主機和USB 設(shè)備。圖1 給出了USB系統(tǒng)的通用拓撲結(jié)構(gòu)。
上傳時間: 2013-10-09
上傳用戶:半熟1994
單片機系統(tǒng)“PC”失控的軟件措施Software Measure of GettingO uto fC ontrolfo r“PC"in S ingleC hipC omputerS ystem謐 加 春 王 曉 基 雷 小 華(江 西 理 工 大 學(xué)機 電 工 程 學(xué) 院 ,贛 州 34 10 00)摘要單片機系統(tǒng)在實際工業(yè)現(xiàn)場中可能遇到各種干擾和自身的隨機性故障。現(xiàn)場惡劣的環(huán)境有可能使計算機系統(tǒng)發(fā)生異常,計算機程序指針“PC”失控就是常見的故障之一,如果發(fā)生“PC”失控,將導(dǎo)致CPI工作混亂,釀成嚴重的事故。研究了“PC”失控的原因,并指出軟件抗干擾的幾種方法,有效保證單片機系統(tǒng)的正常工作。關(guān)鍵詞單片機“PC”失控抗干擾Abstract Inp racticalin dustrialfi elds,th ereis v ariousin terferencea fectingo perationo fsi nglec hipc omputersy stemsa ndt hec omputersy stems。fac噸random faults飾themselves. It is very common that the severe environment makes the computer systems abnormal. The program counter "PC"gettingo utof co ntorlis on eo fth ec ommonfa ults.If th isoc curs,C PUw ouldb eru nningo utof or deran din torducesse riousan cient.T hec ausesof " PC"geting out of control, studied in this paper and some countermeasures of anti-interference師software are given to ensure single chip computer systemworking properly.Keywords Single。飾computer Porgramc ounter"P C" Anti-interfeernc 在設(shè) 計 和 開發(fā)單片機系統(tǒng)時,一般難以周全地預(yù)計單片機系統(tǒng)在實際工業(yè)現(xiàn)場中可能遇到的各種干擾和自身的隨機性故障。因此,除了采取防止和抑制干擾的各項措施外,還應(yīng)該借助于軟件措施克服某些干擾,系統(tǒng)還應(yīng)具備迅速自行恢復(fù)的能力。本文介紹的應(yīng)對單片機系統(tǒng)PC失控的軟件措施,設(shè)計靈活,節(jié)省硬件資源,能保證測控系統(tǒng)長期可靠地運行。MC S- 5 1單片機以其優(yōu)良的性能價格比大量應(yīng)用于工業(yè)現(xiàn)場測試和控制領(lǐng)域。但是,現(xiàn)場惡劣的環(huán)境有可能使計算機系統(tǒng)發(fā)生異常,計算機程序指針PC失控就是常見的故障之一,一旦發(fā)生PC“走飛”,計算機系統(tǒng)就會出現(xiàn)工作混亂,釀成嚴重的事故。為 了 在 CP 失控時盡量減少由此帶來的不利影響,并盡快使系統(tǒng)恢復(fù)正常,需要采取一定的軟件措施和硬件措施。常見的硬件措施有“看門狗”電路。軟件措施設(shè)置的前提條件是:①在干擾作用下,微機系統(tǒng)硬件部分不會受到任何損壞,或者損壞部分設(shè)置有監(jiān)測狀態(tài)可供查詢;②程序區(qū)不會受到干擾侵害。單片機系統(tǒng)的程序和表格以及重要的參數(shù)均設(shè)置在ROM區(qū),不會因干擾的侵人而改變;③ RAM區(qū)中的重要數(shù)據(jù)不會被破壞,或者雖然被破壞,但是可以重新建立。
標簽: 單片機系統(tǒng) 軟件
上傳時間: 2013-11-02
上傳用戶:bhqrd30
RS-232-C 是PC 機常用的串行接口,由于信號電平值較高,易損壞接口電路的芯片,與TTL電平不兼容故需使用電平轉(zhuǎn)換電路方能與TTL 電路連接。本產(chǎn)品(轉(zhuǎn)接器),可以實現(xiàn)任意電平下(0.8~15)的UART串行接口到RS-232-C/E接口的無源電平轉(zhuǎn)接, 使用非常方便可靠。 什么是RS-232-C 接口?采用RS-232-C 接口有何特點?傳輸電纜長度如何考慮?答: 計算機與計算機或計算機與終端之間的數(shù)據(jù)傳送可以采用串行通訊和并行通訊二種方式。由于串行通訊方式具有使用線路少、成本低,特別是在遠程傳輸時,避免了多條線路特性的不一致而被廣泛采用。 在串行通訊時,要求通訊雙方都采用一個標準接口,使不同 的設(shè)備可以方便地連接起來進行通訊。 RS-232-C接口(又稱 EIA RS-232-C)是目前最常用的一種串行通訊接口。它是在1970 年由美國電子工業(yè)協(xié)會(EIA)聯(lián)合貝爾系統(tǒng)、 調(diào)制解調(diào)器廠家及計算機終端生產(chǎn)廠家共同制定的用于串行通訊的標準。它的全名是“數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通訊設(shè)備(DCE)之間串行二進制數(shù)據(jù)交換接口技術(shù)標準”該標準規(guī)定采用一個25 個腳的 DB25 連接器,對連接器的每個引腳的信號內(nèi)容加以規(guī)定,還對各種信號的電平加以規(guī)定。(1) 接口的信號內(nèi)容實際上RS-232-C 的25 條引線中有許多是很少使用的,在計算機與終端通訊中一般只使用3-9 條引線。(2) 接口的電氣特性 在RS-232-C 中任何一條信號線的電壓均為負邏輯關(guān)系。即:邏輯“1”,-5— -15V;邏輯“0” +5— +15V 。噪聲容限為2V。即 要求接收器能識別低至+3V 的信號作為邏輯“0”,高到-3V的信號 作為邏輯“1”(3) 接口的物理結(jié)構(gòu) RS-232-C 接口連接器一般使用型號為DB-25 的25 芯插頭座,通常插頭在DCE 端,插座在DTE端. 一些設(shè)備與PC 機連接的RS-232-C 接口,因為不使用對方的傳送控制信號,只需三條接口線,即“發(fā)送數(shù)據(jù)”、“接收數(shù)據(jù)”和“信號地”。所以采用DB-9 的9 芯插頭座,傳輸線采用屏蔽雙絞線。(4) 傳輸電纜長度由RS-232C 標準規(guī)定在碼元畸變小于4%的情況下,傳輸電纜長度應(yīng)為50 英尺,其實這個4%的碼元畸變是很保守的,在實際應(yīng)用中,約有99%的用戶是按碼元畸變10-20%的范圍工作的,所以實際使用中最大距離會遠超過50 英尺,美國DEC 公司曾規(guī)定允許碼元畸變?yōu)?0%而得出附表2 的實驗結(jié)果。其中1 號電纜為屏蔽電纜,型號為DECP.NO.9107723 內(nèi)有三對雙絞線,每對由22# AWG 組成,其外覆以屏蔽網(wǎng)。2 號電纜為不帶屏蔽的電纜。 2. 什么是RS-485 接口?它比RS-232-C 接口相比有何特點?答: 由于RS-232-C 接口標準出現(xiàn)較早,難免有不足之處,主要有以下四點:(1) 接口的信號電平值較高,易損壞接口電路的芯片,又因為與TTL 電平不兼容故需使用電平轉(zhuǎn)換電路方能與TTL 電路連接。(2) 傳輸速率較低,在異步傳輸時,波特率為20Kbps。(3) 接口使用一根信號線和一根信號返回線而構(gòu)成共地的傳輸形式, 這種共地傳輸容易產(chǎn)生共模干擾,所以抗噪聲干擾性弱。(4) 傳輸距離有限,最大傳輸距離標準值為50 英尺,實際上也只能 用在50 米左右。針對RS-232-C 的不足,于是就不斷出現(xiàn)了一些新的接口標準,RS-485 就是其中之一,它具有以下特點:1. RS-485 的電氣特性:邏輯“1”以兩線間的電壓差為+(2—6) V 表示;邏輯“0”以兩線間的電壓差為-(2—6)V 表示。接口信號電平比RS-232-C 降低了,就不易損壞接口電路的芯片, 且該電平與TTL 電平兼容,可方便與TTL 電路連接。2. RS-485 的數(shù)據(jù)最高傳輸速率為10Mbps3. RS-485 接口是采用平衡驅(qū)動器和差分接收器的組合,抗共模干能力增強,即抗噪聲干擾性好。4. RS-485 接口的最大傳輸距離標準值為4000 英尺,實際上可達 3000 米,另外RS-232-C接口在總線上只允許連接1 個收發(fā)器, 即單站能力。而RS-485 接口在總線上是允許連接多達128 個收發(fā)器。即具有多站能力,這樣用戶可以利用單一的RS-485 接口方便地建立起設(shè)備網(wǎng)絡(luò)。因RS-485 接口具有良好的抗噪聲干擾性,長的傳輸距離和多站能力等上述優(yōu)點就使其成為首選的串行接口。 因為RS485 接口組成的半雙工網(wǎng)絡(luò),一般只需二根連線,所以RS485接口均采用屏蔽雙絞線傳輸。 RS485 接口連接器采用DB-9 的9 芯插頭座,與智能終端RS485接口采用DB-9(孔),與鍵盤連接的鍵盤接口RS485 采用DB-9(針)。3. 采用RS485 接口時,傳輸電纜的長度如何考慮?答: 在使用RS485 接口時,對于特定的傳輸線經(jīng),從發(fā)生器到負載其數(shù)據(jù)信號傳輸所允許的最大電纜長度是數(shù)據(jù)信號速率的函數(shù),這個 長度數(shù)據(jù)主要是受信號失真及噪聲等影響所限制。下圖所示的最大電纜長度與信號速率的關(guān)系曲線是使用24AWG 銅芯雙絞電話電纜(線 徑為0.51mm),線間旁路電容為52.5PF/M,終端負載電阻為100 歐 時所得出。(曲線引自GB11014-89 附錄A)。由圖中可知,當數(shù)據(jù)信 號速率降低到90Kbit/S 以下時,假定最大允許的信號損失為6dBV 時, 則電纜長度被限制在1200M。實際上,圖中的曲線是很保守的,在實 用時是完全可以取得比它大的電纜長度。 當使用不同線徑的電纜。則取得的最大電纜長度是不相同的。例 如:當數(shù)據(jù)信號速率為600Kbit/S 時,采用24AWG 電纜,由圖可知最 大電纜長度是200m,若采用19AWG 電纜(線徑為0。91mm)則電纜長 度將可以大于200m; 若采用28AWG 電纜(線徑為0。32mm)則電纜 長度只能小于200m。
上傳時間: 2013-10-11
上傳用戶:時代電子小智
這是一本關(guān)于Intel 80C51 以及廣大的51 系列單片機的書這本書介紹給讀者一些新的技術(shù)使你的8051 工程和開發(fā)過程變得簡單請注意這本書的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問題討論更加清晰在適當?shù)牡胤浇o出了程序代碼我們以討論項目的方法來說明每章碰到的問題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因為本書不是一本C 和匯編的指導(dǎo)書你可以買到不少關(guān)于ANSI C 的書最佳選擇當然是Intel的數(shù)據(jù)書可從你的芯片供應(yīng)商處免費索取和隨編譯工具附送的手冊附送光盤中有我為這本書編寫和收集的程序這些程序已經(jīng)通過測試這并不意味著你可以隨時把這些程序加到你的應(yīng)用系統(tǒng)或工程中有些地方必須首先經(jīng)過修改才能結(jié)合到你的程序中這本書將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學(xué)習(xí)該書和使用這些例子但是你必須把C 語言的程序裝入你的匯編程序中這對懂得C 語言和8051匯編程序指令的人來說并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語言進行開發(fā)是一個好的決定你會發(fā)現(xiàn)使用C 進行開發(fā)將使你的工程開發(fā)和維護的時間大大減少如果你已經(jīng)擁有Keil C51 那你已經(jīng)選擇了一個非常好的開發(fā)工具我發(fā)現(xiàn)Keil 軟件包能夠提供最好的支持本書支持Keil C 的擴展如果你有其它的開發(fā)工具像Archimedes 和Avocet 這本書也能很好地為你服務(wù)但你必須根據(jù)你所用的開發(fā)工具改變一些Keil 的特殊指令在書的一些地方有硬件圖實例程序在這些硬件上運行這些圖繪制地不是很詳細主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應(yīng)該把這本書看成工具書而不是用來學(xué)習(xí)各種系統(tǒng)設(shè)計通過本書你可以了解給定一定的硬件和軟件設(shè)計之后8051 的各種性能希望你能從本書中獲取靈感并有助于你的設(shè)計使你豁然開朗當然我希望你也能夠從本書中學(xué)到有用的知識使之能夠提升你的設(shè)計 8051 系列微處理器基于簡化的嵌入式控制系統(tǒng)結(jié)構(gòu)被廣泛應(yīng)用于從軍事到自動控制再到PC 機上的鍵盤上的各種應(yīng)用系統(tǒng)上僅次于Motorola 68HC11 在 8 位微控制器市場上的銷量很多制造商都可提供8051 系列單片機像Intel Philips Siemens 等這些制造商給51 系列單片機加入了大量的性能和外部功能像I2C 總線接口模擬量到數(shù)字量的轉(zhuǎn)換看門狗PWM 輸出等不少芯片的工作頻率達到40M 工作電壓下降到1.5V 基于一個內(nèi)核的這些功能使得8051 單片機很適合作為廠家產(chǎn)品的基本構(gòu)架它能夠運行各種程序而且開發(fā)者只需要學(xué)習(xí)這一個平臺8051 系列的基本結(jié)構(gòu)如下1 一個8 位算術(shù)邏輯單元2 32 個I/O 口4 組8 位端口可單獨尋址3 兩個16 位定時計數(shù)器4 全雙工串行通信5 6 個中斷源兩個中斷優(yōu)先級6 128 字節(jié)內(nèi)置RAM7 獨立的64K 字節(jié)可尋址數(shù)據(jù)和代碼區(qū)每個8051 處理周期包括12 個振蕩周期每12 個振蕩周期用來完成一項操作如取指令和計算指令執(zhí)行時間可把時鐘頻率除以12 取倒數(shù)然后指令執(zhí)行所須的周期數(shù)因此如果你的系統(tǒng)時鐘是11.059MHz 除以12 后就得到了每秒執(zhí)行的指令個數(shù)為921583條指令取倒數(shù)將得到每條指令所須的時間1.085ms
上傳時間: 2013-11-09
上傳用戶:chenlong
用C 語言來開發(fā)單片機系統(tǒng)軟件最大的好處是編寫代碼效率高、軟件調(diào)試直觀、維護升級方便、代碼的重復(fù)利用率高、便于跨平臺的代碼移植等等,因此C 語言編程在單機系統(tǒng)設(shè)計中已得到越來越廣泛的運用。針對PIC 單片機的軟件開發(fā),同樣可以用C 語言實現(xiàn)。但在單片機上用C 語言寫程序和在PC 機上寫程序絕對不能簡單等同。現(xiàn)在的PC 機資源十分豐富,運算能力強大,因此程序員在寫PC 機的應(yīng)用程序時幾乎不用關(guān)心編譯后的可執(zhí)行代碼在運行過程中需要占用多少系統(tǒng)資源,也基本不用擔(dān)心運行效率有多高。寫單片機的C 程序最關(guān)鍵的一點是單片機內(nèi)的資源非常有限,控制的實時性要求又很高,因此,如果沒有對單片機體系結(jié)構(gòu)和硬件資源作詳盡的了解,以筆者的愚見認為是無法寫出高質(zhì)量實用的C 語言程序。這就是為什么前面所有章節(jié)中的的示范代碼全部用基礎(chǔ)的匯編指令實現(xiàn)的原因,希望籍此能使讀者對PIC 單片機的指令體系和硬件資源有深入了解,在這基礎(chǔ)之上再來討論C 語言編程,就有水到渠成的感覺。本書圍繞中檔系列PIC 單片機來展開討論,Microchip 公司自己沒有針對中低檔系列PIC單片機的C 語言編譯器,但很多專業(yè)的第三方公司有眾多支持PIC 單片機的C 語言編譯器提供,常見的有Hitech、CCS、IAR、Bytecraft 等公司。其中筆者最常用的是Hitech 公司的PICC 編譯器,它穩(wěn)定可靠,編譯生成的代碼效率高,在用PIC 單片機進行系統(tǒng)設(shè)計和開發(fā)的工程師群體中得到廣泛認可。其正式完全版軟件需要購置,但在其網(wǎng)站上有限時的試用版供用戶評估。另外,Hitech 公司針對廣大PIC 的業(yè)余愛好者和初學(xué)者還提供了完全免費的學(xué)習(xí)版PICC-Lite 編譯器套件,它的使用方式和完全版相同,只是支持的PIC 單片機型號限制在PIC16F84、PIC16F877 和PIC16F628 等幾款。這幾款Flash 型的單片機因其所具備的豐富的片上資源而最適用于單片機學(xué)習(xí)入門,因此筆者建議感興趣的讀者可從PICC-Lite 入手掌握PIC 單片機的C 語言編程。
上傳時間: 2013-11-12
上傳用戶:wfeel
PIC 單片機C 語言編程簡介用C 語言來開發(fā)單片機系統(tǒng)軟件最大的好處是編寫代碼效率高、軟件調(diào)試直觀、維護升級方便、代碼的重復(fù)利用率高、便于跨平臺的代碼移植等等,因此C 語言編程在單片機系統(tǒng)設(shè)計中已得到越來越廣泛的運用。針對PIC 單片機的軟件開發(fā),同樣可以用C 語言實現(xiàn)。但在單片機上用C 語言寫程序和在PC 機上寫程序絕對不能簡單等同。現(xiàn)在的PC 機資源十分豐富,運算能力強大,因此程序員在寫PC 機的應(yīng)用程序時幾乎不用關(guān)心編譯后的可執(zhí)行代碼在運行過程中需要占用多少系統(tǒng)資源,也基本不用擔(dān)心運行效率有多高。寫單片機的C 程序最關(guān)鍵的一點是單片機內(nèi)的資源非常有限,控制的實時性要求又很高,因此,如果沒有對單片機體系結(jié)構(gòu)和硬件資源作詳盡的了解,以筆者的愚見認為是無法寫出高質(zhì)量實用的C 語言程序。這就是為什么前面所有章節(jié)中的的示范代碼全部用基礎(chǔ)的匯編指令實現(xiàn)的原因,希望籍此能使讀者對PIC 單片機的指令體系和硬件資源有深入了解,在這基礎(chǔ)之上再來討論C 語言編程,就有水到渠成的感覺。本書圍繞中檔系列PIC 單片機來展開討論,Microchip 公司自己沒有針對中低檔系列PIC單片機的C 語言編譯器,但很多專業(yè)的第三方公司有眾多支持PIC 單片機的C 語言編譯器提供,常見的有Hitech、CCS、IAR、Bytecraft 等公司。其中筆者最常用的是Hitech 公司的PICC 編譯器,它穩(wěn)定可靠,編譯生成的代碼效率高,在用PIC 單片機進行系統(tǒng)設(shè)計和開發(fā)的工程師群體中得到廣泛認可。其正式完全版軟件需要購置,但在其網(wǎng)站上有限時的試用版供用戶評估。另外,Hitech 公司針對廣大PIC 的業(yè)余愛好者和初學(xué)者還提供了完全免費的學(xué)習(xí)版PICC-Lite 編譯器套件,它的使用方式和完全版相同,只是支持的PIC 單片機型號限制在PIC16F84、PIC16F877 和PIC16F628 等幾款。這幾款Flash 型的單片機因其所具備的豐富的片上資源而最適用于單片機學(xué)習(xí)入門,因此筆者建議感興趣的讀者可從PICC-Lite 入手掌握PIC 單片機的C 語言編程。
上傳時間: 2013-11-17
上傳用戶:15527161163
這是一本關(guān)于Intel 80C51 以及廣大的51 系列單片機的書這本書介紹給讀者一些新的技術(shù)使你的8051 工程和開發(fā)過程變得簡單請注意這本書的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問題討論更加清晰在適當?shù)牡胤浇o出了程序代碼我們以討論項目的方法來說明每章碰到的問題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因為本書不是一本C 和匯編的指導(dǎo)書你可以買到不少關(guān)于ANSI C 的書最佳選擇當然是Intel的數(shù)據(jù)書可從你的芯片供應(yīng)商處免費索取和隨編譯工具附送的手冊附送光盤中有我為這本書編寫和收集的程序這些程序已經(jīng)通過測試這并不意味著你可以隨時把這些程序加到你的應(yīng)用系統(tǒng)或工程中有些地方必須首先經(jīng)過修改才能結(jié)合到你的程序中這本書將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學(xué)習(xí)該書和使用這些例子但是你必須把C 語言的程序裝入你的匯編程序中這對懂得C 語言和8051匯編程序指令的人來說并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語言進行開發(fā)是一個好的決定你會發(fā)現(xiàn)使用C 進行開發(fā)將使你的工程開發(fā)和維護的時間大大減少如果你已經(jīng)擁有Keil C51 那你已經(jīng)選擇了一個非常好的開發(fā)工具我發(fā)現(xiàn)Keil 軟件包能夠提供最好的支持本書支持Keil C 的擴展如果你有其它的開發(fā)工具像Archimedes 和Avocet 這本書也能很好地為你服務(wù)但你必須根據(jù)你所用的開發(fā)工具改變一些Keil 的特殊指令在書的一些地方有硬件圖實例程序在這些硬件上運行這些圖繪制地不是很詳細主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應(yīng)該把這本書看成工具書而不是用來學(xué)習(xí)各種系統(tǒng)設(shè)計通過本書你可以了解給定一定的硬件和軟件設(shè)計之后8051 的各種性能希望你能從本書中獲取靈感并有助于你的設(shè)計使你豁然開朗當然我希望你也能夠從本書中學(xué)到有用的知識使之能夠提升你的設(shè)計 這本書向你展示了用8051進行工程設(shè)計時的許多問題希望你讀完本書后對8051的認識能有較大的提高如果你現(xiàn)在還沒有夠買C編譯器你應(yīng)該馬上去買一個采用C語言可是你的系統(tǒng)設(shè)計更簡單維護更方便這本書覆蓋面較大從C和匯編的代碼優(yōu)化到8051的網(wǎng)絡(luò)設(shè)計再到模糊控制希望你從本書中學(xué)到的知識對你今后的系統(tǒng)設(shè)計有所幫助
上傳時間: 2013-10-12
上傳用戶:ommshaggar
1 /**————————————————————2 〖說明〗I2C總線驅(qū)動程序(用兩個普通IO模擬I2C總線)3 包括100Khz(T=10us)的標準模式(慢速模式)選擇,4 和400Khz(T=2.5us)的快速模式選擇,5 默認11.0592Mhz的晶振。6 〖文件〗PCF8563T.C ﹫2001/11/2 77 〖作者〗龍嘯九天 c51@yeah.net http://www.c51bbs.co /8 〖修改〗修改建議請到論壇公布 http://www.c51bbs.co m9 〖版本〗V1.00A Build 080310 —————————————————————*/1112 #ifndef SDA13 #define SDA P0_014 #define SCL P0_115 #endif1617 extern uchar SystemError;1819 #define uchar unsigned char20 #define uint unsigned int21 #define Byte unsigned char22 #define Word unsigned int23 #define bool bit24 #define true 125 #define false 02627 #define SomeNOP(); _nop_();_nop_();_nop_();_nop_();2829 /**--------------------------------------------------------------------------------30 調(diào)用方式:void I2CStart(void) ﹫2001/07/0 431 函數(shù)說明:私有函數(shù),I2C專用32 ---------------------------------------------------------------------------------*/33 void I2CStart(void)34 {35 EA=0;36 SDA=1; SCL=1; SomeNOP();//INI37 SDA=0; SomeNOP(); //START38 SCL=0;39 }4041 /**--------------------------------------------------------------------------------42 調(diào)用方式:void I2CStop(void) ﹫2001/07/0 443 函數(shù)說明:私有函數(shù),I2C專用44 ---------------------------------------------------------------------------------*/45 void I2CStop(void)46 {47 SCL=0; SDA=0; SomeNOP(); //INI48 SCL=1; SomeNOP(); SDA=1; //STOP49 EA=1;50 }5152 /**--------------------------------------------------------------------------------53 調(diào)用方式:bit I2CAck(void) ﹫2001/07/0 454 函數(shù)說明:私有函數(shù),I2C專用,等待從器件接收方的應(yīng)答55 ---------------------------------------------------------------------------------*/56 bool WaitAck(void)57 {58 uchar errtime=255;//因故障接收方無ACK,超時值為255。59 SDA=1;SomeNOP();60 SCL=1;SomeNOP();61 while(SDA) {errtime--; if (!errtime) {I2CStop();SystemError=0x11;return false;}}62 SCL=0;63 return true;
上傳時間: 2014-04-11
上傳用戶:xg262122
第一章 51單片機c語言編程介紹這是一本關(guān)于 Intel 80C51 以及廣大的 51 系列單片機的書 這本書介紹給讀者一些新的技術(shù) 使你的 8051 工程和開發(fā)過程變得簡單 請注意 這本書的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問題討論更加清晰 在適當?shù)牡胤浇o出了程序代碼 我們以討論項目的方法來說明每章碰到的問題 所有的代碼都可在附帶的光盤上找到 你必須熟系 C 和 8051匯編 因為本書不是一本C和匯編的指導(dǎo)書 你可以買到不少關(guān)于ANSI C的書 最佳選擇當然是Intel的數(shù)據(jù)書 可從你的芯片供應(yīng)商處免費索取 和隨編譯工具附送的手冊附送光盤中有我為這本書編寫和收集的程序 這些程序已經(jīng)通過測試 這并不意味著你可以隨時把這些程序加到你的應(yīng)用系統(tǒng)或工程中 有些地方必須首先經(jīng)過修改才能結(jié)合到你的程序中這本書將教你充分使用你的工具 如果你只有 8051 的匯編程序 你也可以學(xué)習(xí)該書和使用這些例子 但是你必須把 C 語言的程序裝入你的匯編程序中 這對懂得 C 語言和 8051匯編程序指令的人來說并不是一件困難的事如果你有 C 編譯器的話 那恭喜你 使用 C 語言進行開發(fā)是一個好的決定 你會發(fā)現(xiàn)使用 C 進行開發(fā)將使你的工程開發(fā)和維護的時間大大減少 如果你已經(jīng)擁有 Keil C51 那你已經(jīng)選擇了一個非常好的開發(fā)工具 我發(fā)現(xiàn) Keil 軟件包能夠提供最好的支持 本書支持Keil C 的擴展 如果你有其它的開發(fā)工具像 Archimedes 和 Avocet 這本書也能很好地為你服務(wù) 但你必須根據(jù)你所用的開發(fā)工具改變一些 Keil 的特殊指令在書的一些地方有硬件圖 實例程序在這些硬件上運行 這些圖繪制地不是很詳細主要是方框圖 但足以使讀者明白軟件和硬件之間的接口讀者應(yīng)該把這本書看成工具書 而不是用來學(xué)習(xí)各種系統(tǒng)設(shè)計 通過本書 你可以了解給定一定的硬件和軟件設(shè)計之后 8051 的各種性能 希望你能從本書中獲取靈感 并有助于你的設(shè)計 使你豁然開朗 當然 我希望你也能夠從本書中學(xué)到有用的知識 使之能夠提升你的設(shè)計
上傳時間: 2013-11-16
上傳用戶:穿著衣服的大衛(wèi)
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1