串行口通信问题

chenyanlin21 2006-03-06 04:00:19
请问有没有高手用过北京金创业科技开发中心的KY系列智能液晶显示终端呢?
如果有用过,请问高手这里的波特率怎么设置呀!
这里有一个问题,请高手提示一下:
用WAVE编译程序后,向终端发送,(如:我发送ABC这个三个字母)
第一次只清屏,不显示ABC 第二次就显示
我用单步执行程序就可以运行结果。
程序如下:
ZD_DATA EQU P3.1 ;向液晶终端输出串行数据,本例中波特率为9600Hz
ZD_BUSY EQU P3.0 ;接收液晶终端发来的"忙"(BUSY)信号,可以连接于任意一位输入引脚上.
BTL9600 EQU 250 ;=FaH;18.432MHz: 9600Hz(SMOD=1)
ORG 0000H
MAIN0: LJMP MAIN1
ORG 0100H
MAIN1: MOV SP,#60h
LCALL CSH
;--------------------
MOV A, #1BH
LCALL FSA
MOV A, #51H
LCALL FSA
mov a, #00h
lcall fsa
;----------清屏幕,背景颜色为黑色.
mov a, #1bh
lcall fsa
mov a, #31h
lcall fsa
;----------送字符集1
mov a, #41h
lcall fsa

mov a, #42h
lcall fsa
mov a, #43h
lcall fsa
;-----------送A, B, C
sjmp $
;===== 串口初始化 =========================================================
CSH: MOV TH1,#BTL9600 ;9600Hz

CKSZ2: MOV PCON,#80H ;SMOD=1
MOV TMOD,#20H ;定时器1为方式2:可再装入8位计数器
MOV TCON,#40H ;定时器1开始运行(TR1=1)
MOV SCON,#0D0H ;串口通道工作方式3,发送11位
RET
;====== 输出A中的数据 ============================================
;说明:输出A中的数据。
FSA:
JB ZD_BUSY,FSA ;如果终端"忙",则等待
MOV SBUF,A ;发送一字节
FS2: JNB TI,FS2 ;等待本字节发送完毕
CLR TI
RET
...全文
108 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
DT6H6 2006-03-07
  • 打赏
  • 举报
回复
D
DT6H6 2006-03-07
  • 打赏
  • 举报
回复
D
D0X0F4 2006-03-07
  • 打赏
  • 举报
回复
D
D2ZFX8 2006-03-07
  • 打赏
  • 举报
回复
D

21,498

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧