请问,单片机中,用汇编语言如何发送字符串
展开全部
查出字母的ASCII码,然后把这些ASCII码当成一个8位二进制数发送到串口。
51汇编语言:
org 0H;使用11.0592MHz晶振
ljmp main
org 23H
reti
main:
setb ea
mov tmod,#100011B
mov scon,#1010000B
mov th1,#0f4h;设置波特率为2400
mov tl1,#0f4h
setb tr1
mov 22H,#0
mov sbuf,'T'
jnb ti,$
clr ti
mov sbuf,'e'
jnb ti,$
clr ti
mov sbuf,'s'
jnb ti,$
clr ti
mov sbuf,'t'
jnb ti,$
clr ti
sjmp $
end
51汇编语言:
org 0H;使用11.0592MHz晶振
ljmp main
org 23H
reti
main:
setb ea
mov tmod,#100011B
mov scon,#1010000B
mov th1,#0f4h;设置波特率为2400
mov tl1,#0f4h
setb tr1
mov 22H,#0
mov sbuf,'T'
jnb ti,$
clr ti
mov sbuf,'e'
jnb ti,$
clr ti
mov sbuf,'s'
jnb ti,$
clr ti
mov sbuf,'t'
jnb ti,$
clr ti
sjmp $
end
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用C写的话.
TH1=0xfd;
TL1=0xfd; 设置波特率
TI=1 ;
TR1=1 ;
printf ("Test") ; 发送
就ok了
那就把 printf("test")改为:
mov a ,#54h ;t 的ascII
mov sbuf,a ;send "T"to RXD
mov a,#63h
mov sbuf,a send "e" to RXD
..."
时序不用管,是自动的,你只须社好波特率.
硬件没问题就能收到.
TH1=0xfd;
TL1=0xfd; 设置波特率
TI=1 ;
TR1=1 ;
printf ("Test") ; 发送
就ok了
那就把 printf("test")改为:
mov a ,#54h ;t 的ascII
mov sbuf,a ;send "T"to RXD
mov a,#63h
mov sbuf,a send "e" to RXD
..."
时序不用管,是自动的,你只须社好波特率.
硬件没问题就能收到.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询