《電子技術應用》
您所在的位置:首頁 > 測試測量 > 業界動態 > 基于LabVIEW的PIC12FX與PC模擬串行通信

基于LabVIEW的PIC12FX與PC模擬串行通信

2008-07-16
作者:劉華昌, 黃振衛

??? 摘??要: 基于LabVIEW平臺對PC機與PIC12FX小型單片機的串行通信" title="串行通信">串行通信進行了具體分析。
??? 關鍵詞: PIC12FX? LabVIEW? 模擬串行通信

?

??? PIC系列單片機是美國Microchip公司推出的新型CMOS工藝單片機,PIC12FX單片機是 PIC中檔系列中的一款小型單片機,該單片機具有實用、低價、省電、小巧、高速等特點,是一種適合在小型設備中使用的高性價比單片機,在許多領域有相關應用。
??? PIC12FX的計算功能需要借助PC機的強大數據處理功能,這就需要實現PC機與單片機之間的數據通信。串行通信是比較方便的通信方式,然而該單片機內沒有提供串行口,因而實現串行通信需要自己設計硬件電路" title="硬件電路">硬件電路和通信軟件實現。PC機可選用LabVIEW、Delphi、VC、VB、PowerBuilder等軟件來實現串行通信,不管PC機采用哪種軟件,串行通信時PC機與PIC12FX的硬件連接方式是相同的,PIC單片機的程序設計也基本相同。本文基于LabVIEW分析了PIC12FX與PC機串行通信的硬件連接及軟件設計" title="軟件設計">軟件設計方法。
1 PIC12FX單片機硬件電路和通信軟件設計
1.1 PIC12FX硬件實現方法和電路設計

??? PIC12FX沒有專門的通信口(RXD、TXD)及波特率發生器,需要通過I/O口來模擬串行通信口進行通信。PC機的串行接口是符合EIARS232C規范的外部總線標準接口。RS-232C采用的是負邏輯,即邏輯“1”:-5V~-15V;邏輯“0”:+5V~+15V。而CMOS電平為:邏輯“1”:4.99V,邏輯“0”:0.01V;TTL電平的邏輯“1”和“0”則分別為2.4V和0.4V。因此在用RS-232C總線進行串行通信時需外接電路實現電平轉換" title="電平轉換">電平轉換。在發送端用驅動器將TTL或CMOS電平轉換為RS-232C電平,在接收端用接收器將RS-232C電平再轉換為TTL或CMOS電平。這里選用了MAXIM公司的MAX232來實現電平轉換。MAX232屬于MAXIM公司的通用串行接收/發送驅動器芯片。其外圍電路簡單,只需外接4個0.1μF的電容(104)即可,如圖1所示。

?????????????????????????????
??? 圖1中MAX232將PIC12FX的TX(GP1)輸出的TTL電平信號轉換為RS-232C電平,輸入到PC機,并將PC機輸出的RS-232C電平轉換為TTL電平,輸出到PIC12FX的RX(GP2)引腳。
1.2 PIC12FX通信軟件設計
??? PIC12FX 硬件電路通過RS-232C串口與PC機通信,完成數據接收和發送;由PC機決定是發送還是接收數據,控制指令與數據通信情況在PC機上" title="機上">機上顯示。圖2和圖3分別是串行發送和接收數據的子程序流程圖。

????????????????????????????????
??? 發送時,數據發送端TX為低電平并保持N秒(N=1/波特率,如波特率為9600b/s,N為104μs)作為發送起始位,隨后每隔N秒發送一位數據位(1bit),最后一個數據位發送完后,TX為高電平并保持N秒作為發送停止位。接收時,接收端RX要以約N/2秒(如波特率為9 600b/s,N/2為52μs)檢測一次起始位,如果檢測到起始位,則在約1.5ns(如波特率為9600b/s,1.5N為156μs)檢測第一位數據位,隨后每N秒檢測一次,接收其他的數據位,直至接收到停止位。
??? 發送與接收子程序清單如下:
;----------------------------
LIST?? ??????????? ?P=12FX
#INCLUDE??????????? P12FX.INC
  CBLOCK??????????? 0X20
RTX????????????????????????????????
RCV                ?
R_CNT???????????????????????????????
???? ENDC
;===========================引腳定義
#DEFINE???? ?RX???? ?GPIO,GPIO0
#DEFINE???? ?TX???? ?GPIO,GPIO1
???? ORG???? ?0X000
???? GOTO??? ?MAIN
;===========================
MAIN
???? BCF???????????? ??STATUS,RP0
???? CLRF??????????? ??RCV
;===========================串口初始化
???? CLRF??????????? ??GPIO
???? MOVLW????????? ?07H
???? MOVWF????????? ?CMCON??
???? BSF????????????? ??STATUS,RP0
???? MOVLW????????? ?01H
???? MOVWF????????? ?TRISIO
;===========================接收數據
RX_START
???? MOVLW????????? ?.8
???? MOVWF????????? ?R_CNT
START_CHECK
???? BTFSC??????????? ?RX
 ? GOTO???????????? ?START_CHECK
???? CALL???????????? ??DELAY1
???? CALL???????????? ??DELAY1
RX_DATA_START
???? BTFSC??????????? ?RX
???? BSF?????????????? ??RCV,7
???? BTFSS???????????? ?RX
???? BCF?????????????? ??RCV,7
???? DECFSZ?????????? ?R_CNT
???? GOTO???????????? ?RX_NEXT
???? GOTO???????????? ?TX_START
RX_NTXT
???? RRF?????????????? ?RCV
???? CALL????????????? ?DELAY1
 ? GOTO???????????? ??RX_DATA_START
;===========================發送數據
TX_START
  MOVLW?????????? ?.8
  MOVWF?????????? ?R_CNT
  BCF?????????????? ?TX
  CALL????????????? ?DELAY2
TX_NEXT
  RRF?????????????? ?RTX
  BTFSC???????????? ?STATUS,C
  BSF?????????????? ?TX
  BTFSS???????????? ?STATUS,C
  BCF?????????????? ?TX
  CALL????????????? ?DELAY1
  DECFSZ??????????? ?R_CNT
GOTO ??????????? ?TX_NEXT
TX_STOP
???? BSF??????????????? ?TX
???? CALL????????????? ?DELAY1
TX_OVER????????????? ?GOTO? RX_START
;===========================延時子程序
DELAY1
???? MOVLW?????????? ?17H
???? MVWF??????????? ?TEMP
LOOP1
???? DECFSZ?????????? ?TEMP
???? GOTO???????????? ?LOOP1
???? RETLW??????????? ?0
DELAY2
???? MOVLW?????????? ?1EH
???? MOVWF?????????? ?TEMP
LOOP2
???? DECFSZ?????????? ?TEMP
???? GOTO???????????? ?LOOP2
???? RETLW??????????? ?0
;-------------------------------
END
;-------------------------------
2 PC機主控端通信軟件設計
??? 要實現單片機與PC機之間的數據通信,不僅要對硬件電路及單片機進行軟件設計,還要在PC機上設計通信軟件,下面以LabVIEW為例介紹其在串行通信中的軟件設計。
??? LabVIEW是美國國家儀器公司NI(National Instruments)推出的一種基于圖形方式的集成化開發環境,是目前國際上唯一的編譯型圖形化編程語言(G語言),在以PC機為基礎的測量和控制通信軟件中得到廣泛應用。在編寫LabVIEW通信程序時,通過在前面板(應用程序界面)和后面板(程序的代碼窗口)進行編程,前面板將后面板程序的運行結果反應出來,圖4所示為PC機上串行通信的程序編寫流程圖。

?????????????????????????????
??? 文中分析了PIC12FX小型單片機與PC機串行通信的硬件和軟件設計方法,給出了演示參考程序,在實際應用中,只要按照具體需求對該程序作相應的修改就可滿足實際應用需求。隨著PIC單片機越來越廣泛的應用,PC機與PIC單片機之間的通信成為實際設計中必須解決的問題,本文對串行通信問題的解決具有較好的參考價值。
參考文獻
[1] ?Microchip. PIC12FX數據手冊[S]. Microchip公司.2004.
[2] ?石朝林(譯).PIC單片機宏匯編與集成開發環境[M].北京:清華大學出版社,2002.
[3] ?王有緒,許杰,李拉成. PIC系列單片機接口技術及應用系統設計[M].北京:北京航天航空大學出版社,2003.
[4] ?鄧焱,王磊.LABVIEW7.1測試技術與儀器應用[M].北京:機械工業出版社,2004.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲午夜激情免费视频| 欧美777四色影视在线| 亚洲国产精品福利| 亚洲女与黑人做爰| 制服丝袜激情欧洲亚洲| 亚洲风情在线资源站| 国内一区二区三区在线视频| 国产日韩欧美高清| 国产精品入口| 国产精品久久久久久久免费软件 | 久久gogo国模啪啪人体图| 亚洲一区二区三区四区五区午夜 | 国产精品久久久久999| 国产精品高潮呻吟久久| 国产精品v欧美精品v日本精品动漫| 欧美日韩亚洲网| 欧美视频一区二区三区…| 国产精品成人aaaaa网站| 国产精品美女www爽爽爽| 国产精品久久久久77777| 国产乱人伦精品一区二区| 国产欧美精品一区| 狠狠久久婷婷| 在线欧美视频| 99国产一区| 亚洲影院色无极综合| 午夜精品亚洲一区二区三区嫩草| 欧美中文在线观看| 亚洲高清色综合| 日韩视频不卡中文| 亚洲视频你懂的| 欧美一区二区三区免费观看视频 | 亚洲国产精品成人一区二区 | 久久久蜜桃精品| 欧美~级网站不卡| 欧美人交a欧美精品| 欧美视频在线观看免费| 国产农村妇女毛片精品久久莱园子 | 国产精品日韩欧美综合| 国产一区视频网站| 亚洲欧洲视频| 亚洲自拍啪啪| 亚洲激情视频网站| 亚洲一区二区三区777| 久久久久国产精品一区| 欧美精品一区在线播放| 国产精品高潮呻吟久久av黑人| 国产视频不卡| 亚洲激情欧美激情| 亚洲在线观看免费| 亚洲激情专区| 亚洲尤物视频网| 久久综合久色欧美综合狠狠| 欧美日韩国产精品一区二区亚洲| 国产精品美女午夜av| 一区二区在线视频| 一区二区三区欧美激情| 亚洲电影专区| 亚洲欧美在线播放| 欧美 日韩 国产精品免费观看| 国产精品久久9| 永久久久久久| 亚洲在线一区二区| 亚洲看片免费| 久久精品一区二区三区中文字幕| 欧美精品粉嫩高潮一区二区| 国产嫩草一区二区三区在线观看 | 久久精品一本| 亚洲专区一区二区三区| 久热综合在线亚洲精品| 国产精品高潮呻吟| 亚洲国产精品久久久久婷婷老年 | 亚洲国产欧美一区| 亚洲欧美卡通另类91av| 欧美成人69av| 国产午夜精品美女视频明星a级| 亚洲免费福利视频| 亚洲国产精品999| 欧美一级夜夜爽| 欧美日韩在线看| 亚洲国产高清高潮精品美女| 午夜精品区一区二区三| 亚洲午夜精品一区二区| 欧美激情第9页| 狠狠色丁香久久综合频道| 中文精品99久久国产香蕉| 亚洲精品男同| 久久天堂av综合合色| 国产精品亚洲一区二区三区在线| 日韩一级精品| 亚洲美女视频| 欧美成人精品| 尤物yw午夜国产精品视频| 午夜一区二区三区不卡视频| 亚洲一区国产视频| 你懂的国产精品永久在线| 国产一区二区三区久久悠悠色av| 亚洲一二三区精品| 亚洲视频精品| 欧美日韩亚洲一区二| 亚洲人成在线播放网站岛国| 亚洲黄色免费| 裸体一区二区三区| 国产一区久久| 欧美在线视频免费播放| 欧美中文在线视频| 国产精品稀缺呦系列在线| 在线视频亚洲| 亚洲欧美一区二区在线观看| 欧美性jizz18性欧美| 一本色道久久综合亚洲精品高清 | 欧美一区二区网站| 久久成人精品电影| 国产精品色婷婷| 亚洲一区二区视频| 亚洲男人第一av网站| 欧美四级剧情无删版影片| 夜夜精品视频一区二区| 亚洲视频免费在线| 国产精品99免费看| 亚洲视频一区二区在线观看 | 国产小视频国产精品| 欧美一区二区播放| 久久久国产视频91| 精品999日本| 亚洲国产精品第一区二区| 巨乳诱惑日韩免费av| 曰韩精品一区二区| 亚洲精品国产品国语在线app| 欧美国产日韩一区二区三区| 亚洲欧洲视频在线| 中文日韩电影网站| 国产精品美女久久久久av超清| 亚洲欧美高清| 久久九九全国免费精品观看| 国产综合av| 亚洲精品国产精品国自产观看浪潮| 欧美精品国产一区| 99精品视频免费观看| 亚洲欧美日韩国产精品 | 亚洲国产高清高潮精品美女| 欧美高清视频在线播放| 亚洲最新中文字幕| 性欧美xxxx视频在线观看| 国产日韩欧美中文| 91久久精品日日躁夜夜躁国产| 欧美精品久久久久久久免费观看 | 欧美在线一二三四区| 黄色成人在线| 日韩一二三区视频| 国产精品久久久久免费a∨大胸| 午夜精品视频网站| 美腿丝袜亚洲色图| 9国产精品视频| 久久精品人人做人人综合 | 欧美精品尤物在线| 亚洲一区欧美| 麻豆久久婷婷| 99在线精品视频| 久久国产精彩视频| 亚洲国产综合91精品麻豆| 亚洲愉拍自拍另类高清精品| 国产一区二区三区四区hd| 99av国产精品欲麻豆| 国产精品天美传媒入口| 亚洲国产精品999| 欧美性片在线观看| 欧美中文在线观看| 欧美裸体一区二区三区| 亚洲欧美日韩成人高清在线一区| 久久野战av| 一区二区三区产品免费精品久久75 | 久久精品最新地址| 亚洲欧洲综合另类| 欧美伊人久久| 亚洲精品一区中文| 久久久久久91香蕉国产| 最新日韩在线| 久久aⅴ国产紧身牛仔裤| 亚洲福利一区| 久久国产精品99精品国产| 亚洲精品欧美| 久久免费视频这里只有精品| 99热这里只有精品8| 美女被久久久| 亚洲欧美一区二区激情| 欧美日韩第一区| 久久www成人_看片免费不卡| 欧美日韩在线播| 亚洲精品视频啊美女在线直播| 国产日韩精品一区二区| 在线综合亚洲欧美在线视频| 一区二区三区在线高清| 午夜欧美理论片| 日韩视频在线观看免费| 美女诱惑黄网站一区| 午夜精品在线视频| 国产精品久久久久av| 一区二区冒白浆视频| 亚洲国产成人不卡|