資源描述:
《單片機(jī)與pc串行通信的實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第21卷第5期機(jī)電產(chǎn)品開發(fā)與創(chuàng)新Vol.21,No.5·產(chǎn)20品08與年市9場(chǎng)月·Development&InnovationofMachinery&ElectricalProductsSep.,2008單片機(jī)與PC串行通信的實(shí)現(xiàn)12趙玉劍,范修榮(1.河南職業(yè)技術(shù)學(xué)院機(jī)電系,河南鄭州450046;2.河南煤炭技工學(xué)校,河南新鄭451100)摘要:介紹了單片機(jī)與PC通信的硬件電路和軟件的實(shí)現(xiàn)方法,通過實(shí)例給出了下位機(jī)的編程方法和上位機(jī)的LabVIEW程序,具有編程簡(jiǎn)單、顯示清晰等特點(diǎn)。關(guān)鍵詞:串行通信;C8051F;LabVIEW;波特率中圖分類號(hào):TB47;O
2、0159文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1002-6673(2008)05-096-03MAX232/MAX232A具有功耗低、工作電源為單電0引言源,外接電容僅為0.1μF或1μF、采用雙列直插封裝形單片機(jī)通信是指單片機(jī)與外部設(shè)備之間、單片機(jī)與式、接收器輸出為三態(tài)TTL/CMOS等特點(diǎn)。單片機(jī)或單片機(jī)與PC之間的信息交換,單片機(jī)數(shù)據(jù)通2軟件設(shè)計(jì)信的方式有并行和串行通信兩種。由于串行通信是在一根傳輸線上一位一位的傳送信息,所用的傳輸線少,特串行通信的程序包括兩方面,一方面是下位機(jī)(單別適合于遠(yuǎn)距離傳輸,所以串行接口是微機(jī)應(yīng)用系統(tǒng)常片機(jī))的通信程序;另一方面為上位機(jī)(PC
3、)的通信用的接口。程序。在編寫程序之前,制定其通信協(xié)議是十分重要LabVIEW是在1986年推出的一種基于“圖形”方的,否則將無法保證通信數(shù)據(jù)的可靠性,從而失去通信式的集成化程序開發(fā)環(huán)境,內(nèi)置信號(hào)采集、測(cè)量分析與的意義。數(shù)據(jù)顯示功能,集開發(fā)、調(diào)試、運(yùn)行于一體。LabVIEW2.1下位機(jī)軟件設(shè)計(jì)不僅編程簡(jiǎn)單,而且還提供了進(jìn)行測(cè)試信號(hào)分析處理所下位機(jī)(單片機(jī))的通信程序根據(jù)通信協(xié)議確定串需要的各種類型的數(shù)據(jù)分析處理工具。行扣的工作方式、波特率、校驗(yàn)方式等。編程可以用匯編語言,也可以用高級(jí)語言,如C語言等。1硬件電路2.2上位機(jī)軟件設(shè)計(jì)由于單片機(jī)輸入、輸出電平是TTL
4、電平,而PC機(jī)上位機(jī)PC的串口通信程序可以用多種高級(jí)語言編配置的是RS-232標(biāo)準(zhǔn)串行接口,兩者的電氣規(guī)范不一寫,常用的語言有VB、VC等。這里介紹編程比較簡(jiǎn)單致,因此要完成單片機(jī)與PC機(jī)的數(shù)據(jù)通信,必須對(duì)單且直觀的圖形化編程語言LabVIEW實(shí)現(xiàn)方法。片機(jī)輸出的TTL用LabVIEW實(shí)現(xiàn)串口通信有兩種方法,一種是使單片機(jī)MAX232PC電平進(jìn)行電平用LabVEW系統(tǒng)VI;另一種是使用ActiveX控件TXDTINTOUTRXD轉(zhuǎn)換。MAX232/(MScomm控件)。在LabVIEW中使用MScomm控件的方RXDROUTRINTXDMAX232A即為法與在V
5、B和VC中使用MScomm的方法相同。下面介RS232CRS-232C/TTL電紹使用LabVIEW系統(tǒng)VI編寫串口通信程序的方法。GNDGND平轉(zhuǎn)換芯片。單串口通信函數(shù)調(diào)用路徑為:函數(shù)→儀器I/O→片機(jī)和PC的串VISA→高級(jí)VISA→總線/接口配置→串口。圖1串口通信原理方案口通信原理方2.3LabVIEW的編程說明Fig.1Principleofserialcommunications案如圖1所示。(1)首先需要調(diào)用VISA配置串口完成串口參數(shù)的收稿日期:2008-07-19設(shè)置,包括串口資源分配、波特率、數(shù)據(jù)位、停止位、作者簡(jiǎn)介:趙玉劍(1970-),男
6、,講師。主要研究方向:機(jī)校驗(yàn)位和流控等。械制造及自動(dòng)化和機(jī)電一體化技術(shù)。(2)如果初始化沒有問題,就可以使用這個(gè)串口進(jìn)96·產(chǎn)品與市場(chǎng)·行數(shù)據(jù)收發(fā)。發(fā)送數(shù)據(jù)使用VISA寫入,接收數(shù)據(jù)使用率,若采用定時(shí)器4工作在波特率發(fā)生器方式產(chǎn)生波特VISA讀取。在接收數(shù)據(jù)之前需要使用VISA串口字節(jié)數(shù)率,則方式1的波特率可用下式計(jì)算:查詢當(dāng)前串口接收緩沖區(qū)中的數(shù)據(jù)字節(jié)數(shù),如果VISASYSCLK波特率=32×(65536-[RCAP4H:RCAP4L])要讀取的字節(jié)數(shù)大于緩沖區(qū)中的數(shù)據(jù)字節(jié)數(shù),VISA讀通過將TCLK1(T4CON.4)和/或RCLK1(T4CON.5)設(shè)取操
7、作將一直等待,直至Timeout或者緩沖區(qū)中的數(shù)據(jù)置位邏輯1來選擇定時(shí)器4為TX和/或RX的波特率時(shí)字節(jié)數(shù)達(dá)到要求的字節(jié)數(shù)。當(dāng)然也可以分批讀取接收緩鐘源。當(dāng)TCLK1或RCLK1中的任何一個(gè)被置1時(shí),定沖區(qū)或者只從中讀取一定字節(jié)的數(shù)據(jù)。時(shí)器4就被強(qiáng)制進(jìn)入波特率發(fā)生器方式并使用系統(tǒng)時(shí)鐘(3)在某些特殊情況下,需要設(shè)置串口接收/發(fā)送的二分頻作為時(shí)鐘源。緩沖區(qū)的大小,此時(shí)可以使用VISA設(shè)置I/O緩沖區(qū)大定時(shí)器4是一個(gè)16位的定時(shí)器/計(jì)數(shù)器,有兩個(gè)8小;而使用VISA清空I/O緩沖區(qū)則可以清空接收與發(fā)位的SFR組成:TL4和TH4。T4的工作方式由特殊功送緩沖區(qū)。在串
8、口使用結(jié)束后,使用VIS