导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→这个8251扩展串口的程序到底错在什么地方,请高手帮帮忙!

* 55438: 这个8251扩展串口的程序到底错在什么地方,请高手帮帮忙!

   lhm886688 
lhm886688发表的帖子 

 这个8251扩展串口的程序到底错在什么地方,请高手帮帮忙!
;现用8155做时钟发生器,8251扩展个串口!
;晶振用的是11.0592,现在电脑通过串口发送数据,出现的问题是用仿真器仿真时,
;接受到的第一个数有时对有时不对,但接受到的第二个数就不对,此时从状态寄存器
;中读出的数据是#a7,这应该是什么地方出问题了,请大家帮帮忙!我的邮箱
;liuheming@chinaelevator.cn qq:2080274
org 0000h
sjmp main
org 0003h
clr ea
ljmp int0
main:mov sp,#60h
     lcall delay0
     lcall delay0
     lcall delay0
     lcall delay0
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
;8155初始化,pa输入口,pb输出口,计数器192分频
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

mov dptr,#0df04h
mov a,#0c0h
movx @dptr,a
inc dptr
mov a,#40h
movx @dptr,a
mov dptr,#0df00h;命令寄存器
mov a,#0c2h    ;计数器开始记数
movx @dptr,a

;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
;8251(1)初始化,只许接受,波特率9600,8位,x1异步通讯
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
mov dptr,#0fd00h
mov a,#00h
movx @dptr,a
mov a,#40h
movx @dptr,a;8251回到方式模式


mov dptr,#0fd00h
mov a,#4dh  ;
movx @dptr,a
mov a,#36h
movx @dptr,a

;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$


here:setb ea
     setb ex0
     setb it0
     sjmp here
     sjmp here
int0:
mov r0,#30h
mov r1,#02h
wait:
mov dptr,#0fd00h
movx a,@dptr
anl a,#02h;读状态寄存器,看是否有可用信息
jz wait

mov dptr,#0fc00h
movx a,@dptr
mov @r0,a
inc r0
djnz r1,wait;连续接受两个数据
reti

delay0:
mov r1,#0ffh
ww0:
mov r3,#0ffh
ww:djnz r3,ww
djnz r1,ww0
ret

end


发表时间:2004年5月26日22:21:34

  
回复该帖

本主题共有 1 帖,分页:>>>>>该主题的所有内容[1]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:联系 13801722@163.com 赵先生
[下一篇帖子]:关于RS485PC机用的RS485接口卡哪里有卖?它与单片机的通讯程序与一般的RS232通讯程序是一