打印
[ZLG-MCU]

LPC764串行通信的问题(发送数据不对)

[复制链接]
1678|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xiaoxin1986|  楼主 | 2009-8-25 10:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下面的程序我发送04给单片机程序是可以识别的,并且发送数据给上位机,但是发送的数据不对,我要发送51H到59H的内容给上位机,为(2B,30,30,30,30,2E,30,30,00),但是接收到的是(8B,,90,90,90,90,8E,90,90,80).请教各位高手这是什么原因?
;要求上位机发送04,单片机传送从51H开始到59H单元内容给上位机,波特率9600,串行工作方式1,TXD发送端,RXD接收端
HAO EQU 04H
P0M1 EQU 084H ;//0口输出模式选择1
P0M2 EQU 085H ;//0口输出模式选择2
P1M1 EQU 091H ;//1口输出模式选择1
P1M2 EQU 092H ;//1口输出模式选择2
P2M1 DATA 0A4H
P2M2 DATA 0A5H
IEN0 DATA 0A8H ;//外部中断请求标志位
IEN1 DATA 0E8H
LED BIT P0.0
COMM_BIT BIT 00H ; 00H=1,单片机发送数据
ORG 0000H
AJMP STAR
ORG 0023H
AJMP UART
ORG 0100H
STAR:
CLR EA
; MOV WDRST,#01EH ;清除看门狗
; NOP
; MOV WDRST,#0E1H
; NOP
; MOV WDCON,#00H ;看门狗定时110(660ms到1.44s)选1.2s
; NOP
MOV SP,#05CH
NOP
NOP
CLR RS0
CLR RS1
MOV pcon,#80H
NOP
NOP
MOV TMOD,#20H
NOP
mov TL1,#0FAH
NOP
mov th1,#0FAH ;;波特率为9600
NOP
setb TR1
NOP
mov scon,#50H
NOP
MOV IEN0, #10H ; ES=1,开串行中断
NOP
NOP
MOV IEN1 , #00H
NOP
NOP
MOV PSW , #00H
NOP
NOP
MOV P0M1,#00H
NOP
NOP
MOV P0M2,#00H
NOP
NOP
MOV P1M1,#0CH ;P1.0,P1.1.为准双向口
NOP
NOP
MOV P1M2,#2CH
NOP
NOP
MOV P2M1,#03H ;外部CLK,(P2.1)X1输入,(P2.0)X2输出
NOP
NOP
MOV P2M2,#01H
NOP
NOP
MOV P0,#0FFH
NOP
MOV P1,#0FFH
NOP
NOP
MOV SBUF,#00H
NOP
NOP
SETB PS
NOP
;


相关帖子

沙发
xiaoxin1986|  楼主 | 2009-8-25 10:25 | 只看该作者
NOP
NOP
MOV 050H,#051H
NOP
NOP
MOV 051H,#02BH
NOP
NOP
MOV 052H,#030H
NOP
NOP
MOV 053H,#030H
NOP
NOP
MOV 054H,#030H
NOP
NOP
MOV 055H,#030H
NOP
NOP
MOV 056H,#02EH
NOP
NOP
MOV 057H,#030H
NOP
MOV 058H,#030H
NOP
NOP
MOV 059H,#00H
NOP
NOP
MOV R0,#51H
NOP
MOV R1,#09H
NOP
CLR COMM_BIT
NOP
NOP

; MOV WDRST,#01EH ;喂狗
; NOP
;MOV WDRST,#0E1H
;NOP
CLR RI
CLR TI
SETB EA
NOP
MAIN1:
JNB COMM_BIT,MAIN2
CALL send_ZT
INC R0
DJNZ R1,MAIN2
MOV R0,#51H
MOV R1,#09H
CLR COMM_BIT
MAIN2:
NOP
AJMP MAIN1
UART:
CLR EA
PUSH ACC
PUSH PSW
JB ti,commnot
MOV a,sbuf
cjne a,#hao,commnot
setb COMM_BIT
commnot:
CLR ti
CLR ri
POP PSW
POP ACC
SETB EA
RETI

send_ZT:
push ACC
clr ren ; jin zhi shou
clr es ; jin zhi zhong duan
MOV A,@R0
NOP
MOV SBUF,A ;;;;;; 1
ACALL YS_1MS
ZTdeng:
jbc ti,ZT20_1 ;;send over , clr ti
LJMP ZTdeng
ZT20_1:
setb ren
setb es
pop ACC
RETI
YS_1MS:
PUSH PSW
SETB RS0
SETB RS1
MOV R5,#010
YS_20MS1:
MOV R4,#0250
YS_20MS0:
NOP
NOP
DJNZ R4,YS_20MS0
DJNZ R5,YS_20MS1
POP PSW
RET

使用特权

评论回复
板凳
xiaoxin1986|  楼主 | 2009-8-25 10:26 | 只看该作者
有没有哪位大虾有空帮我看看这个程序啊?

使用特权

评论回复
地板
linhai1986| | 2009-8-25 10:28 | 只看该作者
先做简单的测试啊,什么功能不行的话,用一个最简单的程序来测试一下。

使用特权

评论回复
5
linhai1986| | 2009-8-25 10:29 | 只看该作者
查频率、波特率是否准确,还有模式是否正确,如奇偶校验等

使用特权

评论回复
6
linhai1986| | 2009-8-25 10:29 | 只看该作者
有条件的话,用逻辑分析仪看看。

使用特权

评论回复
7
xiaoxin1986|  楼主 | 2009-8-25 10:42 | 只看该作者
条件比较破,还有其他的方法吗?

使用特权

评论回复
8
linhai1986| | 2009-9-6 18:23 | 只看该作者
可以做一些简单的测试吗

使用特权

评论回复
9
xiaoxin1986|  楼主 | 2009-9-19 14:22 | 只看该作者
谢了,问题已经解决了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

176

主题

1487

帖子

0

粉丝