1、程式設計實習-7Visual Basic 2005實習七 1.影像縮小放大程式解說 2.Visual Basic RS-232通訊使用 3.作業影像縮放-1影像縮放-2影像縮放-3影像縮放-4 1.螢幕座標與地圖座標的轉換 (1)螢幕座標的取得 (2)地圖座標轉換 2.影像的放大與縮小 PictureBox參數的更改與重繪Visual Basic RS-232通訊-11.電腦與週邊的通訊型式:(1)並列式傳輸(Parallel Communication)(2)串列式傳輸(Serial Communication)1234567812345678 並列式傳輸設備1設備21 2 3 4 5 6
2、7 8 串列式傳輸設備1設備2Visual Basic RS-232通訊-21.大部分的通訊介面都是使用串列式通訊,USB也是屬於串列式通訊的一種。2.現行工業用通訊介面有:RS-232、RS-422與RS-485幾種。RS-232的電壓準位是與GND比較,其餘兩種為雙線式,電壓準位為比較兩線的電壓差。作業方式抗雜訊能力通訊距離RS-232雙工弱短RS-422雙工強長(可超過100公尺)RS-485單工強長(可超過100公尺)Visual Basic RS-232通訊-31.大部分週邊提供RS-232的通訊介面,本節以RS-232通訊為主。2.九Pins的RS-232的通訊腳位簡介:腳位功用1
3、CD2RXD3TXD4DTR5GND6DSR7RTS8CTS9RIRXD:接收資料腳位TXD:傳送資料腳位GND:地線腳位Visual Basic RS-232通訊-31.通訊參數:(1)Baud Rate(2)通訊傳送單位(3)起始位元及停止位元(4)同位元檢查2.串列通訊字元資料格式:起始位元+傳送字元+同位位元+停止位元Ex.如果採用19200bps的傳輸速率,傳輸資料格式為一個起始位元,傳送字元為8個位元,不用同位元檢查,一個停止位元。此時每秒可以傳輸的資料個數為:(1)每次傳輸的資料位元格式為:1+8+0+1=10位元 (2)Baud Rate=19200 bits/second =
4、每秒最大傳輸資料個數為 19200/10=1920組Visual Basic RS-232通訊-4通訊交握的方式與意義1.交握方式:(1)硬體交握直接以腳位之電位通聯 (2)軟體交握以資料的方式通聯2.RS-232通訊流程RS-232Port開啟與初始化電腦與週邊交握通知傳輸資料接收完畢,通知結束傳輸並關閉通訊埠溢位否是Visual Basic RS-232通訊-5Visual Basic通訊埠的操作1.加入Serial Port控制項2.設定各項參數3.藉由Null Modem的方式,將第二與第三腳位短路,撰寫迴路通訊測試程式。RS-232通訊介面程式內容-1RS-232通訊介面程式內容-2
5、Imports System.IO.PortsImports System.TextPublic Class Form1 Dim RS232 As SerialPort Private Sub Form1_FormClosed(ByVal sender As Object,ByVal e As System.Windows.Forms.FormClosedEventArgs)Handles Me.FormClosed If Not RS232 Is Nothing Then If RS232.IsOpen Then RS232.Close()End If End If End Sub Priv
6、ate Sub Form1_Load(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles MyBase.Load Get a list of serial port names.Dim ports As String()=SerialPort.GetPortNames()Display each port name to the console.Dim port As String For Each port In ports ComboBox1.Items.Add(port)Next port End Sub P
7、rivate Sub ButtonOpenRS232_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles ButtonOpenRS232.Click Dim mBaudRate As Integer Dim mParity As Parity Dim mDataBit As Integer Dim mStopBit As StopBits Dim mPortName As String mPortName=ComboBox1.SelectedItem.ToString mBaudRate=9600 mP
8、arity=Parity.None mDataBit=8 mStopBit=StopBits.One RS232=New SerialPort(mPortName,mBaudRate,mParity,mDataBit,mStopBit)RS232.Encoding=Encoding.Unicode If Not RS232.IsOpen Then RS232.Open()ButtonSend.Enabled=True ButtonReceive.Enabled=True Else MsgBox(通訊埠已經被開啟)End If End Sub RS-232通訊介面程式內容-3Private Su
9、b ButtonSend_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles ButtonSend.Click RS232.Write(TextBoxSend.Text)End Sub Private Sub ButtonReceive_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles ButtonReceive.Click Dim InString As String InString=Try RS232.R
10、eadTimeout=1000 InString=RS232.ReadExisting()If InString Is Nothing Then Exit Sub Else TextBoxReceive.Text=InString End If Catch ex As Exception MsgBox(讀取錯誤)End Try End Sub Private Sub ButtonCloseRS232_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles ButtonCloseRS232.Click If
11、RS232 Is Nothing OrElse Not RS232.IsOpen Then MsgBox(通訊埠尚未開啟)Else RS232.Close()ButtonSend.Enabled=False ButtonReceive.Enabled=False End If End SubEnd ClassRS-232通訊介面程式內容-4RS-232通訊介面程式內容-5RS-232通訊介面程式內容-6RS-232通訊介面程式內容-7作業 1.持續上星期作業,加入Zoom In,Zoom Out與Zoom All的功能 額外作業:(1)撰寫透過RS-232與GPS通聯的程式,先將經緯度輸出。(2)將GPS的座標轉成TM2的座標。