99爱免费_精品一区二区无码AV_欧美屁股xxxxx_日批视频国产_AV天堂亚洲区无码先锋影音_特黄A又粗又大又黄又爽A片

產(chǎn)品推薦:水表|流量計|壓力變送器|熱電偶|液位計|冷熱沖擊試驗箱|水質(zhì)分析|光譜儀|試驗機|試驗箱


儀表網(wǎng)>技術中心>應用設計>正文

歡迎聯(lián)系我

有什么可以幫您? 在線咨詢

PIC單片機與PC機異步串行通信的設計

   2012年04月01日 17:05  
  引言
  
  因為具有運行速度快、低功耗、價格低、體積小等優(yōu)點,Microchip公司推出的PIC系列單片機已經(jīng)得到越來越廣泛的應用。應用之一是作為下位機與上位機(例如PC機)通信,它被廣泛應用在工業(yè)控制、數(shù)據(jù)采集和檢測等領域中。單片機與PC機通信的方式有串行通信、并行通信。其中,串行通信具有硬件電路簡單、軟件實現(xiàn)容易和運行可靠等優(yōu)點,十分適合對實時性要求不太高的場合。由于部分PIC單片機不具備串行通信所需的硬件USART口,故系統(tǒng)設計者需要用軟件實現(xiàn)PIC單片機與PC機之間的串行通信。筆者介紹利用PIC單片機的中斷功能實現(xiàn)異步串行通信的方法。
  
  異步串行通信基本概念
  
  異步串行通信字符格式如圖1所示。通信線路上傳送的每個字符包括1個起始位、5~8個數(shù)據(jù)位、1個奇偶校驗位(可無)和1~2個停止位。每個字符的傳送都是以起始位作為開始標志,緊跟其后的是要傳送的數(shù)據(jù)(低位先傳送),然后是奇偶校驗位,zui后是停止位。相鄰字符之間的時間間隔即空閑時間可為任意長。線路空閑時應表現(xiàn)為“1”,當檢測到“0”時,表示一幀字符的開始。
  
  圖1異步串行通信字符格式
  
  串行接口硬件電路
  
  選用的單片機型號為PIC16C711,不具備硬件USART,需要用一般I/O口來模擬串行口。如圖2所示,RB0為接收腳,RB5為發(fā)送腳。RB0除作為一般I/O引腳外,還可以作為外部中斷輸入引腳,引起中斷的方式分為上跳沿和下跳沿2種方式。在本文中,設置下跳沿引起中斷。當起始位到來時,RB0上出現(xiàn)下跳沿,引起中斷,如果不是干擾信號則開始接收數(shù)據(jù)。
  
  RS-485標準的特點是抗*力強,傳輸速率高、傳送距離遠。它規(guī)定了雙端(平衡式)電氣接口特性。當單片機與具有RS-485接口的PC機通信時,需要進行信號形式的轉換。從單片機發(fā)送到PC機的信號首先轉換成平衡信號,再送往PC機。從PC機發(fā)送到單片機的信號先轉換成非平衡信號,再輸入單片機。信號形式的轉換工作由RS-485接口芯片SN75176完成。SN75176差分總線收發(fā)器工作在半雙工方式,當工作于發(fā)送方式時,發(fā)送使能引腳DE為高電平,接收使能引腳也為高電平。當工作于接收方式時,發(fā)送使能引腳DE為低電平,接收使能引腳也為低電平。這樣,可以將DE與連接在一起,由RB6引腳輸出控制信號,控制SN75176的發(fā)送和接收使能。為了減少線路上信號的反射,需要匹配線路的特性阻抗。由于通信載體是雙絞線,它的特性阻抗為120Ω左右,所以線路設計時,在RS-485網(wǎng)絡傳輸線的始端和末端各應接1只120Ω的匹配電阻,R1為單片機一側的匹配電阻。由于RS485芯片的特性,接收器的靈敏度為±200mV,即差分輸入端VA-VB≥±200mV時,輸出邏輯“1”;VA-VB≤200mV時,輸出邏輯“0”。當︱VA-VB︱≤200mV時,輸出不確定。因此,當A、B無信號輸入時,可能造成接收引腳R上出現(xiàn)低電平,這會誤認為通信幀起始位到來而引起工作不正常。為了避免這種情況發(fā)生,可以人為的讓A端電位高于B端電位,使R引腳在RS485總線不發(fā)送期間呈現(xiàn)*的高電平,單片機不會被誤中斷而接收到亂字符。通過在A、B接上拉、下拉電阻R3、R2可解決這個問題。
  
  圖2PIC16C711與PC機之間的接口電路
  
  單片機通信程序框圖
  
  單片機與PC機之間的通信方式為半雙工方式。一幀數(shù)據(jù)包括一位起始位、8位數(shù)據(jù)位、一位停止位和無奇偶校驗位。設發(fā)送和接收數(shù)據(jù)的波特率為9600b/s,則每一位占用的時間td為1/9600s,約為104μs。單片機晶振頻率為4MHz。單片機執(zhí)行一條指令耗費時間1μs。
  
  單片機接收數(shù)據(jù)程序框圖
  
  PIC16C711單片機的RB0引腳具備外部引腳跳變沿中斷功能,向RB0引腳送一個上跳沿或下跳沿信號,則INTCON寄存器的外部引腳跳變沿中斷標志位INTF被置1。如果總中斷和外部引腳跳變沿中斷都使能,并且此時單片機沒有執(zhí)行其他中斷服務子程序,程序進入INT中斷服務子程序。根據(jù)異步串行通信的特點,通信線路空閑時單片機接收的是高電平,起始位到來時單片機接收到低電平,因此空閑位和起始位之間是一個下跳沿。單片機接收到下跳沿即起始位后,馬上進入中斷服務子程序,準備接收一幀數(shù)據(jù)。因此在主程序中設置由下跳沿引起外部引腳跳變沿中斷。以下內(nèi)容主要分析接收子程序即中斷服務子程序。單片機接收數(shù)據(jù)程序框圖如圖3所示。進入中斷服務子程序后,首先保護中斷現(xiàn)場,然后檢測起始位是否是“真的”。由于可能存在的各種干擾,單片機有可能接收到的干擾信號正好是一個下跳沿,而實際上此時根本沒有數(shù)據(jù)到來,從而造成誤接收數(shù)據(jù)。因此檢測起始位的真實性是有必要的。采取的方法是在52μs(起始位的中點)后,檢測一次RB0上的信號。程序框圖中是延時47μs后檢測RB0上的信號,原因是保護中斷現(xiàn)場的幾條指令要耗費幾個μs。如果是低電平,則起始位是“真的”,否則為干擾信號,單片機清INTF標志位,然后退出中斷服務子程序,回到主程序。若起始位是“真的”,則準備接收數(shù)據(jù)。本文規(guī)定數(shù)據(jù)位為8位,故首先設置接收計數(shù)器R_CNT內(nèi)容為8。然后將STATUS寄存器中的C位清零,并右移接收數(shù)據(jù)寄存器RCV_R。C的內(nèi)容即0移入RCV_Rzui高位,接下來接收數(shù)據(jù)位。
  
  為盡量保證數(shù)據(jù)的準確性,應該在每位數(shù)據(jù)的中點檢測該位數(shù)據(jù)。因此,檢測*位數(shù)據(jù)的時刻距離檢測起始位的時刻應該是一位數(shù)據(jù)所占的時間即104μs,此后的每一位數(shù)據(jù)檢測時刻之間也是如此。此時又要用到延時程序。因為每兩次檢測時刻之間除了延時之外,指令(C清零、右移等指令)還要占用時間,這些指令占用5~6μs,因此,為了盡量保證在每一位的中心位置檢測數(shù)據(jù),延時時間定為98μs。如果檢測得到的數(shù)據(jù)位為1,則置RCV_Rzui高位為1。如果數(shù)據(jù)位為0,則不必改變zui高位,因為C為0且已經(jīng)移入RCV_R的zui高位。然后,將接收計數(shù)器內(nèi)容減1。8位數(shù)據(jù)接收完畢后,清INTF標志。zui后,退出中斷服務子程序。至此,8位數(shù)據(jù)接收全部存放于RCV_R中。
  
  圖3單片機接收數(shù)據(jù)程序框圖
  
  單片機發(fā)送數(shù)據(jù)程序框圖
  
  用RB5引腳作為發(fā)送引腳,單片機發(fā)送數(shù)據(jù)程序框圖如圖4所示。當有數(shù)據(jù)要從單片機發(fā)往PC機時,單片機調(diào)用發(fā)送子程序。在發(fā)送子程序中,首先設置發(fā)送計數(shù)器內(nèi)容為8,然后發(fā)送起始位,起始位應持續(xù)104μs。因此要調(diào)用延時子程序,延時子程序執(zhí)行完后,RB5上的信號并未立刻變成*位數(shù)據(jù)的值,這是因為還要執(zhí)行幾條指令,如右移TRS_R、置位等RB5上的信號才會變化。假設延時104μs,那么加上幾條指令的執(zhí)行時間,起始位就比104μs寬了。因此,延時子程序少于104μs,根據(jù)具體的程序定為97μs。然后,右移發(fā)送數(shù)據(jù)寄存器TRS_R,將其zui低位即要發(fā)送的數(shù)據(jù)位移入C中,再根據(jù)C中的內(nèi)容將RB5清零或置1,然后將發(fā)送計數(shù)器內(nèi)容減1,并判斷其是否為0。若為1,則說明未發(fā)送完畢,繼續(xù)發(fā)送;否則,發(fā)送停止位。zui后,退出發(fā)送子程序。
  
  圖4單片機發(fā)送數(shù)據(jù)程序框圖
  
  PC機通信程序
  
  VB6.0提供了串行通訊MSComm(盒)控件來為應用程序提供串行通信,它將串口設備當作一個目標封裝起來,容易操作,編程很方便,其良好的用戶界面、簡單方便的串行通信和實用性強的優(yōu)點,無需借用其他語言就可以開發(fā)出的通信軟件,因而PC機軟件采用VB6.0語言編寫。
  
  MSComm控件的調(diào)出及其主要屬性如下。
  
 ?。?)MSComm控件的調(diào)出
  
  VB6.0的MSComm控件并不會主動出現(xiàn)在工具箱中,當需要它時,讓它出現(xiàn)在工具箱中的步驟如下:
  
  ①選擇菜單上的“工程”;
  
 ?、谠?ldquo;工程”菜單中選擇“部件”;
  
  ③出現(xiàn)對話框后,在可勾選的項目中勾選MicrosoftCommControl6.0;
  
 ?、馨聪?ldquo;確定”按鈕,即可在工具箱中見到“盒”的圖標,就可以將此控件加載進行串行通信。
  
 ?。?)MSComm屬性
  
  MSComm屬性很多,其重要的屬性說明如下:
  
  ①CommPort:設定或返回通信端口號。端口號由1開始往上遞增,zui大值是16。
  
  ②Settings:設定通信端口初始化參數(shù)。其格式為“Baud,P,D,S”,其中Baud為波特率,可設為1200、2400、9600、14400、19200和28800等幾種;P為校驗位(E表示偶校驗、O表示奇校驗、M表示符號校驗(即在校驗位放置一個1的位)、S表示空白校驗(即在校驗位放置一個0的位)、N表示無校驗位(默認值));D為數(shù)據(jù)位數(shù),可選值為4、5、6、7、8(默認值);S表示停止位數(shù),可選值為1、1.5、2。
  
 ?、跴ortOpen:設定并返回通信端口的狀態(tài)。
  
  使用串行端口之前必須先打開該端口(PortOpen=True),而在使用完畢后必須關閉該端口(PortOpen=False)。
  
  ④Input:從輸入緩沖區(qū)返回并清除字符。這是一種FIFO(FirstinFirstOut)機制。如Buffer$=MSComm1.Input,表示將輸入緩沖區(qū)的字符讀入Buffer字符串變量中。
  
 ?、軴utput:將一個字符或字符串寫入傳輸緩沖區(qū),如MSComm1.Output=“ABCD”。此即將ABCD4個字符通過串行端口傳送出去。
  
 ?、轎nBufferCount:傳回在接收緩沖區(qū)中的字符數(shù),是指已接收,并在接收緩沖區(qū)等待讀取的字符數(shù)。
  
 ?、逫nputMode:設定和返回類型。該屬性設為0時,數(shù)據(jù)通過Input屬性以文本方式取回,如設為1,則數(shù)據(jù)通過Input屬性以二進制方式取回。
  
  結論
  
  利用PIC16C711的外部中斷輸入引腳RB0/INT接收數(shù)據(jù),避免了查詢法帶來的耗費大量系統(tǒng)資源的缺點。PIC系列單片機執(zhí)行指令的速度快,提高了系統(tǒng)效率。PIC16C711內(nèi)部無硬件UART,本文用軟件模擬它與PC之間的串行異步通信,從而降低了硬件成本。VB具備MSComm(盒)控件,實現(xiàn)串行通信非常方便。

免責聲明

  • 凡本網(wǎng)注明“來源:儀表網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡有限公司-儀表網(wǎng)合法擁有版權或有權使用的作品,未經(jīng)本網(wǎng)授權不得轉載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權使用作品的,應在授權范圍內(nèi)使用,并注明“來源:儀表網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關法律責任。
  • 本網(wǎng)轉載并注明自其它來源(非儀表網(wǎng))的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或和對其真實性負責,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉載時,必須保留本網(wǎng)注明的作品第一來源,并自負版權等法律責任。
  • 如涉及作品內(nèi)容、版權等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關權利。
聯(lián)系我們

客服熱線: 15267989561

加盟熱線: 15267989561

媒體合作: 0571-87759945

投訴熱線: 0571-87759942

關注我們
  • 下載儀表站APP

  • Ybzhan手機版

  • Ybzhan公眾號

  • Ybzhan小程序

企業(yè)未開通此功能
詳詢客服 : 0571-87759942
主站蜘蛛池模板: 爱如潮水日本|宅男噜噜噜66网站高清|午夜宅男在线永久免费观看网|日日日干|国产成人精品一区二区三区无码|国产成人高清在线观看播放 | 国产波霸爆乳一区二区|尤物在线网址|黑人干白妞|精品一卡2卡三卡4卡免费视频|亚洲欧美VR色区|国产性=av | 一个人看www在线高清免费看|国产超碰人人|中文字幕在线观看精品|公喝错春药让我高潮|亚洲=a一区二区|幼射HD交中国妇 | 巜豪妇荡乳2在线观看|又粗又硬进去好爽=a片视频野花|6969成人亚洲婷婷|99视频免费播放|97国产在线播放第一页|人人人澡人人人妻人人人少妇 | 欧美日韩一区在线观看|日日噜噜噜夜夜爽爽国产|国产成人精品一、二区|国产中文日韩欧美|经典欧美videossexo2|青青草成人免费视频在线观看 | 狂野=aV人人澡人人添|天天干夜夜擦|两个人的www免费高清视频|永久免费看mv网站入口亚洲|久久一区二区三区四区|亚洲男人网 | 日韩在线精品一区|久久久久久视|成人=av一级|欧美一区二区三区视频在线播放|久久久久久久999|色欲人妻综合=a=a=a=a=a=a=a=a网 | 亚洲欧美一|欧美=aⅴ视频|青青草国产免费|黄色毛片久久久久久久久久久|精品久久久久中文字幕日本|一边摸一边做爽的视频17国产有奶水 | 内射小寡妇无码|丰满少妇被猛烈进入=av久久|日韩=a无v码在线播放|91亚洲国产视频|男人和女人高潮免费网站|操久在线 国产精品一区2区3区|91蝌蚪在线播放|一级国产20岁美女毛片|国产伦精品一区二区三区视频不卡|少妇内射兰兰久久|日本成人=a | 美国=a级黄色大片|国内露脸少妇精品视频|日本免费在线一区|欧美一区影院|高清黄色毛片|在线中文一区 | 99视屏|亚洲精品日韩专区|欧美一级国产|久久丫不卡人妻内射中出|欧美日韩另类综合|亚洲色无码=a片中文字幕 | 免费=av网址在线|97综合视频|色视频一区二区三区|色天堂视频|欧美美女一级视频|XXX少妇厨房XXX乱 | 国产成人无码久久久精品一|六月成人网|国产精品久久久久9999高清|#NAME?|看片网站在线观看|在线观看精品国产 国产精品久久久久久免费观看|黄色=a毛片|日韩欧美亚洲一区二区|日韩午夜免费视频|日本三级网站视频|欧美性生恔XXXXXDDDD | 亚洲另类欧美综合久久|天天澡夜夜澡人人澡|最近免费中文字幕完整视频|精品bbwbbwbbwbbwbbwbbw|色婷婷五月另类综合视频在线|黄石第五季第9集回归 | 国产成人=av一区|日本大片免=a费观看视频老师|在线观看高清视频|一机毛片|久久九九兔免费精品6|久久爽精品区穿丝袜 | #NAME?|国产第11页|青青青草视频在线免费观看|老司机午夜网站|#NAME?|麻豆.蜜桃.91.天美入口 | 日本真人边吃奶边做爽免费视频|麻豆中文字幕|九色porny丨首页入口在线|亚洲黄色片一级|2024韩国三级午夜理论|尤物一区二区 | 蜜芽=aV无码精品国产午夜|日本高清一二三区视频在线|十八禁裸体WWW网站免费观看|浪潮=av色综合久久加勒比|99精品国产在热久久无毒|精品国产免费人成在线观看 | 动漫人物交性h的视频|亚洲午夜精品无码专区在线观看|91九色在线播放|嫩草影院中文字幕|日日夜夜精品免费视频|麻豆精品一区综合=av在线 | 三区视频在线观看|中文字幕第2页|色吧在线播放|啦啦啦视频在线观看高清免费|日本ⅹxxxx久色视频免费观看|亚洲精品久久久久久久蜜臀老牛 | 久久国产超碰女女=av|2019最新国产拍自产在线|日韩xxxxxxxxx|国产在线观看=av黑料在线不打烊|国产精品久久久乱弄|国产精品一区二区三区四区色 | 玩丰满熟妇XXXX视频|九九热国产视频|一级毛片真人免费播放视频|国产精品天干天干在线综合|免费中文字幕|国产精品怡红院永久免费 日本亚洲欧洲精品|19禁无遮挡啪啪无码网站性色|久久亚洲=aⅴ无码精品色午夜|91tv永久入口|91九色鹿精品国产综合久久香蕉|91亚洲福利 | 精品日韩=av一区二区|一区二区三区毛片免费|免费妈妈的朋友|中文字幕日本一道|午夜精品久久久久久毛片|欧美一区二区三区免费在线观看 | 老妇激情毛片免费|草草福利视频|国产精品国产自线拍免费软件|日本免费一级视频|国产在线观看|无码区国产区在线播放 | 欧美综合自拍|麻豆视频国产在线观看|91久久亚洲|久久99国产精品免费网站|qyule极品视频在线一区|蜜臀=av在线播放一区二区三区 | 久久午夜影院|大陆三级毛片|亚洲=av无码专区国产不乱码|2021=av网站|在线国产福利在线观看|亚洲久久一区 | 狂躁美女大bbbbbb在线观看|亚洲=aV日韩=aV无码=a琪琪|BBW极度另类孕妇|中文资源在线官网|久久久久国产精品熟女影院|狠狠老司机 | 在线看无码的免费网站|一本久道久久综合婷婷鲸鱼|九九爱在线视频观看免费视频|少妇久久久久久久久久|91视频免费网址|青青草自拍偷拍 | 国产大学生粉嫩无套流白浆|老司机久久99久久精品播放免费|日本国产三级|久久久久久久久久久久久久久久久久=av|欧美日本精品|涩涩91 | VIDEOSGR=aIS欧美另类|爱看=av在线入口|在线视频成人|再来一次在线观看完整视频|91精品国产92久久久|成人爽=a毛片免费啪啪 | 巜豪妇荡乳2在线观看|又粗又硬进去好爽=a片视频野花|6969成人亚洲婷婷|99视频免费播放|97国产在线播放第一页|人人人澡人人人妻人人人少妇 | 中国一级毛片视频|无码专区狠狠躁天天躁|日本高清视频一区|日韩欧美亚洲精品|欧美亚洲一区二区三区|精品欧美一区二区在线看片 | 欧美乱色伦图片区|精国产品一区二区三区四季综|午夜免费观看视频|女人18毛片水真多免费看|久久久久久免费观看|91精品一 | 日本成人在线视频网站|аⅴ资源中文在线天堂|国产精品白浆无码流出免费看|成熟女人牲交片免费观看视频|欧美牲交VIDEOSSEXES|日韩在线无 | 青娱乐极品视觉盛宴=av|国产成人=av无码片在线观看|国产网站入口|国产一区二区=av|星空天美mv视频大全免费观看|曰韩一级片 | 亚洲精品网站在线观看|国产精品美女久久福利网站|久久xxxx|亚洲精品精品|国产激情99|国产高清无码日韩一区 | 一本久久宗合久久伊人|国产精品嫩草研究院|欧美日韩一本|娇小萝被两个黑人用半米长|国产精彩视频一区二区|成年人在线免费看视频 | 汉服女装齐胸襦裙被c到喷水|h=aodi=aoc=ao这里只有精品视频|国产精华=av午夜在线观看免费|久久美女免费视频|www.91免费视频|#NAME? | 搡的我好爽视频免费观看野战|一级黄色国产视频|日本理伦片午夜理伦片|北条麻妃国产九九九精品小说|亚洲97色|亚洲人成伊人成综合无码 | 青青青在线视频国产|亚洲精华国产精华液|伊人网综|国产免费久久精品久久久|一本丁香综合久久久久不卡网站|国产毛片精品国产一区二区三区 | 青青草免费在线视频播放|欧美国产一区二区三区|久久综合站|国产=aV视频一区二区|国产精品色在线免费|大片免免费观看视频播放器在线观看 |