【正文】
TF0 的同時把預(yù)置寄存器 TH0 中的初值加載給 TL0, TL0 重新計數(shù)。當(dāng) GATE=0 時, TR1=1 時,允許 T0計數(shù),當(dāng) GATE=1 時,僅當(dāng) TR1=1 時且 INT0 為高電平時才可啟動 TR0 計數(shù)。 TMOD 和 TCON 這兩個特殊功能寄存器的格式參見下表: TMOD 用于控制 T0、 T1 的工作方式: 表 5 TMOD 寄存器結(jié)構(gòu) D7 D6 D5 D4 D3 D2 D1 D0 GATA C/T M1 M0 GATA C/T M1 M0 ← T1 方式字段→ ← T0 方式字段→ 其中低四 位用于 T0,高四位用于 T1。 SCON 控制寄存器的初值為: 表 4 SCON 控制寄存器的初值 D7 D6 D5 D4 D3 D2 D1 D0 SMO SM1 SM2 REN TB8 RB8 TI RI 0 1 0 1 0 0 1 0 串口的初始化程序為: mov scon, 52h ;串口工作在方式 1 波特率的產(chǎn)生與通信協(xié)議的制定 MCS51 的單片機內(nèi)有兩個 16 位可編程的定時 /計數(shù)器,它們具有四種工作方式,其控制字和狀態(tài)字均在相應(yīng)的特殊功能寄存器中,通過對控制寄存器的編程,就可方便地選擇適當(dāng)?shù)墓ぷ鞣绞健? PCON 主要是為 CHMOS 型單片機的電源控制而設(shè)置的專用寄存器,單元地址是 87H, SMOD=1 則波特率加倍。方式 0 時,發(fā)送完第 8 位數(shù)據(jù)后,由硬件置位,其它方式下,在發(fā)送或停止位之前由硬件置位,因此, TI=1 表示幀發(fā)送結(jié)束, TI 可由軟件清 “0”。 (5)RB8:接收數(shù)據(jù)位 8。 REN 用于控制數(shù)據(jù)接收的允許和禁止, REN=1 時,允許接收, REN=0 時,禁止接收。接收狀態(tài),當(dāng)串行口工作于方式 2 或 3,以及 SM2=1 時,只有當(dāng)接收到第 9 位數(shù)據(jù)( RB8)為 1 時,才把接收到的前 8 位數(shù)據(jù)送入 SBUF,且置位 RI 發(fā)出中斷申請,否則會將接受到的數(shù)據(jù)放棄。從接收緩沖器讀出數(shù)據(jù)即可接收數(shù)據(jù)。 RXD( )腳為接收端口, TXD( )腳為發(fā)送端口。系統(tǒng)允許的晶振頻率為 12MHZ。 中斷控制系統(tǒng): MCS51 單片機的中斷功能較強,以滿足不同控制應(yīng)用的需要。 并行 I/O 口: MCS51 共有 4 個 8 位的 I/O 口( P0、 P P P3)以實現(xiàn)數(shù)據(jù)的輸入輸出。是一個多用多功能數(shù)據(jù)存儲器,有數(shù)據(jù)存儲、通用工作寄存器、堆棧、位地址等空間。 圖 6 主界面 4 單片機開發(fā)串口通信程序設(shè)計 MCS51 單片機的串口結(jié)構(gòu)與功能 MCS51 單片機的主要結(jié)構(gòu)包含以下幾個部分: 中央處理器( CPU): MCS51 的 CPU 能處理 8 位二進制數(shù)或代碼。 程序代碼為: Dim thetitle As String, counter1 As Integer Private Sub Timer2_Timer() Dim str As String str = Mid(thetitle, 1, counter1) If Len(str) = Len(thetitle) Then counter1 = 0 End If = str counter1 = counter1 + 1 End Sub ( 3)圖片交替顯示的實現(xiàn)方案: 在主界面中添加 Image1 , Image2, Image3 控件, Stretch 屬性均為TureImage1,加載 PC 機圖片 Image2 添加單片機圖片。單擊 “字體”、“顏色”、“選項”后可以調(diào)出各 個對話框。 選項對話框 可以使得用戶隨時查看串口通信的參數(shù)信息。這樣可以實現(xiàn)圖片從屏幕左邊逐漸右移并循環(huán)移動的效果。添加一個標(biāo)簽 Label2 設(shè) Caption 屬性為“歡迎點擊進入” 此標(biāo)簽用于提示進入主界面。在 Timer 事件中的圖片動態(tài)顯示程序代碼: Private Sub Timer1_Timer() X, Y X = X + a Y = Y + b If X = Then a = 50 If Y = Then b = 20 If X = 0 Then a = 10 If Y = 0 Then b = 20 End Sub ( 3)添加兩個標(biāo)簽分別設(shè) Caption 屬性為“您好!歡迎使用!”“下一步”來顯示文本。在 Form 屬性中的 Picture 中選擇添加圖片。 (4)設(shè)置兩個文本框 TEXT1, TEXT2 用于接收與發(fā)送數(shù)據(jù)。窗體上主要有通信控件 msm 和 Timer 控件。創(chuàng)建 Timer 事件程序。 ( 2) Interval 返回或設(shè)置對 Timer 控件的計時事件調(diào)用間的毫秒數(shù)。只要有通訊錯誤或事件發(fā)生錯誤時就會產(chǎn)生 Onm 事件。設(shè)置 InputLen 為 0 時, Input 將讀取接收緩沖區(qū)的全 部字符。 ( 4) Input 從接收緩沖區(qū)返回和刪除字符。如果是奇校驗, 校驗位位 1,這樣就有 3個邏輯高位。有四種檢錯方式:偶、奇、高和低。由于數(shù)據(jù)是在傳輸線上定時的,并且每一 個設(shè)備有其自己的時鐘,很可能在通信中兩臺設(shè)備間出現(xiàn)了小小的不同步。 每個包是指一個字節(jié),包括開始 /停止位,數(shù)據(jù)位和奇偶校驗位。如何設(shè)置取決于要傳送的信息。例如如果協(xié)議需要 9600 波特率,那么時鐘是 9600Hz。該屬性中各含義如下: 波特率:是一個衡量通信速度的參數(shù)。 ( 2) Setting 設(shè)置并返回波特率、奇偶校驗、數(shù)據(jù)位、停止位。該控件屏蔽了通信過程中的底層操作,可以設(shè)置、監(jiān)視 msm控件的屬性和事件,結(jié)合 Timer 控件即可完成對串行口的初始化和數(shù)據(jù)的輸入輸出工作。而 Visual Basic 是一種可視化的,面向?qū)ο蠛筒捎檬录?qū)動方式的結(jié)構(gòu)化高級程序設(shè)計語言,可用于開 發(fā) Windows 環(huán)境下的各類應(yīng)用程序。 13, 14 為 RS232C 接口的收發(fā)引腳。所以采用此芯片接口串行通信系統(tǒng)只需單一的 + 5V 電源就可以了。 MAX232 的結(jié)構(gòu)與功能 MAX232 芯片是 MAXIM 公司生產(chǎn)的,包含兩路接收器和驅(qū)動器的 IC 芯片。 ( 3)通過 MCS51 系列單片機編寫串口通信協(xié)議。全雙工方式:允許雙方同時進行數(shù)據(jù)雙向傳送 ,可以實時通信。 常用于數(shù)據(jù)通信的傳輸方式有單工、半雙工、全雙工。起始位表示一個字符的開始,接收方可用起始位使自己的接收時鐘與數(shù)據(jù)同步。同步通信傳送信息的位數(shù)幾乎不受限制,通常一次通信 傳的數(shù)據(jù)有幾十到幾千個字節(jié),通信效率較高。為此,串行通信對傳送數(shù)據(jù)的格式作了嚴(yán)格的規(guī)定。利用 Visual Basic 中的 msm 控件可實現(xiàn)與單片機的串行通信。但RS232C 由于實現(xiàn)較為簡單,而且價格上也便宜很多,可以實現(xiàn)全雙工的實時通信。這個標(biāo)準(zhǔn)對串行通信接口的有關(guān)問題,如信號線功能、電器特性都作了明確規(guī)定。 在串行通信時,要求通訊雙方都采用一個標(biāo)準(zhǔn)接口,使不同的設(shè)備可以方便地連接起來進行通信。通信的形式可以區(qū)分為兩種,一種是并行傳輸方式的通信,另一 種則為串行傳輸方式的通信。 MAX232。 PC 機可以作為上位機,單片機作為從機進行串口通信。由于串行通信是在一根傳輸線上一位一位的傳送信息,所用的傳輸線少,并且可以借助現(xiàn)成的電話網(wǎng)進行信息傳送,因此,特別適合于遠(yuǎn)距離傳輸。 :任務(wù)書、開題報告、外文譯文、譯文原文(復(fù)印件)。 作者簽名: 日期: 年 月 日 學(xué)位論文版權(quán)使用授權(quán)書 本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國家有關(guān)部門或機構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。 作者簽名: 日 期: 學(xué)位論文原創(chuàng)性聲明 本人鄭重聲明:所呈交 的論文是本人在導(dǎo)師的指導(dǎo)下獨立進行研究所取得的研究成果。畢業(yè)設(shè)計(論文)原創(chuàng)性聲明和使用授權(quán)說明 原創(chuàng)性聲明 本人鄭重承諾:所呈交的畢業(yè)設(shè)計(論文),是我個人在指導(dǎo)教師的指導(dǎo)下進行的研究工作及取得的成果。 作 者 簽 名: 日 期: 指導(dǎo)教師簽名: 日 期: 使用授權(quán)說明 本人完全了解 大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)校可以采用影印、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉績?nèi)容。本人完全意識到本聲明的法律后果由本人承擔(dān)。 作者簽名: 日期: 年 月 日 導(dǎo)師簽名: 日期: 年 月 日 注 意 事 項 (論文)的內(nèi)容包括: 1)封面(按教務(wù)處制定的標(biāo)準(zhǔn)封面格式制作) 2)原創(chuàng)性聲明 3)中文摘要( 300 字左右)、關(guān)鍵詞 4)外文摘要、關(guān)鍵詞 5)目次頁(附件不統(tǒng)一編入) 6)論文主體部分:引言(或緒論)、正文、結(jié)論 7) 參考文獻 8)致謝 9)附錄(對論文支持必要時) :理工類設(shè)計(論文)正文字?jǐn)?shù)不少于 1萬字(不包括圖紙、程序清單等),文科類論文正文字?jǐn)?shù)不少于 萬字。通信既包括計算機與外部設(shè)備之間,也包括計算機和計算機之間的信息交換。 PC 機與單片機之間傳送數(shù)據(jù)可通過 RS232C 接口實現(xiàn)。 關(guān)鍵詞 : 單片機 MAX232 RS232C 串口通信 Visual Basic Serial Port Communication Based on RS232C Abstract Along with the application of puter system and the development of microputer work, Communication is more and more important .It can be exchange information between puter and the peripheral equipments , and between puter and the other puters .Because the serial munication is transmitted the information with bit by bit ,it only uses a few line and also can use the readymade telephone line .So it suits to the longdistance transmission .the RS232C realization is simple and the munication is duplex and realtime. Therefore it is looked as a kind of standard and used in microputer munication widely .The realization of data munication between PC and singlechip can use RS232C. During the munication PC is a upper machine and singlechip is host machine .In the windows platform ,using msm control in Visual Basic software to develop the surface of serial port munication and carry on realtime observation .Using MAX232 to realize the level conversion and connect with singlechip .Programming in the singlechip to realize the munication protocol and it can plete the data transmission. Key words: singlechip。 Visual Basic 目 錄 1 引言 ................................................