找回密码
 立即注册

QQ登录

只需一步,快速开始

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

8G1K08A单片机0.5MHZ定时器测试

[复制链接]
跳转到指定楼层
楼主
在测试8G1K08A定时器时,发现分频寄存器有很大出入准备4M烧写频率,内部分频1/8。频率500khz.
实际实验,定时器时间都是快一倍,T0计算20ms,实际10ms,T1计算500ms,实际250ms
程序如下:


        ORG  00H
        AJMP MAIN
        ORG         0BH
        LJMP T0_0        ;定时器0(20ms定时扫描按键)
         ORG         1BH
        LJMP T1_0        ;定时器1(500ms闪烁点用)
        ORG  100H
;=======================STC8G1K08A:定时器0、定时器1====================
MAIN:
        MOV A,#0
        MOV P3M1,A
        MOV P3M0,A
        MOV P5M1,A
        MOV P5M0,A        
        MOV        SP,        #60h

        MOV  P_SW2,#80h
        MOV  A,#00H
        MOV  DPTR,#CLKSEL ;内部IRC
        MOVX @DPTR,A
        MOV  A,#8           ;将这里改成16,就能实现500ms和20ms定时。
        MOV  DPTR,#CLKDIV ;1/8分频,4M/8=500KHZ
        MOVX @DPTR,A
        MOV  P_SW2,#00h

        MOV  IE,#10001010B;允许T0、T1中断
        MOV TMOD,#00000000B        ;T0定时模式0(自动重载),T1定时模式0(自动重载)
        MOV AUXR,#00000000B        ;T0=分频模式;T1=分频模式
        MOV        TL0,#0BFH;20毫秒@500KHz
        MOV        TH0,#0FCH                                
        MOV        TL1,#09FH;500毫秒@500KHz
        MOV        TH1,#0AEH
        CLR TF0
        CLR TF1
        SETB TR1
        SETB TR0

        JMP $         ;等待

;================T1定时500ms=====================
T1_0:
        PUSH ACC
        PUSH PSW
        CPL P3.0 ;每0.5秒取反一次
        CLR TF1
        pop psw
        pop acc
        RETI
;===============T0定时20ms=============================
T0_0:
        PUSH ACC
        PUSH PSW
        CPL P3.1 ;每0.02秒取反一次
        pop psw
        pop acc
        CLR TF0
        RETI
;=============================================
END





程序很简单的,哪里少设置了吗,有人遇到这样的问题吗




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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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