Keil串口输入(USART#1)怎么不能响应输入啊.

yanjinbin0 2009-11-25 02:23:58
在测试单片机串口输入输出功能:
代码如下:
org 0000H

AJMP START

org 0023h

AJMP SERIAL ;转到串口中断处理函数

ORG 30H

START:

mov SP,#5fh ;

mov TMOD,#20h ;T1: 工作模式2

mov PCON,#80h ;SMOD=1

mov TH1,#0FDH ;初始化波特率(参见表)

mov SCON,#50h ;Standard UART settings

MOV R0,#0AAH ;准备送出的数

SETB REN ;允许接收

SETB TR1 ;T1开始工作

SETB EA ;开总中断

SETB ES ;开串口中断

SJMP $

SERIAL:

MOV A,SBUF ;接收数据

MOV P0,A ;将数据输出到P1脚

CLR RI ;手动清除中断标志位

RETI

END

但是在调试的时候打开,UART#1发现怎么都不会响应输入,怎么按键都没用.
大家遇到过这样的情况吗???
...全文
774 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
LongBow007 2009-11-27
  • 打赏
  • 举报
回复
汇编多麻烦,结构也不够明晰。不如C用语言
yanjinbin0 2009-11-25
  • 打赏
  • 举报
回复
我就是想自己在UART#1里面输入数据到单片机里面啊.

另:mov TH1,#0FDH ;8位重装值。 改继续跑程序还是不行.

不知道什么原因.
lgy198612 2009-11-25
  • 打赏
  • 举报
回复
汇编忘得差不多了,楼主什么不用C语言的。
lgy198612 2009-11-25
  • 打赏
  • 举报
回复
MOV R0,#0AAH ;准备送出的数 ?
没有看见你把R0放进SBUF里面啊?

但是在调试的时候打开,UART#1发现怎么都不会响应输入,怎么按键都没用.
你是想自己在UART#1里面输入数据并传输还是别的目的?

mov TH1,#0FDH ;初始化波特率(参见表)
是否应该改成
:mov TL1,#0FDH;定时器初值
mov TH1,#0FDH ;8位重装值。

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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