⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd.frm

📁 项目是为日本瑞萨工作所做的BAKE炉温控系统 整个文件夹包括设计文档
💻 FRM
📖 第 1 页 / 共 2 页
字号:
         Top             =   3360
         Width           =   3015
      End
      Begin VB.Label Label3 
         Caption         =   "注:汉字字符之前的ascii码字符的个数应为偶数个"
         BeginProperty Font 
            Name            =   "隶书"
            Size            =   10.5
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   375
         Left            =   1680
         TabIndex        =   7
         Top             =   6600
         Width           =   4815
      End
      Begin VB.Label Label2 
         Caption         =   "请输入第二行数据"
         BeginProperty Font 
            Name            =   "隶书"
            Size            =   18
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   495
         Left            =   120
         TabIndex        =   3
         Top             =   1920
         Width           =   3015
      End
      Begin VB.Label Label1 
         Caption         =   "请输入第一行数据"
         BeginProperty Font 
            Name            =   "隶书"
            Size            =   18
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   495
         Left            =   120
         TabIndex        =   2
         Top             =   600
         Width           =   3015
      End
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim senddata(16) As Byte                     '发送数据数组
Dim senddata1(0) As Byte                     '发送数据数组
Private Sub Command3_Click()
  MSComm1.PortOpen = False
  Unload Me
End Sub

Private Sub Form_Load()                     '初始化
 '串行口初始化
 Call SCIinit(MSComm1, 1, "9600,N,8,1")
 Text1.MaxLength = 16                       '输入框限制16个字符
 Text2.MaxLength = 16                       '输入框限制16个字符
 Text3.MaxLength = 16                       '输入框限制16个字符
 Text4.MaxLength = 16                       '输入框限制16个字符
End Sub

Private Sub Command1_click(Index As Integer)
 Dim i, count As Integer
 Dim d1 As Double
 Dim str, str1 As String
 Dim temp As Byte
 Dim ReceiveData() As Byte
 MSComm1.OutBufferCount = 0                   '清空输出缓冲区
 count = 1

Select Case Index
  Case 0
  i = Len(Text1.Text)                        '取得第一行文本框的字符串长度
  For i = 1 To Len(Text1.Text)               '循环取得字符串中的字符
    str = Mid(Text1.Text, i, 1)
    str1 = Hex$(Asc(str))                    '将取得的字符转换成十六进制数据
    temp = "&H" & Mid$(str1, 1, 2)           '转化成ASCII码
    If count >= 17 Then                      '字符串超长
     MsgBox "字符串超长"
     GoTo exit1
    Else
    If temp > &H7F Then                      '为扩展ASCII码
     If count >= 16 Then                     '字符串超长
     MsgBox "字符串超长"
     GoTo exit1
     End If
     senddata(count) = temp                  '取得扩展ASCII码高字节
    temp = "&H" & Mid$(str1, 3, 2)
    senddata(count + 1) = temp               '取得扩展ASCII码低字节
    count = count + 2                        '数组下标加2
   Else:
    senddata(count) = temp                    '否则直接将ASCII码赋值给发送数组
   count = count + 1                         '数组下标加1
   End If
  End If
 Next i
 senddata(0) = 1                             '显示行号标记

 Case 1
 i = Len(Text2.Text)                         '取得文本框的字符串长度
  For i = 1 To Len(Text2.Text)               '循环取得字符串中的字符
    str = Mid(Text2.Text, i, 1)
    str1 = Hex$(Asc(str))                    '将取得的字符转换成十六进制数据
    temp = "&H" & Mid$(str1, 1, 2)           '转化成ASCII码
    If count >= 17 Then                      '字符串超长
     MsgBox "字符串超长"
     GoTo exit1
    Else
    If temp > &H7F Then                      '为扩展ASCII码
     If count >= 16 Then                     '字符串超长
     MsgBox "字符串超长"
     GoTo exit1
     End If
     senddata(count) = temp                  '取得扩展ASCII码高字节
    temp = "&H" & Mid$(str1, 3, 2)
    senddata(count + 1) = temp               '取得扩展ASCII码低字节
    count = count + 2                        '数组下标加2
   Else:
   senddata(count) = temp                    '否则直接将ASCII码赋值给发送数组
   count = count + 1                         '数组下标加1
   End If
  End If
 Next i
 senddata(0) = 2                             '显示行号标记

 Case 2
 i = Len(Text3.Text)                         '取得文本框的字符串长度
  For i = 1 To Len(Text3.Text)               '循环取得字符串中的字符
    str = Mid(Text3.Text, i, 1)
    str1 = Hex$(Asc(str))                    '将取得的字符转换成十六进制数据
    temp = "&H" & Mid$(str1, 1, 2)           '转化成ASCII码
    If count >= 17 Then                      '字符串超长
     MsgBox "字符串超长"
     GoTo exit1
    Else
    If temp > &H7F Then                      '为扩展ASCII码
     If count >= 16 Then                     '字符串超长
     MsgBox "字符串超长"
     GoTo exit1
     End If
     senddata(count) = temp                  '取得扩展ASCII码高字节
    temp = "&H" & Mid$(str1, 3, 2)
    senddata(count + 1) = temp               '取得扩展ASCII码低字节
    count = count + 2                        '数组下标加2
   Else:
   senddata(count) = temp                    '否则直接将ASCII码赋值给发送数组
   count = count + 1                         '数组下标加1
   End If
  End If
 Next i
 senddata(0) = 3                             '显示行号标记

 Case 3
 i = Len(Text4.Text)                         '取得文本框的字符串长度
  For i = 1 To Len(Text4.Text)               '循环取得字符串中的字符
    str = Mid(Text4.Text, i, 1)
    str1 = Hex$(Asc(str))                    '将取得的字符转换成十六进制数据
    temp = "&H" & Mid$(str1, 1, 2)           '转化成ASCII码
    If count >= 17 Then                      '字符串超长
     MsgBox "字符串超长"
     GoTo exit1
    Else
    If temp > &H7F Then                      '为扩展ASCII码
     If count >= 16 Then                     '字符串超长
     MsgBox "字符串超长"
     GoTo exit1
     End If
     senddata(count) = temp                  '取得扩展ASCII码高字节
    temp = "&H" & Mid$(str1, 3, 2)
    senddata(count + 1) = temp               '取得扩展ASCII码低字节
    count = count + 2                        '数组下标加2
   Else:
   senddata(count) = temp                    '否则直接将ASCII码赋值给发送数组
   count = count + 1                         '数组下标加1
   End If
  End If
 Next i
 senddata(0) = 4                             '显示行号标记
End Select
 
 
If count < 16 Then                          '不足部分补空格
 For i = count To 16
   senddata(i) = 32
 Next i
MSComm1.InBufferCount = 0
d1 = Timer()
Do                                           '等待接收握手信号(86="V")
  DoEvents
   If Timer() - d1 >= 5 Then GoTo CndStart_Click_Error '无握手信号
   Loop Until MSComm1.InBufferCount >= 1
   ReceiveData = MSComm1.Input               '接收数据
   If ReceiveData(0) = 86 Then
      senddata1(0) = 56
   MSComm1.Output = senddata1                '发送回答信号(56)
End If
 MSComm1.OutBufferCount = 0
 MSComm1.Output = senddata                   '发送出去
 End If
GoTo exit1
CndStart_Click_Error:
  MsgBox "无握手信号"
  MSComm1.InBufferCount = 0
exit1:
End Sub
   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -