http://202.106.171.182:8080/aqjc/cxy/txxy.htm
这个网址上有一个led的协议
根据这个协议我怎样才能在led显示屏上显示 “克” 这个字最好有源程序
只要解决分可以加
不够再开帖

解决方案 »

  1.   

    地址
     代码
     注释
     
    00H
     01H
     字数为1个汉字
     
    01H
     0BH
     引入方式为↑移
     
    02H
     0EH
     引出方式为连续
     
    03H
     00H
     附加方式为停留
     
    04h
     20h
     属性
     
    09H
     0CBH
     “克”的国标位号
      

  2.   

    能不能给我个串的例子象下面程序中的bsend:
    我想知道这个bsend的串怎么拼才能在led显示屏上显示 “克” 这个字            bSend(0) = &H4
                bSend(1) = &H2
                bSend(2) = &H0
                bSend(3) = &H0
                bSend(4) = &H5
                bSend(5) = &H6            vSend = bSend
                If MSComm1.PortOpen Then
                    MSComm1.Output = vSend
                Else
                    MSComm1.PortOpen = True
                    MSComm1.Output = vSend
                End If
      

  3.   

    其实你知需知道“克” 这个字的国标区号和国标位号就行redim bSend()bSend(0) = &H4bSend(1) = &H2
    bSend(2) = &H0
    bSend(3) = &H0bSend(4) = &H21
    bSend(5) = &H35bSend(7) = &H21
    bSend(8) = &H36bSend(9)=&H20
    str2ByteString "克",bSend,10,1 If not MSComm1.PortOpen Then
     MSComm1.PortOpen = True
    End If
    MSComm1.Output = vSend
                
    Public Sub Str2ByteString(vStr As String, aByteString() As Byte, StartPos As Byte, ArrayLen As Integer)
        Dim Value As Long
        Dim strLen As Integer
        Dim i As Integer, j As Integer
        
        i = 0
        j = 1
        strLen = Len(vStr)
        Do While (i < ArrayLen) And (j <= strLen)
            Value = (CLng(65536) + Asc(Mid(vStr, j, 1))) Mod 65536
            If Value < 256 Then
                aByteString(StartPos + i) = Value
                i = i + 1
            Else
                aByteString(StartPos + i) = CByte(Value \ 256)
                aByteString(StartPos + i + 1) = CByte(Value Mod 256)
                i = i + 2
            End If
            j = j + 1
        Loop
        Do While i < ArrayLen
            aByteString(StartPos + i) = &H20
            i = i + 1
        Loop
    End Sub
      

  4.   

    楼上的兄弟你的这段程序我刚试过了!可是led显示屏没有一点的变化
    不知道是什么原因:
      

  5.   

    简单的发一些数字过去不行吗?比如:
    bSend(0) = &H4bSend(1) = &H2
    bSend(2) = &H0
    bSend(3) = &H0bSend(4) = &H21
    bSend(5) = &H35bSend(7) = &H21
    bSend(8) = &H36没有‘56’两个数字吗?
      

  6.   

    错了,应为:
    bSend(0) = &H2bSend(1) = &H2
    bSend(2) = &H0
    bSend(3) = &H0bSend(4) = &H21
    bSend(5) = &H35bSend(7) = &H21
    bSend(8) = &H36
      

  7.   

    更正redim bSend(11)bSend(0) = &H3bSend(1) = &H2
    bSend(2) = &H0
    bSend(3) = &H0bSend(4) = &H21
    bSend(5) = &H35bSend(7) = &H21
    bSend(8) = &H36bSend(9)=&H20
    str2ByteString "克",bSend,10,1 If not MSComm1.PortOpen Then
     MSComm1.PortOpen = True
    End If
    MSComm1.Output = vSend
                
    Public Sub Str2ByteString(vStr As String, aByteString() As Byte, StartPos As Byte, ArrayLen As Integer)
        Dim Value As Long
        Dim strLen As Integer
        Dim i As Integer, j As Integer
        
        i = 0
        j = 1
        strLen = Len(vStr)
        Do While (i < ArrayLen) And (j <= strLen)
            Value = (CLng(65536) + Asc(Mid(vStr, j, 1))) Mod 65536
            If Value < 256 Then
                aByteString(StartPos + i) = Value
                i = i + 1
            Else
                aByteString(StartPos + i) = CByte(Value \ 256)
                aByteString(StartPos + i + 1) = CByte(Value Mod 256)
                i = i + 2
            End If
            j = j + 1
        Loop
        Do While i < ArrayLen
            aByteString(StartPos + i) = &H20
            i = i + 1
        Loop
    End Sub
      

  8.   

    上面的程序都试过了可是还是不行!
    是不是led的型号不同编程的方式也不同
    还是怎么样
    可是这个通信的协议是对的呀!
    看样子你好像作了个程序是吗?能不能给我发过来
    mail:[email protected]