PC机通过9针RS232给单片机数据

love3song   2007-5-15 18:11 楼主
PC机通过9针RS232给单片机数据,单片机由串口中断获取数据并执行判断   
  为了方便调试,在p0/p2口接了灯。  
   
  可是实际在板上调试时,不论在PC端发任何数据,发现该LED一直不变。偶尔碰到连接线时,该LED会出现明灭现象。   
   
  1.应该是单片机没有收到PC通过MAX232发来的数据,不知道如何判断是PC和MAX232还是MAX232和MCU之间的问题。   
   
  2.PC端采用串口调试精灵程序,进行了9600.n.8.1设置,打开的串口,并选择16进制方式在文本区域输入数据,发送。灯仍然没有变化 ~~~~、
请各位大侠帮忙呀。。。万谢~~~~

回复评论 (18)

ORG 0000H
     AJMP MAIN
     ORG 0023H
     AJMP INTRP

MAIN: MOV TL1,#0FDH  ;定时器1作波特率发生器
      MOV TH1,#0FDH  ;波特率为9600
      MOV TMOD,#20H  ;定时器1方式2
      MOV SP,#5FH ;初始化堆栈
      CLR RI
      SETB ES
      SETB EA
      SETB TR1
      CLR ET1         ;禁止定时中断
      CLR ET0
      MOV SCON,#50H   ;串行方式1,允许串行接收

WAIT:AJMP WAIT


INTRP:MOV A,SBUF

      MOV P0,A
      CLR RI

RETURN:RETI
END
用这个程序,串口调试助手。。可以吗
点赞  2007-5-15 18:29
copy mypgm.asm com1 /b
点赞  2007-5-15 23:41
灯闪的太快?
接示波器,从头量,
点赞  2007-5-16 14:45
谢谢楼上的~~~
点赞  2007-5-23 11:21
1、先判断max232是否有问题
测量max232的2、6脚的电压在正负8V以上,说明max232的电路没有问题;

2、在max232的TTL电平处接LED和限流电阻到VCC,接收的时候应该LED闪烁;如果没有闪烁说明pc到max232的连线有问题;
点赞  2007-6-10 02:59
那就得先确定一端没有问题...

PC端:用别人成功正常的工具,你调试助手什么的,配置好正常的信息,用单片机来发数据和收数据.只做最简单的收发,这样就可以知道单片机是不是OK的

如果单片机OK了,那就可以用单片机来测自己的PC应用软件了...
点赞  2007-6-10 13:47
有示波器很容易就确定是哪个问题了!
点赞  2007-6-11 17:44
你直接在串口中断里取反led的驱动端,然后通过调试软件发送数据,使发送的数据长度满足产生奇数个串口中断,这样就可以看到中断工作没有,如果连串口中断都没有的话,谈何接收数据?
点赞  2007-6-27 16:57
可是实际在板上调试时,不论在PC端发任何数据,发现该LED一直不变。偶尔碰到连接线时,该LED会出现明灭现象。 ----------可能是你在P0、P2没有接上拉电阻吧,所以LED的状态不稳定
点赞  2007-12-12 14:38
用PC一直发0x55 0xAA 然后用示波器,观察接收电路,如果不行,暂时用3线通讯,调试好了再加其他的控制线。
点赞  2007-12-14 15:05
确定好电路,确定好程序

或者先仿真 在实际调试
点赞  2007-12-20 15:46
看电路和连线是否正确.
点赞  2008-3-9 02:18
用示波器先看一p0/p1端的波形,确定有没问题;再检查MAX232的TTL电平,确定有没问题。最后再去检查软件
点赞  2008-3-13 21:10
这很简单哦
点赞  2008-3-13 23:04
1、用示波器,保证Rxd有正确的波形;
2、确认单片机串口配置正确,收到正确的数据;
3、串口把收到的数据返回PC;
点赞  2008-3-14 09:08
先支持一下
点赞  2008-3-14 09:51
K~~原来是老贴。。。
点赞  2008-3-14 13:26
接分是王道!
点赞  2008-4-30 20:45
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复