找回密码
 立即注册

QQ登录

只需一步,快速开始

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

关于STC15F104E单片机定时器1的使用

[复制链接]
跳转到指定楼层
楼主
单片机小白,最近使用STC15F104E单片机的板子,不知为何使用不了定时器1,但在51单片机的板子上就可以使用同样的代码。而且,同样的代码改成定时器0(将开关TR1,ET1 改成ET0,TR0,interrupt 3 改成 interrupt 1,TMOD值改成0x01)也可以使用定时器0,到底是哪里出错了呢?求各位大佬帮助
#include <reg52.h>
sbit led=P3^3;  //输出口
float num=0;
static float a=0.4;



void main()
{
        TMOD=0x10;//定时器1方式1
        TH1=(65536-45872)/256;    //装入50ms中断的初值
        TL1=(65536-45872)%256;
        EA=1;
        ET1=1;
        TR1=1;
        
        while(1);
}




void Timer1() interrupt 3 //生成50ms*100=5s周期,占空比为0.4*100=40%的PWM波
{

TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
num++;
        
        if(num<=a*100)
        {
        led=0;
        }
        else if(num>=100)  
        {
        led=1;
        num=0;
        }
        else
        {
        led=1;
        }
}        

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

使用道具 举报

沙发
ID:480373 发表于 2019-4-4 16:55 | 只看该作者
第一次发帖不太规范,各位见谅
回复

使用道具 举报

板凳
ID:480373 发表于 2019-4-4 16:57 | 只看该作者
不好意思,装初值那都是
TH1=(65536-45872)/256;
TL1=(65536-45872)%256;
回复

使用道具 举报

地板
ID:213173 发表于 2019-4-5 07:09 | 只看该作者
IIIsolation 发表于 2019-4-4 16:57
不好意思,装初值那都是
TH1=(65536-45872)/256;
TL1=(65536-45872)%256;

16位自动重载模式,中断里不要给TH1、TL1赋重载值。
void Timer1Init(void)                //50毫秒@11.0592MHz
{
        AUXR &= 0xBF;                //定时器时钟12T模式
        TMOD &= 0x0F;                //设置定时器模式
        TL1 = 0x00;                //设置定时初值
        TH1 = 0x4C;                //设置定时初值
        TF1 = 0;                //清除TF1标志
        TR1 = 1;                //定时器1开始计时
}
回复

使用道具 举报

5#
ID:644425 发表于 2019-11-18 17:10 来自触屏版 | 只看该作者
首先,tmod的模式二,不是很好,最好换成模式一,即,TMOD = 0X00,其次,你确定你用的是stc15f104e么? 这板子问题很大,基本都召回了,现在一般买到都是替代产品,stc15f104w,你确认一下,最后字母到底是e还是w,如果是w,那么没有T1,只有T2。你这定时器自然就跑不起来了。
回复

使用道具 举报

6#
ID:47286 发表于 2019-11-18 18:25 | 只看该作者
楼主 你不看手册吗


回复

使用道具 举报

7#
ID:25310 发表于 2019-11-19 08:39 | 只看该作者
我正在想这个没定时器1的啊,楼上上图好直接
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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