找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 863|回复: 6
打印 上一主题 下一主题
收起左侧

15W408AS单片机串口无法接收数据 附汇编语言程序

[复制链接]
跳转到指定楼层
楼主
帮忙看看这代码用在15W408AS,单片机没有反应,哪位大侠帮个忙看看,这代码有什么明白,好像TH1应该是TH2,但是改了Keil uVision3 无法编译,帮忙看看,在这里先谢谢了
ORG  0000H
        LJMP START
       ORG   000BH     
        LJMP  INTT0
        ORG     0023H;         ;串行中断
        LJMP   LOOP
        ORG  0060H
;---------------------------------------------
START:MOV SP,#60H                 ; 修改堆栈   
        MOV   R1,#10

        MOV TMOD,#01H
        MOV  TL0,#00H
        MOV  TH0,#4CH                                
        SETB  EA
        SETB  ET0
        SETB  TR0
;-------------------------------------------------
;初始化串口波特率9600,允计接收
MOV SCON,#50H          ;串行通讯控制SM1 REN
MOV TMOD,#21H           ;定时/计数器M1  M0
MOV TH1,#0FDH            ;定时时间设置高位
MOV TL1,#0FDH            ;定时时间设置低位
SETB TR1                      ;定时/计数器(TCON)
SETB ES                       ;中断允许(IE)
;----------------------------------
MIAN: NOP

   JMP   MIAN
;——————————————————————————
LOOP:
CLR ES      ;关串行中断
CLR  RI
PUSH ACC   
PUSH DPH
PUSH DPL

MOV    P2,SBUF     ;P2显示

POP DPL
POP DPH
POP ACC
SETB  ES      ;打开串行中断
RETI
;---------------定时器-------------------------------------
INTT0:     PUSH  Acc
                PUSH  PSW                       
                MOV  TL0,#00H
                MOV  TH0,#4CH                                    
         DJNZ   R1,LDP

        CPL   p1.2       ;每0.5秒取反闪动        
        MOV   R1,#10
                  
LDP:POP  PSW
       POP  Acc
RETI


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:213173 发表于 2023-11-26 18:44 | 只看该作者
芯片型号 : STC15W408AS

关于此芯片的重要说明:
  有定时器0和定时器2 (注意:无定时器1, 有3路CCP可作3个定时器使用)
  有比较器 (可当作一路ADC使用)
  有SPI (可为主模式和从模式)
  有3路PCA/PWM/CCP (可用作DAC)
  有8通道10位精度的A/D
回复

使用道具 举报

板凳
ID:161164 发表于 2023-11-27 08:57 | 只看该作者
沙发正解
STC-ISP有串口1定时器2波特率的例程


回复

使用道具 举报

地板
ID:276663 发表于 2023-11-27 13:12 | 只看该作者
沙发正解,没有T1定时器!请使用T0或T2
回复

使用道具 举报

5#
ID:76044 发表于 2023-11-27 14:06 | 只看该作者
那个例程试过了没成功,哪位高手帮帮忙
回复

使用道具 举报

6#
ID:161164 发表于 2023-11-27 16:37 | 只看该作者
lxm41577 发表于 2023-11-27 14:06
那个例程试过了没成功,哪位高手帮帮忙

把改过的代码贴上来看看
回复

使用道具 举报

7#
ID:76044 发表于 2024-4-12 15:10 | 只看该作者
经过多次失败,结局是好的,成功了
以这个程序为基础已经成功制作了GPS时钟  

IE2           EQU     0AFH        //中断控制寄存器2
AUXR        EQU     08EH        //辅助寄存器
T2H         DATA    0D6H        //定时器2高8位
T2L         DATA    0D7H        //定时器2低8位

BUSY    BIT   20H.0               //忙标志位
;====================================
  ORG    0000H
  LJMP   START

ORG   0026H         ;串行中断
LJMP   GPS

        ORG  00100H
;===============================
;串口初始化,波特率9600

                   MOV   SCON,#50H                  
                   ORL   IE2,#01H                     
                   ORL   AUXR,#04H                    
                   MOV   T2L,#0E0H                  
                   MOV   T2H,#0FEH                  
                   ORL   AUXR,#10H                    
                   SETB  EA                          
                   SETB  ES                  
;===============================
GPS:PUSH  ACC
       PUSH  PSW
                              
             JNB RI,$
            CLR   RI                        
              MOV   P1,SBUF      ;收到数据在P1口显示           
              SETB   BUSY  
                        
    POP   PSW
    POP   ACC                                                              

RETI  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表