打印
[STC单片机]

请教:STC15W404AS单片机串口发送程序不能运行。

[复制链接]
2321|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ywl1955|  楼主 | 2016-5-10 15:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
原来在AT89C2051上面运行的串口发送程序,移到STC15W404AS不能运行,是什么原因?用示波器观察串口没有输出信号。
        ;================串口发送程序.设工作方式.1
TXD1:        MOV        TMOD,#20H        ;T1为8位自动重装初值模式
               MOV        TH1,#0E6H        ;高八位赋初值,E6=2400,
               MOV        TL1,#0E6H         ;低八位赋初值,E6=2400,
               MOV        SCON,#40H        ;串口初始化成工作方式1
               MOV        PCON,#80H        ;SMOD=0,不加倍模式
               SETB        TR1                ;开定时器T1
               RET
        ;----------------
TXD2:   MOV     1FH,#0ABH
          MOV        R0,#1FH                ;数据首址入R0
          MOV        R2,#07H          ;数据长度入R2
TXDA:        MOV        A,@R0                ;取数据
                MOV        SBUF,A          ;数据发送
TXDB:        JBC        TI,TXDC         ;等待T1变1后转CONT并对T1清0
               SJMP        TXDB
TXDC:        INC        R0                ;指向下一个字节
                DJNZ        R2,TXDA
                RET

相关帖子

沙发
fengche1915| | 2016-5-10 15:27 | 只看该作者
哇,用的还是汇编哦不记得这些呢
你只能去核对下你哪些寄存器用的对不对

使用特权

评论回复
板凳
heishe1989| | 2016-5-10 16:08 | 只看该作者
这是因为stc15w404as单片机没有T1定时器,只有T0和T2定时器,详细可以看一下芯片手册,可以在官网上下载,不行可以找我要

使用特权

评论回复
地板
ywl1955|  楼主 | 2016-5-10 18:07 | 只看该作者
谢谢提醒,我在看看

使用特权

评论回复
5
coody| | 2016-5-10 23:08 | 只看该作者
原因很简单,STC15W408AS系列没有定时器Timer1,你要用Timer2做波特率发生器,Timer2固定为16位自动重装,我一般选择1T模式,用各种主频率都可以得到想要的波尔率。

使用特权

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

本版积分规则

1

主题

2

帖子

0

粉丝