介紹一種運用PIC16F84單片機實現與PC機串行通信的方法,并給出其硬件接口電路及通信源程序。關鍵詞 異步串行通信 發送與接收 VB4 Win95 串口查詢法 1 前言 美國Microchip公司的PIC16系列單片機是一種新型的CMOS工藝的8位單片機。其中,PIC16FXX單片機的程序存儲器為電可擦除閃速存儲器(flash),可多次修改程序,甚至可以在線編程。PIC16F83和PIC16F84片內數據存儲器除RAM外,還有64字節的EEPROM,可以當作一般的或非易失性的數據存儲器使用,簡單方便。它還具有片內上電復位、延時電路、看門狗電路等。另外,PIC16系列單片機功耗極低,因而是一種非常適合在各種便攜式設備中使用的高性價比的單片機,并已經得到了越來越廣泛的應用。 但是在許多需要大量計算的運用中,還必須借助微機的強大數據處理能力。這樣必須通過通信電路實現PIC單片機與微機間的可靠數據傳輸。有的PIC16單片機內并沒有提供串行口,所以串行通信必須通過自己設計的硬件電路和通信軟件來實現。 下面介紹用查詢法實現異步串行通訊的方法。同時給出了用PIC16F84單片機的兩個I/O口模擬2線串行口的硬件接口電路、程序流程框圖、單片機內通信程序以及微機內的通信程序等。2 硬件實現方法與電路 PIC16F84的程序存儲器由1K×14的閃速(flash)存儲器構成,它只有13條I/O口,1個定時器,為了盡量節省單片機的軟硬件資源,采用下述異步串行通信的實現方法。 如圖1所示,PIC16F84在4MHz時鐘下,采用半雙工方式,可實現9600波特率的異步串行數據通信,1位停止位,8位數據位,無校驗位。接收和發送以低位在先(一般模式),采用軟件延時。為節省篇幅,單片機內的通信程序中未提供任何握手協議,用戶可根據自己的需要在軟件中加入握手方式。
上傳時間: 2014-12-27
上傳用戶:偷心的海盜
用C18編譯器進行Microwire串行EEPROM與PIC18單片機的接口設計 AN1004中文資料 目前市場上有許多種單片機用在嵌入式控制系統設計中,這些嵌入式控制系統中的很大一部分都要用到非易失性存儲器。由于串行EEPROM 具有封裝尺寸小,存儲容量靈活,對I/O 引腳要求低,和低功耗低成本等特點,已成為非易失性存儲器的首選。 為了滿足市場需求, Microchip Technology 已經推出了一整套符合工業標準的串行EEPROM,覆蓋了2 線式(I2C™)、3 線式(Microwire)和SPI 通信標準,并提供了不同的存儲容量、工作電壓范圍和封裝形式。
上傳時間: 2013-10-22
上傳用戶:crazyer
帶您從零學單片機之串口通信 串口應用簡介51的單片機除了定時器/計數器和中斷外.還擁有串行通信接口.有了這個接口我們可以用它和電腦通信.我們可以利用串口向電腦發送數據,也可以用串口接收電腦的數據.有了這個接口我們可以利用它來設計很多東西,數據采集,多機通信,遠程控制等等. 串行通信是將一組數據分成一位位的方式在數據線上傳送.串行通信的優點:占用IO口少.遠距離傳輸時候成本低.串行通信的缺點:相對并行通信傳輸速度慢,傳輸方式比較復雜.DS1302 ADC0832等等都是串行傳輸數據.
上傳時間: 2013-10-27
上傳用戶:jing911003
單片機溫度采集器與PC104分站的串行通信:用PC104 模塊組建的礦井變電所采集分站,具有強大的以太網和CAN 總線通信功能。在PC104模塊底板上,設計了一個基于89C2051 單片機的溫度采集器,用于采集溫度傳感器監測值并通過串口將該監測值傳送到PC104 分站。該設計簡化了變電所環境溫度監測的軟、硬件,并且編程簡單,充分利用了PC104 的空閑串口資源。關鍵詞:溫度采集器; 單片機; 串行通信; PC104
上傳時間: 2013-11-24
上傳用戶:wangchong
PCA9547 是一款通過I2C 總線控制的八進制雙向轉換開關。它的每對SCL/ SDA 上行通道可以擴展為八對下行通道。但在某一時刻,由可編程控制寄存器中的內容來決定只有一路SCx/SDx 被選擇。由多路復用器的通門,VDD 管腳可以用來限制PCA9547 通過的最高電壓,這使得每一對SCL/SDA 可以使用不同的總線電壓,因此1.8V、2.5V 或3.3V 的器件都可以在無其它保護的情況下與5V 的器件進行通信。它的外部上拉電阻將總線拉高至每個通道所要求的電壓電平,所有I/O 管腳都可以承受5V 的電壓。設備上電時由通道0 連接,并且允許主機和下行設備進行直接的通信
上傳時間: 2014-12-28
上傳用戶:sunshine1402
PCA9548A 是一款通過I2C 總線控制的八進制雙向轉換開關。它的每對SCL/ SDA 上行通道可以擴展為八對下行通道,可以通過可編程控制寄存器的內容來選擇任意單一的SCx/SDx 通道或者組合通道。由多路復用器的通門,VDD 管腳可以用來限制PCA9547 通過的最高電壓,這使得每一對SCL/SDA 都可以使用不同的總線電壓,因此1.8V、2.5V 或3.3V的器件可以在無其它保護的情況下與5V 的器件進行通信。它的外部上拉電阻將總線拉高至每個通道所要求的電壓電平,所有I/O 管腳都可以承受5V 電壓。
上傳時間: 2013-10-13
上傳用戶:hanli8870
用單片機制作多功能莫爾斯碼電路:用單片機制作多功能莫爾斯碼電路莫爾斯電碼通信有著悠久的歷史,盡管它已被現代通信方式所取代,但在業余無線電通信和特殊的專業場合仍具有重要的地位,這是因為等幅電碼通信的抗干擾能力是其它任何一種通信方式都無法相比的。在短波波段用幾瓦的功率即可進行國際間的通信,收發射設備簡單易制成本低廉,所以深受業余無線電愛好者的喜愛,是業余無線電高手必備的技能。要想熟練掌握莫爾斯電碼的收發技術除了持之以恒的毅力外,還需要相關的設備。設計本電路的目的就是給愛好者提供一個實用和訓練的工具。 一、功能簡介 本電路可以配合自動鍵體和手動鍵體,產生莫爾斯碼控制信號,設有16種速度,從初學者到操作高手都能適用。監聽音調也有16種,均可以通過功能鍵進行選擇。可以按程序中設定好的呼號自動呼叫,設有聽抄練習功能,聽抄練習有短碼和混合碼兩種模式,分別對10個數字和常用的38個混合碼模擬隨機取樣,產生分組報碼,供愛好者提高抄收水平之用,速度低4檔的聽抄練習是專為初學者所設,內容是時間間隔較長的單字符。設有PTT開關鍵,可以決定是否控制發射機工作,不需要反復通斷控制線。無論當前處于呼叫狀態還是聽抄狀態只要電鍵接點接通則自動轉到人工發報程序。4分鐘內不使用電路將自動關閉電源,只有按復位鍵才能重新開始工作。先按住聽抄練習鍵復位則進入短碼練習狀態,其它功能不變。從開機到自動關機執行每個功能都有不同的莫爾斯碼提示音。本電路具有較強的抗高低頻干擾的能力和使用方便的大電流開關接口,以適應不同的發射設備。 二、硬件電路原理硬件電路如圖1所示。設計電路的目的在于方便實用,以免在緊張的操作中失誤,所以除了聽抄練習鍵外其它鍵沒有定義復用功能。各鍵的作用在圖中已經標出。PTT控制在每次復位時處于關閉狀態,每按動一次PTT功能鍵則改變一次狀態,這樣可以使用軟件開關控制發射。 PTT處于控制狀態時發光二極管隨控制信號閃亮。考慮到自制設備及淘汰軍用設備與高檔設備控制電流的不同,PTT開關管采用了2SC2073,可以承受500mA的電流,同時還增加了無極性PTT開關電路,無論外部被控制的端口直流極性如何加到VT3的極性始終不變,供有興趣的愛好者實驗。應該注意,如果被控制的負載是感性,則電感兩端必須并聯續流二極管,除自制設備外成品機在這方面一般沒有什么問題。手動鍵只有一個接點,接通后產生連續的音頻和發射控制信號。在本電路中手動鍵的輸入端是P1.5 ,程序不斷檢測P1.5電平,當按鍵按下時P1.5電平為0,程序轉入手動鍵子程序。 自動鍵的接點分別接到P1.3和P1.4 ,同樣當程序檢測到有接點閉合時便自動產生“點”或“劃”。音頻信號從P輸出,經VT1放大后推動揚聲器發音。單片機的I/O口在輸入狀態下阻抗較高,容易受到高低頻信號干擾,所以在每個輸入端口和三極管的be端并聯電阻和高頻旁路電容,確保在較長的電鍵連線和大功率發射時電路工作穩定。圖2是印刷電路版圖,尺寸為110mmX85mm,揚聲器用粘合劑直接粘接在電路版有銅箔的面。 三、軟件設計方法 “點”時間長度是莫爾斯電碼中的基本時間單位。按規定“劃”的時間長度不小于三個“點”,同字符中“點”與“劃”的間隔不小于一個“點”,字符之間不小于一個“劃”,詞與詞之間不應小于五個“點”。在本程序中用條件轉移指令來產生“點”時間長度。通過速度功能鍵功可以設置16種延時參數。用T0中斷產生監聽音頻信號,并將中斷設為優先級,保證在聽覺上純正悅耳。T1用于自動關機計時,如果不使用任何功能四分鐘后將向PCON 位寫1,單片機進入休眠狀態,此時耗電量僅有幾個微安。自動鍵的“點”或“劃”以及手動鍵的連續發音都是子程序的反復調用。P1.2對地短接時自動呼叫可設定為另一內容。為了便于熟悉匯編語言的讀者對發音內容進行修改,這里介紹發音字符的編碼方法。莫爾斯碼的信息與計算機中二進制恰好相同,我們可以用0表示“點”,用1表示“劃”。提示音、自動呼叫、聽抄內容等字符是預先按一定編碼方式存儲在程序中的常數。每個字符的莫爾斯碼一般是由1至6位“點”、“劃”組成,也就是發音次數最多6次。程序中每個字符占用1個字節,字符時間間隔不占用字節,但更長的延時或發音結束信息占用一個字節。我們用字節的低三位表示字節的性質,對于5次及5次以下發音的字符我們用存儲器的高5位存儲發音信息,發音順序由高位至低位,用低3位存儲發音次數,發音時將數據送入累加器A,先得到發音次數,然后使A左環移,對E0進行位尋址,判斷是發“點”還是“劃”,環移次數由發音次數決定。對于6次發音的字符不能完全按照上述編碼規則,否則會出現信息重疊,如果是6次發音且最后一次是“劃”我們把發音次數定義為111B,因為這時第6次位尋址得到的是1。如果第6次發音是“點”,那么這個字符的低三位定義為000B。字符間隔時間由程序自動產生,更長的時間隔或結束標志由字節低三位110B來定義,高半字節表示字符間隔的倍數,例如26H表示再加兩倍時間間隔。如果字節為06H則表示讀字符程序結束,返回主程序。更詳細的內容不再贅述,讀者可閱讀源程序。四、使用注意事項手動鍵的操作難度相對大一些,時間節拍全由人掌握,其特點是發出的電碼帶有“人情味”。自動鍵的“點”、“劃”靠電路產生,發音標準,容易操作,而且可以達到相當快的速度,長時間工作也不易疲勞。在干擾較大、信號微弱的條件下自動鍵碼的辨別程度好于手動鍵碼。初學者初次使用手動鍵練習發報要有老師指導,且不可我行我素,一旦養成不正確的手法則很難糾正。在電臺上時常聽到一些讓對方難以抄收的電碼,這可能會使對方反感而拒絕回答。使用自動鍵也應在一定的聽抄基礎上再去練習。在暫時找不老師的情況下可多練習聽力,這對于今后能夠發出標準正確的電碼非常有益。
上傳時間: 2013-10-31
上傳用戶:sdq_123
用單片機實現溫度遠程顯示摘 要:文章介紹了用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
I2C 總線包括了兩條串行總線(時鐘線SCL 和數據線SDA),通過這兩條總線能實現多個芯片之間的通信。在互相連接的芯片中,至少有一個芯片作為總線控制器,而其它芯片則作為從控制器。在本應用說明中,介紹了用Holtek 的八位RISC 結構的單片機作為單總線控制器的軟件實現的方法。在本文的示例中,采用了一片EEPROM(型號HT24LC02,2Kbit)作為從控制器參與測試。電路說明:HT24LC02 的A0、A1、A2、VSS、WP 引腳接地,VCC 接+5V,SCL 接PA3,SDA 接PA2使用說明:例程中先向eeprom 中寫數據,寫完后,再將eeprom 中內容讀出來,并將讀出數據進行比較,若數據不相等程序跳到fail_out 中;若相等,最后程序跳到ok_end 中。本說明中提供了一個源文件OP_HT24.ASM 和一個包含文件HT24.ASM。在應用時,要將OP_HT24.ASM 文件添加到用戶的project 中,并修改HT24.INC 文件中的變量設置,以建立SCL/SDA引腳來與用戶的應用電路相匹配。
上傳時間: 2013-10-19
上傳用戶:ming52900
在點對多點主從通信系統中,需要合適的接口形式和通信協議實現主站與各從站的信息交換。RS -485 接口是適合這種需求的一種標準接口形式。當選擇主從多點同步通信方式時,工作過程與幀格式符合HDLC/SDLC協議。介紹了采用VHDL 語言在FPGA 上實現的以HDLC/ SDLC 協議控制為基礎的RS - 485 通信接口芯片。實驗表明,這種接口芯片操作簡單、體積小、功耗低、可靠性高,極具實用價值。
上傳時間: 2013-11-02
上傳用戶:zhf01y