HC89S003F4开发板9ASM写定时器1

Posted yywblogw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HC89S003F4开发板9ASM写定时器1相关的知识,希望对你有一定的参考价值。

HC89S003F4开发板ASM写定时器1

一、实现过程

1、外部寄存器设置

技术图片

  • 扩展 XSFR 采用和 XRAM 同样的访问方式,使用 MOVX A, @DPTR 和 MOVX @DPTR ,A 来进行读写。
WDTCCR  EQU     0FEA0H
    CLR     A
    MOV     DPTR,#WDTCCR
    MOVX    @DPTR,A ; 关闭看门狗

2、设置定时器1

  • 定时器计算方法
    • 公式: 65536 - ((1/1000) / (1/(Fosc / Timer分频系数)))
    • Fosc=16000000,Timer分频系数=12
    • 得到反推值 0xFACB
EA      BIT     0A8H.7
TCON    DATA    088H
IE      DATA    0A8H
TL1     DATA    08BH
TH1     DATA    08DH
TMOD    DATA    089H
TCON1   EQU     0FE80H
CLR     A
MOV     DPTR,#TCON1
MOVX    @DPTR,A
MOV     TMOD,A
MOV     TH1,#0FAH
MOV     TL1,#0CBH
ORL     IE,#08H
ORL     TCON,#040H
SETB    EA

3、程序地址定位

技术图片

程序前80H作为中断向量地址需要跳过,并且使用了T1中断需要添加转移

ORG 00H
AJMP MAIN  
ORG 01BH
AJMP TIME1 
ORG 80H

二、完整程序

  • @实现效果:led闪烁
$NOMOD51
P0_0    BIT     080H.0
EA      BIT     0A8H.7
TCON    DATA    088H
IE      DATA    0A8H
TL1     DATA    08BH
TH1     DATA    08DH
TMOD    DATA    089H
CLKSWR  DATA    08EH
WDTCCR  EQU     0FEA0H
CLKDIV  EQU     0FE91H
TCON1   EQU     0FE80H
P0M0    EQU     0FF00H
        ORG 00H
        AJMP MAIN  
        ORG 01BH
        AJMP TIME1 
        ORG 80H
MAIN:
    USING   0
    MOV     R0, #00H
    CLR     A
    MOV     DPTR,#WDTCCR
    MOVX    @DPTR,A
    
    MOV     CLKSWR,#051H
    MOV     DPTR,#CLKDIV
    INC     A
    MOVX    @DPTR,A
    MOV     DPTR,#P0M0
    MOVX    A,@DPTR
    ANL     A,#0F0H
    ORL     A,#08H
    MOVX    @DPTR,A
    CLR     A
    MOV     DPTR,#TCON1
    MOVX    @DPTR,A
    MOV     TMOD,A
    MOV     TH1,#0FAH
    MOV     TL1,#0CBH
    ORL     IE,#08H
    ORL     TCON,#040H
    SETB    EA
DELAY:
    SJMP    DELAY


TIME1:
    USING   0   
    CJNE    R0, #0C8H, exit
    CPL     P0_0    
    MOV     R0, #00H
exit:
    INC     R0
    RETI
    
    END
    

以上是关于HC89S003F4开发板9ASM写定时器1的主要内容,如果未能解决你的问题,请参考以下文章

HC89S003F4开发板 2调度器

HC89S003F4开发板 4端口消抖

HC89S003F4开发板 10汇编指令

51单片机系统板/开发板原理图以及烧写方法

STM32F4开发板硬件简介

STM32部分开发板的对比