您现在所在的是:

单片机论坛

回帖:5个,阅读:1352 [上一页] [1] [下一页]
* 帖子主题:

请教 串口通信问题

917
lifayan119
文章数:4
年度积分:50
历史总积分:917
注册时间:2006/6/13
发站内信
发表于:2006/6/13 20:42:00
#0楼
请教各位:
    下面这段程序是:PC向单片机发送14个字节数据,单片机将14个字节存入30开始的地址单元,然后比较31单元数据与P1是否相等,如不等返回,继续等待接收PC数据,如果相等就将33单元的数据送到P0(P0口有发光2极管)显示。PC与单片机是用485方式 通讯。我在做这个实验时,出现奇观现象,单片机显示的数据和PC发送的数据不一致,如果33单元的数据是01-0F时单片机显示正常,如果33单元高4位不是0则显示不正常,例如33单元是2F单片机显示4F,如果33单元是4F单片机显示8F,不知是什么原因。
    MOV   40H,#08H
     MOV   41H,#10H
     MOV   42H,#04H
     MOV   43H,#02H
     MOV   44H,#40H
     MOV   45H,#20H
dl2:  MOV   TMOD,#20H
     MOV   TH1,#0FaH
     MOV   TL1,#0FaH
     SETB  TR1
     MOV   SCON,#50H
     MOV   P0,#00H
     MOV   R7,#0EH
     MOV   R0,#30H
dl6:  JNB   RI,$
     CLR   RI
     MOV   @R0,SBUF
     INC   R0
     DJNZ  R7,dl6
     MOV   SCON,#40H
     MOV   A,P1
     XRL   A,31H
     JZ    dl5
     SJMP  dl2
dl5:  MOV   P0,33H
     MOV   R3,#0FFH
dl3:  MOV   A,#0FFH
dl4:  DEC   A
     JNZ   dl4
     DJNZ  R3,dl3
     AJMP  dl2
     RET
     end  
1064
工控秀才
文章数:80
年度积分:50
历史总积分:1064
注册时间:2006/6/16
发站内信
09工控人生征文
08年优秀博客奖
发表于:2006/6/16 13:15:00
#1楼
首先看端口输出数据是否正确,可能是硬件接错.
14PIN的单片MCU多核心时代已来临,  想在低容量的MCU系统跑多任务吗,欢迎登陆"http://gongkong.gkbk.com"我的博客 查看详情,谢谢!
952
charlieyu
文章数:25
年度积分:50
历史总积分:952
注册时间:2006/6/18
发站内信
发表于:2006/6/18 21:50:00
#2楼
如果你确定33H单元的内容是正确的,那你的问题似乎和串口通信无关,是你的显示部分有问题,不能正确显示33H单元的内容. 如果你33H单元的内容也不对,那可能是通信有错.
917
lifayan119
文章数:4
年度积分:50
历史总积分:917
注册时间:2006/6/13
发站内信
发表于:2006/6/18 22:35:00
#3楼
例如:当PC发送“ FF 01 FF 02 FF FF FF FF FF FF FF FF FF FF” 时,33H单元内容是‘02’ P0口显示02,当PC发送“ FF 01 FF20 FF FF FF FF FF FF FF FF FF FF” 时,33H单元内容是‘40’ P0口显示40,我实验过多次,只有PC发送的数据高4位是‘F’或‘0’时,单片机接收的数是正确的。如果高4位是1--E则单片机接收的数是不正确的,但好象有规律,PC发20单片机接收是40。PC发送40单片机接收是80。(我用的是串口精灵)
952
charlieyu
文章数:25
年度积分:50
历史总积分:952
注册时间:2006/6/18
发站内信
发表于:2006/6/21 13:48:00
#4楼
你首先要判断错误在哪边?先确定PC串口发出的数据是否正确?再看单片机这边有没错误?从你说的来看,你单片机的接线好象没错,因为你看到33H的内容和P0端口的内容是一致的。象这种调试,最好有个独立的串口监视器,看看线路上的数据就明了。似乎是高4位的数据被左移了一位,所以2变成4,4变成8,你不妨送个10H看看是不是会变成20H?送个60H是不是会变成C0H?送个50H是不是变成A0H?
952
charlieyu
文章数:25
年度积分:50
历史总积分:952
注册时间:2006/6/18
发站内信
发表于:2006/6/21 13:52:00
#5楼
我平时不常上这里来,如果需要继续讨论,请加我的QQ:88076273,或MSN:charlie_yu88@hotmail.com .

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

78.0005