Assembly 在汇编和8051中串行发送存储值寄存器

Assembly 在汇编和8051中串行发送存储值寄存器,assembly,serial-port,8051,Assembly,Serial Port,8051,我想使用8051微处理器和汇编代码,通过串行端口发送处理器寄存器中包含的值 超级终端上出现了一些奇怪的字符,而发送字符串效果很好。 想法?3种糖果 最有可能的是:您在“超术语”中收到的奇怪字符实际上是8051正在发送的数据。由于8051可以发送代码为128-255的字节、ASCII之外的区域以及0-31范围内的不可打印ASCII(10,13除外),因此hyper term使用一些有趣的字符来显示这些字节。EG下面是部分代码字符表。注意,还存在其他代码到字符的映射 128欧元 129 ? 130

我想使用8051微处理器和汇编代码,通过串行端口发送处理器寄存器中包含的值

超级终端上出现了一些奇怪的字符,而发送字符串效果很好。 想法?

3种糖果

  • 最有可能的是:您在“超术语”中收到的奇怪字符实际上是8051正在发送的数据。由于8051可以发送代码为128-255的字节、ASCII之外的区域以及0-31范围内的不可打印ASCII(10,13除外),因此hyper term使用一些有趣的字符来显示这些字节。EG下面是部分代码字符表。注意,还存在其他代码到字符的映射
  • 128欧元 129 ? 130 ‚ 131 ƒ 132 „ 133 … 134 † 135 ‡ 136 ˆ 137‰

  • 发送方/接收方未使用相同的奇偶校验/停止/位长度设置。确保两者使用相同数量的位/字(8)、停止位(1)和奇偶校验设置(建议“无”)

  • 错误匹配波特率。不寻常,但8051可能使用不同于接收波特率的传输波特率。(不太可能)


  • 有待进一步调查的问题

    详细说明您如何知道发送字符串工作良好


    B.预期会收到哪些角色?您收到了哪些奇怪的角色

    为什么不在发送前将寄存器值转换为十六进制ASCII字符串呢?是的,听起来不那么直接。是的,你说得对。我试图以错误的方式发送包含存储值的寄存器,导致客户端解码错误。其他值都可以!
    org 0h
    mov a,#10110011b
    mov r2,#8d
    clr P2.2
         rrc a
         mov p2.2,c
         djnz r2,go
        setb p2.2
    end