导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→PC机与单片机串口通信[xsz8866]

 *第24374篇: PC机与单片机串口通信

  
楼 主:xsz8866 2004年8月3日11:25
 PC机与单片机串口通信
各位老师好!我用单片机向PC串口发数据,接收到的数据老是跟发的数据不符,请帮帮我找出该程序的问题!多谢!
TT:MOV 60H,#20H
   MOV 61H,#30H
   MOV 62H,#40H
TDL1:MOV TMOD,#20H;定时/计数器1,工作于方式2
     MOV TL1,#0FDH
     MOV TH1,#0FDH;装入初值,设定波特率为19200
     CLR ET1;禁止T1中断
     SETB TR1;启动TR1计数
     MOV SCON,#40H;串行口设置方式1发送
     ORL PCON,#80H;SMOD=1
     MOV R0,#60H;待传数据首地址
     MOV R7,#03H;待传数据长度
TDS:MOV A,@R0;取发送数据
    ADD A,#30H;换算成ASCII码
    MOV SBUF,A;发一桢数据
TDW:JBC TI,TDL2;发送完,转TDL2判断
    SJMP TDW;未发送完一桢,继续判断
TDL2:INC R0;指向下一个待发送数据单元
     DJNZ R7,TDS;数据未发送完,继续发送下一数据
     CLR P1.7
     END;数据发送完,结束
  
2楼:asicstudio 2004年8月3日16:04
 呵呵,好像你还没搞清楚ASCII的含义。
TT:MOV 60H,#20H
   MOV 61H,#30H
   MOV 62H,#40H

TDS:MOV A,@R0;取发送数据
    ADD A,#30H;               [color=#DC143C]换算成ASCII码[/????

我估计你想发数字,但没搞清楚数字和ASCII表示的数字之间的关系。

再好好想想吧。

  
3楼:xsz8866 2004年8月6日14:26
 谢谢老师的指导,其实我把振荡器频率搞错了
谢谢老师的指导,其实我把振荡器频率搞错了,所以老是收到的数据不符,还有一点就是老师指出的,确实没有搞清楚数字跟ASCII表示的数字之间的关系,实不相瞒,现在也没有搞清楚,只是把ADD A,#30H去掉,实验便通过了,由于全靠自学,望老师再指导一下,谢谢!
  
4楼:guest 2004年8月4日15:08
 告诉他啊,我也想知道呢
告诉他啊,我也想知道呢
  
5楼:guest 2004年8月5日20:12
 [em12]
  
6楼:guest 2004年8月5日20:11
 [quote][b]以下是引用[i]gu
以下是引用guest在2004-8-4 15:08:53的发言:
告诉他啊,我也想知道呢

  
7楼:guest 2004年8月6日10:14
 程序问题
一帧数据发完要清TI,然后再发另外一帧数据
TDL2:INC R0;指向下一个待发送数据单元
        CLR TI;
        DJNZ R7,TDS;数据未发送完,继续发送下一数据
  
8楼:djb8784119 2006年5月10日11:59
 我想看看整个程序
我想看看PC机与单片机串口通信
的整个程序
有哪位高手可以帮帮我吗? 谢谢



>>>>>>对该主题发表你的看法

本主题贴数8,分页: [第1页]


[上一篇主题]:求GMS手机板

[下一篇主题]:求CS8900A芯片资料