freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于pc與單片機(jī)的串行通信系統(tǒng)設(shè)計(jì)(已改無錯(cuò)字)

2023-01-16 01:01:21 本頁面
  

【正文】 典型地,串口用于 ASCII 碼字符的傳輸。通信使用 3 根線完成:( 1)地線,( 2)發(fā)送,( 3)接收。 由于串口通信是異步的 ,端口能夠在一根線上發(fā)送數(shù)據(jù)同時(shí)在另一根線上接收數(shù)據(jù)。其他線用于握手,但是不是必須的。串口通信最重要的參數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)。對于兩個(gè)進(jìn)行通行的端口,這些參數(shù)必須匹配: a,波特率:這是一個(gè)衡量通信速度的參數(shù)。它表示每秒鐘傳送的 bit 的個(gè)數(shù)。例如 300 波特表示每秒鐘發(fā)送 300 個(gè) bit。當(dāng)我們提到時(shí)鐘周 期時(shí),我們就是指波特率例如如果協(xié)議需要 4800 波特率 ,那么時(shí)鐘是 4800Hz。這意味著串口通信在數(shù)據(jù)線上的采樣率為 4800Hz。通常電話線的波特率為 14400, 28800 和 第三章 系統(tǒng)的硬件設(shè)計(jì) 19 36600。波特率可以遠(yuǎn)遠(yuǎn)大于這些值,但是波特率和距離成反比。高波特率常常用于放置的很近的儀器間的通信,典型的例子就是 GPIB 設(shè)備的通信。 b,數(shù)據(jù)位: 這是衡量通信中實(shí)際數(shù)據(jù)位的參數(shù) 。當(dāng)計(jì)算機(jī)發(fā)送一個(gè)信息包,實(shí)際的數(shù)據(jù)不會是 8 位的,標(biāo)準(zhǔn)的值是 7 和 8 位。如何設(shè)置取決于你想傳送的信息。比如,標(biāo)準(zhǔn)的 ASCII 碼是 0~ 127( 7 位)。擴(kuò)展 的 ASCII 碼是0~ 255( 8 位)。如果數(shù)據(jù)使用簡單的文本(標(biāo)準(zhǔn) ASCII 碼),那么每個(gè)數(shù)據(jù)包使用 7 位數(shù)據(jù)。每個(gè)包是指一個(gè)字節(jié),包括開始 /停止位,數(shù)據(jù)位和奇偶校驗(yàn)位。由于實(shí)際數(shù)據(jù)位取決于通信協(xié)議的選取,術(shù)語 “ 包 ” 指任何通信的情況。 c,停止位:用于表示單個(gè)包的最后一位。典型的值為 1, 和 2 位。 由于數(shù)據(jù)是在傳輸線上定時(shí)的 ,并且每一個(gè)設(shè)備有其自己的時(shí)鐘,很可能在通信中兩臺設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計(jì)算機(jī)校正時(shí)鐘同步的機(jī)會。適用于停止位的位數(shù)越多,不同時(shí)鐘同步的容忍 程度越大,但是數(shù)據(jù)傳輸率同時(shí)也越慢。 d,奇偶校驗(yàn)位:在串口通信中一種簡單的檢錯(cuò)方式。有四種檢錯(cuò)方式:偶、奇、高和低。當(dāng)然沒有校驗(yàn)位也是可以的。對于偶和奇校驗(yàn)的情況,串口會設(shè)置校驗(yàn)位(數(shù)據(jù)位后面的一位),用一個(gè)值確保傳輸?shù)臄?shù)據(jù)有偶個(gè)或者奇?zhèn)€邏輯高位。例如,如果數(shù)據(jù)是 011,那么對于偶校驗(yàn),校驗(yàn)位為 0,保證邏輯高的位數(shù)是偶數(shù)個(gè)。如果是奇校驗(yàn),校驗(yàn)位位 1,這樣就有 3 個(gè)邏輯高位。高位和低位不真正的檢查數(shù)據(jù),簡單置位邏輯高或者邏輯低校驗(yàn)。這樣使得接收設(shè)備能夠知道一個(gè)位的狀態(tài),有機(jī)會判斷是否有噪聲干擾了通信或者是否傳 輸和接收數(shù)據(jù)是否不同步。 MAX232 的應(yīng)用 一 .max232 資料簡介 該產(chǎn)品是由德州儀器公司 ( TI)推出的一款兼容 RS232 標(biāo)準(zhǔn)的芯片。由于電腦串口 rs232 電平是 10v +10v,而一般的單片機(jī)應(yīng)用系統(tǒng)的信號電壓是 ttl 電平 0 +5v,max232 就是用來進(jìn)行電平轉(zhuǎn)換的 ,該器件包含 2 驅(qū)動(dòng)器、 2 接收器和一個(gè)電壓發(fā)生器電路提供 TIA/EIA232F 電平。 該器件符合 TIA/EIA232F 標(biāo)準(zhǔn),每一個(gè)接收器將 TIA/EIA232F 電平轉(zhuǎn)換成 5V TTL/CMOS 電平。每一個(gè)發(fā)送器將 TTL/CMOS 電平轉(zhuǎn)換成 TIA/EIA232F電平。 二, 主要特點(diǎn) 單 5V 電源工作 電子科技大學(xué)成都學(xué)院本科畢業(yè)設(shè)計(jì)論文 20 LinBiCMOSTM 工藝技術(shù) 兩個(gè)驅(qū)動(dòng)器及兩個(gè)接收器 177。 30V 輸入電平 低電源電流:典型值是 8mA 符合甚至優(yōu)于 ANSI 標(biāo)準(zhǔn) EIA/TIA232E 及 ITU 推薦標(biāo)準(zhǔn) ESD 保護(hù)大于 MILSTD883(方 法 3015)標(biāo)準(zhǔn)的 2021V 三 .max232 應(yīng)用電路,注意電容接法。 232 是電荷泵芯片,可以完成兩路 TTL/RS232 電平的轉(zhuǎn)換,它的的 1 12 引 腳是 TTL 電平端,用來連接單片機(jī)的。 MAX232 獲得正負(fù)電源的另一種方法 在單片機(jī)控制系統(tǒng)中,我們時(shí)常要用到數(shù) /模( D/A)或者模 /數(shù) (A/D)變換以及其它的模擬接口電路,這里面要經(jīng)常用到正負(fù)電源,例如: 9V,9V。 12V,口部件的小功率電源。 在控制板上,我們有的只是 5V 電源,可又有很多方法獲得非 5V 電源。 ; 變換 ......在這里我介紹一塊大家常用的芯片:MAX232. MAX232 是 TTLRS232 電平轉(zhuǎn)換的典型芯片,按照 芯片的推薦電路,取振蕩電容為 uF 的時(shí)候,若輸入為 5V,輸出可以達(dá)到 14V 左右,輸入為 0V ,輸出可以達(dá)到 14V,在扇出電流為 20mA 的時(shí)候,處處電壓可以穩(wěn)定在 12V 和 此,在功耗不是很大的情況下,可以將 MAX232 的輸出信號經(jīng)穩(wěn)壓塊后作電源使用。 RS232 的應(yīng)用 RS232 接口是 1970 年由美國電子工業(yè)協(xié)會( EIA)聯(lián)合貝爾系統(tǒng)、 調(diào)制解調(diào)器廠家及計(jì)算機(jī)終端生產(chǎn)廠家共同制定的用于串行 通訊 的標(biāo)準(zhǔn) 。 它的全名是“數(shù)據(jù)終端設(shè)備( DTE)和數(shù)據(jù) 通訊 設(shè)備( DCE)之間串行二進(jìn)制數(shù)據(jù)交換接口 技術(shù) 標(biāo)準(zhǔn)”該標(biāo)準(zhǔn)規(guī)定采用一個(gè) 25 個(gè)腳的 DB25 連接器,對連接器的每個(gè)引腳的信號內(nèi)容加以規(guī)定,還對各種信號的電平加以規(guī)定。 DB25 的串口一般只用到的管腳只有 2( RXD)、 3( TXD)、 7( GND)這三個(gè),隨著設(shè)備的不斷改進(jìn),現(xiàn)在 DB25 針很少看到了,代替他的是 DB9 的接口, DB9 所用到的管腳比DB25 有所變化,是 2( RXD)、 3( TXD)、 5( GND)這三個(gè)。因此現(xiàn)在都把 RS232接口叫做 DB9。 由于 RS232 接口標(biāo)準(zhǔn)出現(xiàn)較早,難免有不足之處,主要有以下四點(diǎn): ( 1)接口的信號電平值較高,易損壞接口電路的芯片,又因?yàn)榕c TTL 電平第三章 系統(tǒng)的硬件設(shè)計(jì) 21 不兼容故需使用電平轉(zhuǎn)換電路方能與 TTL 電路連接。 ( 2)傳輸速率較低,在異步傳輸時(shí),波特率為 20Kbps;因此在 “ 南方的老樹 51CPLD 開發(fā) 板 ” 中,綜合程序波特率只能采用 19200,也是這個(gè)原因。 ( 3)接口使用一根信號線和一根信號返回線而構(gòu)成共地的傳輸形式,這種共地傳輸容易產(chǎn)生共模干擾,所以抗噪聲干擾性弱。 ( 4)傳輸距離有限,最大傳輸距離標(biāo)準(zhǔn)值為 50 英尺,實(shí)際上也只能用在50 米左右。 電子科技大學(xué)成都學(xué)院本科畢業(yè)設(shè)計(jì)論文 22 第 四 章 軟件設(shè)計(jì)原理 軟件設(shè)計(jì)的總思想 在 Visual Basic 里面,有一個(gè)專為串口通信設(shè)計(jì)的物件,也就是 MSComm通訊控制項(xiàng),只要將它添加進(jìn)工程里,設(shè)定好通信協(xié)議,便能使用 RS232 與單片機(jī)進(jìn)行串行通信,以下介紹如何設(shè)計(jì)一個(gè)簡單的 RS232 串行 通信工程。 MsComm 通訊控制項(xiàng)屬于 特殊功能元件,並不 會主動(dòng)出現(xiàn)在預(yù)設(shè)工具箱里 ,當(dāng)程式需要此元件時(shí),必須到「 專案 -設(shè) 定使用元件- Microsoft Comm Comtrol 」,設(shè)定步驟如圖 41 所示。 圖 41 MsComm 通 訊控制項(xiàng)設(shè)定步驟 第四章 軟件設(shè)計(jì)原理 23 引用控制 項(xiàng)完成后, 便是設(shè) 定其通 訊協(xié)定的屬性 ,如圖 42 所示,設(shè)定 RS232之通 信口,本程式以設(shè) 定 2 代表 COM2 為傳輸口,此數(shù)值最大值號碼為 16,除了在 這屬性窗設(shè) 定外,也可以 設(shè)計(jì)在程序里 ,如式 (41)所示 。 = 2 (41) 圖 42 設(shè)定通訊口代號 如 圖 43 所示, 設(shè) 定 頻率參數(shù) , VB 程 序 與 89C52 編輯的頻率參數(shù) 必 須 相同,本文是 設(shè) 定 1200bps,其中 “ 1200,N,8,1” ,代表“所使用的通 訊口 是以每秒1200Bit 的速 度進(jìn) 行 傳輸 ,不作同位位元的 檢 查,每 個(gè) 位元是 8 個(gè) Bit,停止位元是 1 個(gè) Bit”,同 樣 地,此 參數(shù) 也可直接 設(shè)計(jì) 在程式 里 ,如式 (42)所示。 = “1200,N,8,1” (42) 電子科技大學(xué)成都學(xué)院本科畢業(yè)設(shè)計(jì)論文 24 圖 43 設(shè)定波特率參數(shù) 設(shè) 定好以上 兩種 基本的 參數(shù) 后 ,便可 開 始 設(shè)計(jì) RS232 通信程序 。 單片機(jī)發(fā)送部分 8051 單片機(jī)從外部采集到的一組數(shù)據(jù),存在片內(nèi) RAM20H~3DH 區(qū)域,要求將這個(gè)數(shù)據(jù)塊傳送給 PC 機(jī),為了保證傳送的正確,傳送前由單片機(jī)先向 PC 機(jī)發(fā)送數(shù)據(jù) 55H(聯(lián)絡(luò)信號), PC 機(jī)接收到后,向單片機(jī)回送數(shù)據(jù) 0AAH(回應(yīng)信號),經(jīng)檢驗(yàn)正確后,單片機(jī)才開始向 PC 機(jī)傳送數(shù)據(jù)。對串行口的操作可分為以下幾步進(jìn)行: ① 串行口初始化; ② 發(fā)送聯(lián)絡(luò)信號 。③ 接收聯(lián)絡(luò)信號; ④ 發(fā)送數(shù)據(jù)。以下程序由匯編語言編寫: ORG 0030H START:MOV SP,60H MOV TMOD, 20H ; T1 工作模式 2 MOV TH1, 72H MOV TL1, 72H ;波特率 110HZ SETB TR1 MOV PCON, 00H ; SMOD=0 MOV SCON, 50H ;串行方式 1 MOV R0, 20H 第四章 軟件設(shè)計(jì)原理 25 MOV R2, 30 ;數(shù)據(jù)個(gè)數(shù) XX1: MOV A, 55H MOV SBUF, A ;發(fā)送聯(lián)絡(luò)信號 WAIT1: JBC TI, WAIT2 ;等待發(fā)送完畢 AJMP WAIT1 WAIT2: JBC RI, READ ;等待接收完畢 AJMP WAIT2 READ: MOV A, SBUF ;接收聯(lián)絡(luò)信號 CJNE A, 0AAH, XX1 ;接收數(shù)據(jù)不正確,重新開始 LOOP: MOV A, @R0 MOV SBUF, A WAIT: JBC TI, LOOP1 AJMP WAIT ;等待發(fā)送完畢 LOOP1: INC R0 DJNZ R2, LOOP END VB 部分 為了更方便地實(shí)時(shí)了解數(shù)據(jù)采集的 情況,我們把從單片機(jī)讀來的數(shù)據(jù)分別賦給數(shù)組,然后描繪出波形曲線 。 首先開啟一個(gè) VB 項(xiàng)目,并在窗體上安排一個(gè) MSCOMM 控件,作為串行通訊的信道。按下 F4 調(diào)出屬性窗口,變量 COMPORT 屬性為 2,另外將 Rthreshold 屬性設(shè)為 1,意思就是只要外界傳送任何字符串,隨即引發(fā)事件。安排一個(gè)定時(shí)器,作為連續(xù)動(dòng)作的執(zhí) 行控件,一旦一位數(shù)據(jù)發(fā)送完就引發(fā)中斷,發(fā)送下一個(gè)數(shù)據(jù)。設(shè)置一個(gè) picturebox 對象,把由單片機(jī)傳送來的數(shù)據(jù)以線條方式繪制在此圖片框控件上。按下 F4 調(diào)出屬性窗口,其 Name 屬性改為 “Graph1” . MSCOMM 控件支持以文本和二進(jìn)制格式傳輸數(shù)據(jù),由于下位機(jī)是單片機(jī),處理二進(jìn)制數(shù)據(jù)較為方便。因此本例中以二進(jìn)制格式發(fā)送和接受數(shù)據(jù), VB 支持字節(jié)變量類型來存儲二進(jìn)制數(shù)據(jù),從串口讀入的字節(jié)被保存在字節(jié)數(shù)組變量中,因此定義兩個(gè) BYTE 類型的動(dòng)態(tài)數(shù)組來存放和接受數(shù)據(jù),在接受數(shù)據(jù)時(shí)采用事件驅(qū)動(dòng)法,當(dāng)接受緩沖區(qū)有 Rthreshold 個(gè)數(shù)據(jù)時(shí),引起 ONCOMM 事件。 本程序接收從單片機(jī)發(fā)來的 30 個(gè)數(shù)據(jù),當(dāng)數(shù)據(jù)進(jìn)入 PC 機(jī)的輸入緩沖區(qū)后,程序會不斷讀取輸入緩沖區(qū)的數(shù)據(jù),并將這些讀入的數(shù)據(jù)收在一起 ,賦給數(shù)組。 因?yàn)?VB 支持坐標(biāo)格式,我們用 SCALE 函數(shù)作出坐標(biāo),定義 X 軸由 0 到 30,電子科技大學(xué)成都學(xué)院本科畢業(yè)設(shè)計(jì)論文 26 表示有 30 個(gè)數(shù)據(jù), Y 軸由 20 到 +20,表示采集數(shù)據(jù)的范圍是 20 到 +20,表達(dá)式為 SCALE( 0, +20) ( 30, 20),為了實(shí)時(shí)采集數(shù)據(jù),可以用定時(shí)器不斷地更新曲線。這樣就可以動(dòng)態(tài)地顯示被采集的數(shù)據(jù)。 Private sub form_l oad() =true =1000 '定時(shí)器時(shí)間間隔為 1000s =true =1 '選擇通訊口 1 =“110,n,8,1” '波特率 110,無奇偶校驗(yàn), 8 個(gè)數(shù)據(jù)位,一個(gè)停止位 Msm1. inputmode=1 '通過 input 屬性以二進(jìn)制形式取回?cái)?shù)據(jù) =0 '讀取 接收緩沖區(qū)全部內(nèi)容 =1 '每收到一個(gè)字符位引發(fā) onm 事件 (0,10)(20,0) '定制坐標(biāo) =rgb(0,0,255) End sub Private Sub Command1_Click() Dim a!(30), b!(30) num = '取輸入緩沖區(qū)字節(jié)個(gè)數(shù) instring = '把輸入緩沖區(qū)數(shù)據(jù)送給數(shù)組 For i = 0 To num 1 a(i) = i b(i) = instring(
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1