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

正文內(nèi)容

基于rs-232c的串口通信畢業(yè)設(shè)計(jì)(編輯修改稿)

2024-08-15 11:37 本頁面
 

【文章內(nèi)容簡介】 度的參數(shù)。它表示每秒鐘傳送的 bit 的個(gè)數(shù)。例如 200 波特表示每秒鐘發(fā)送 200 個(gè) bit。當(dāng)提到時(shí)鐘周期時(shí),就是指波特率。例如如果協(xié)議需要 9600 波特率,那么時(shí)鐘是 9600Hz。這意味著串口通信在數(shù)據(jù)線上的采樣率為 9600Hz。 數(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ù)語“包”指任何通信的情況。 停止位:用于表示單個(gè)包的最后一位。典型的值為 1, 和 2 位。由于數(shù)據(jù)是在傳輸線上定時(shí)的,并且每一 個(gè)設(shè)備有其自己的時(shí)鐘,很可能在通信中兩臺設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計(jì)算機(jī)校正時(shí)鐘同步的機(jī)會。適用于停止位的位數(shù)越多,不同時(shí)鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時(shí)也越慢。 奇偶校驗(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ù)是否不同步。 ( 3) Portopen 設(shè)置并返回通訊端口的狀態(tài),也可以打開和關(guān)閉端口。 ( 4) Input 從接收緩沖區(qū)返回和刪除字符。該屬性在運(yùn)行時(shí)為只讀。 ( 5) InputLen 設(shè)置并返回每次 Input 屬性從接收緩沖區(qū)中讀取的字符數(shù)。InputLen 屬性的缺省值為 0。設(shè)置 InputLen 為 0 時(shí), Input 將讀取接收緩沖區(qū)的全 部字符。 ( 6) Output 向傳送緩沖區(qū)寫數(shù)據(jù)。要傳送的數(shù)據(jù)可是文本數(shù)據(jù)或二進(jìn)制數(shù)據(jù)。 ( 7) CommEvent 返回最近的通訊事件或錯(cuò)誤。只要有通訊錯(cuò)誤或事件發(fā)生錯(cuò)誤時(shí)就會產(chǎn)生 Onm 事件。 CommEvent 屬性中存有該錯(cuò)誤或事件的數(shù)值代碼。 在 VB 開發(fā)串口程序時(shí)需多次用到 Timer 控件,其主要屬性如下: ( 1) Enabled 返回或設(shè)置一個(gè)值,該值用來確定一個(gè)窗體或控件否能夠?qū)τ脩舢a(chǎn)生的事件作出反應(yīng)。通過把 Enabled 設(shè)置為“ False”來使 Timer 控件成為無效,將取消由控件的 Interval 屬性所建立的倒計(jì)時(shí)數(shù)。 ( 2) Interval 返回或設(shè)置對 Timer 控件的計(jì)時(shí)事件調(diào)用間的毫秒數(shù)。 Timer 控件的 Enabled 屬性決定該控件是否對時(shí)間的推移作出響應(yīng)。將 Enabled 設(shè)置為“ False”會關(guān)閉 Timer 控件,設(shè)置為“ True”則打開 Timer 控件。當(dāng) Timer 控件置為有效時(shí),倒計(jì)時(shí)總是從其 Interval 屬性設(shè)置值開始。創(chuàng)建 Timer 事件程序??赏ㄖ?VB 在每次 Interval 到時(shí)該做什么。 Timer 控件和 Enabled 屬性設(shè)置為“ True”時(shí), VB 將在 Interval 時(shí)間到后自動訪問 Timer_Timer 過程。 為實(shí)現(xiàn)通信程序,須在 VB 開發(fā)環(huán)境下設(shè)置一個(gè)用做控制通信的窗體。窗體上主要有通信控件 msm 和 Timer 控件。 VB的特點(diǎn)是事件驅(qū)動,定時(shí)器控件會定時(shí)觸發(fā)相應(yīng)事件的驅(qū)動程序。通信程序如下: ( 1)在添加的 msm 控件的屬性中選擇 CommPort 的端口號為 1。(若 Comm1 口被占用可選擇 Comm2 口)此屬性也可以通過代碼設(shè)置其程序如下: =1 ( 2)設(shè)置握手協(xié)議即 msm 的 HandShanking 為 0ComNone ( 3)設(shè)置傳輸速度參 數(shù)屬性 Setting 為“ 1200, N, 8, 1”其意義(即通信協(xié)議)表示為所使用的通信端口是以每秒 1200Bit 的速度傳輸,不作字符校驗(yàn),每次數(shù)據(jù)位是 8 個(gè) Bit,而停止位是 1 個(gè) Bit。 (4)設(shè)置兩個(gè)文本框 TEXT1, TEXT2 用于接收與發(fā)送數(shù)據(jù)。在添加一個(gè) Timer控件控制自動偵測接受數(shù)據(jù)。 Timer 控件的 Interval 屬性值為 20。 ( 5)打開通信端口: = True ( 6) 接收數(shù)據(jù)程序的實(shí)現(xiàn)方法: Private Sub Command4_Click() Dim Buf$ Buf = Trim() If Len(Buf) = 0 Then = Else = Buf End If End Sub ( 7) 啟動自動偵測讀取數(shù)據(jù)的程序: Private Sub Command5_Click() = Not End Sub Private Sub Timer1_Timer() If 0 Then = + End If End Sub ( 8)發(fā)送程序的實(shí)現(xiàn)方法: Private Sub Command1Click() Comm1. Output = Text1. Text ; 將發(fā)送區(qū)文本框中的內(nèi)容放入 End Sub ( 9)清空接收區(qū)顯示數(shù)據(jù) Private Sub Command6_Click() = End sub (10)結(jié)束 Private Sub Command 3Click() Comm1. PortOpen = False End Sub Visual Basic 開發(fā)串口通信程序界面設(shè)計(jì) 封面 1的設(shè)計(jì): ( 1)打開一個(gè)新的 Visual Basic 工程,在新建工程選項(xiàng)框中選擇標(biāo)準(zhǔn) EXE。在 Form 屬性中的 Picture 中選擇添加圖片。這樣就完成了顯示屏幕中出現(xiàn)圖片的效果。 初始化代碼為: Private Sub Form_Load() Set = LoadPicture(D:\04 計(jì)通 1\圖片 \) X = 10 Y = 10 ;定義添加圖片出現(xiàn)的起始位置 a = 30 b = 50 End Sub ( 2) 動態(tài)圖片的設(shè)計(jì): 在 Form 界面中添加一個(gè) Timer 控件,設(shè)其 Interval 屬性值為 20, enable屬性為 Ture 。這樣就實(shí)現(xiàn)了封面中類似屏保的圖片的移動。在 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)添加兩個(gè)標(biāo)簽分別設(shè) Caption 屬性為“您好!歡迎使用!”“下一步”來顯示文本。 圖 3 封面 1 界面 1的設(shè)計(jì): ( 1)動態(tài)標(biāo)簽字幕顏色變換放大的實(shí)現(xiàn): 在 Form 界面中添加一個(gè)計(jì)時(shí)器 Timer 控件, 設(shè)其 Interval 屬性值為 100。再添加一個(gè)標(biāo)簽設(shè) Caption 屬性為“ Visual Basic 與單片機(jī)的串口通信演示”。 程序代碼為: Dim X, Y, a, b As Single Private Sub Timer2_Timer() Static X, Y Y = Y + 1 X = X + 1 If X 30 Then X = 1 If Y 15 Then Y = 1 = QBColor(Y) = X End Sub ( 2)同理在在 Form 界面中添加一個(gè)計(jì)時(shí)器 Timer( Timer3)控件,設(shè)其Interval 屬性值為 100。添加一個(gè)標(biāo)簽 Label2 設(shè) Caption 屬性為“歡迎點(diǎn)擊進(jìn)入” 此標(biāo)簽用于提示進(jìn)入主界面。 程序代碼為: Dim X, Y, a, b As Single Private Sub Timer3_Timer() Static X, Y Y = Y + 1 X = X + 1 If X 40 Then X = 1 If Y 15 Then Y = 1 = QBColor(Y) = X End Sub ( 3)移動圖片實(shí)現(xiàn)的方案: 添加 1個(gè)計(jì)時(shí)器 Timer ( Timer1)控件設(shè)其 Interval 屬性值為 100。添加Image1, Image2 , Image3, Image4, Image5, Image6 控件, Stretch 屬性均為 Ture, Image1, Image2 加載 PC機(jī)圖片, Image4, Image5 添加單片機(jī)圖片。Image1, Image2, Image4, Image5 的 visible 為 False。這樣可以實(shí)現(xiàn)圖片從屏幕左邊逐漸右移并循環(huán)移動的效果。 程序代碼為: Private Sub Timer1_Timer() If Then = 200 End If = + 350 If = Then = Else = End If If Then = 200 End If = + 350 If = Then = Else = End If End Sub 圖 4 界面 1 選項(xiàng)對話框的設(shè)計(jì) 在工具箱中空白處單擊鼠標(biāo)右鍵選擇部件選項(xiàng),在彈出的對話框中選擇添加Sstab 控件。在該控件的屬性中分別設(shè)置標(biāo)題為“通用”、“緩存”、“硬件”。在每一個(gè)標(biāo)題下添加命令按鈕用以三個(gè)標(biāo)題的切換。 選項(xiàng)對話框 可以使得用戶隨時(shí)查看串口通信的參數(shù)信息。 程序如下: Private Sub mand1_Click() = False End Sub Private Sub Command2_Click() = False End Sub Private Sub Command3_Click() = False End Sub 圖 5 選項(xiàng)對話框 主界面的設(shè)計(jì) ( 1)菜單的設(shè)計(jì): 新建一個(gè) form 界面 。 通過工具欄的菜單編輯器選項(xiàng)編輯菜單,設(shè)計(jì)標(biāo)題為“啟動程序”、“字體”、“顏色”、“選項(xiàng)”然后通過菜單的 Click事件調(diào)用各個(gè)程序。 在工具箱中空白處單擊鼠標(biāo)右鍵選擇部件選項(xiàng),在彈出的對話框中選擇添加 2個(gè) CommonDiolag 控件。單擊 “字體”、“顏色”、“選項(xiàng)”后可以調(diào)出各 個(gè)對話框。 程序代碼如下: 顏色對話框 程序代碼: Private Sub color_Click() = 1 = BackColor = 3 = End Sub 字體對話框 程序代碼: Private Sub Fontname_Click() = 3 = = = = = = End Sub ( 2)動態(tài)字幕的實(shí)現(xiàn)方案 在主界面中添加一個(gè) picture 控件和一個(gè) Label 標(biāo)簽與一計(jì)時(shí)器控件。Label 標(biāo)簽的 Caption 屬性為“ 基于 RS232 的單片機(jī)與 PC 機(jī)串口通信實(shí)驗(yàn)演示” Timer 控件設(shè)其 Interval 屬性值為 100。將 Label 標(biāo)簽添加在 picture 控件中,這樣實(shí)現(xiàn)了字幕自左端向右循環(huán)移動的效果。 程序代碼為: 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)圖片交替顯示的實(shí)現(xiàn)方案: 在主界面中添加 Image1 , Image2, Image3 控件, Stretch 屬性均為TureImage1,加載 PC 機(jī)圖片 Image2 添加單片機(jī)圖片。在加入一個(gè) Timer
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1