找回密码
 立即注册

QQ登录

只需一步,快速开始

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

请教大家合泰触摸单片机定时器设置问题

[复制链接]
跳转到指定楼层
楼主
ID:506093 发表于 2019-8-9 14:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序如下,请问这个初始化函数哪里出了问题?我是想设置1us中断的,结果变成20us才中断一次

单片机用的是BS66F360


void ctm0_Init(unsigned int us)                /ctm0初始化
{        
        /***********************设定定时器0的自加计数器每2us加1***************************/
        _ctm0c0=0b00100000;        //设置定时器的时钟源【fH16分频,即1MHz】 //系统时钟选择16MHz
        _ctm0c1=0b11000001;              //设定定时器0工作模式为:定时/计数模式,比较器A匹配产生中断
        
        /*************************定时器0每1us产生一次中断*****************************/
        _ctm0al=0x01;          //设置定时器0计数匹配值,数据手册中说明:写寄存器先写低位,读寄存器先读高位
        _ctm0ah=0x00;
         
        _ctm0af=0;                  //清零tm0中断标志位
        _ctm0ae=1;                  //使能tm0中断
        
        _mf0f=0;                  
        _mf0e=1;                                 //定时器0中断属于MFO中断
        
        _ct0on=1;
//        _t0on=1;                 //定时器0开始计时
}

void isr_tm0()
{
        _ctm0af=0;
        CLR_WDT();
        
        led_cnt++;
        if(led_cnt==50000)
        {
                led_cnt=0;
                led=~led;        
        }        
}


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

使用道具 举报

沙发
ID:401564 发表于 2019-8-9 17:28 | 只看该作者
在这,你要是问8051的话,会有很多人帮你的,你问合泰,估计用过的都没有几个,烧录器就四百多块钱,相比11块的STC烧录器,没的比呀
1,在烧录的界面看一下有没有系统时钟的选择
2,合泰的指令是4周期的,8051的是12周期的,注意区别一下
3,不要用50000那么大的数,用char型,代码会多几行,但效率会好很多
4,台系的单片机,能用汇编就用汇编,它们不比8051或者AVR之类,编译出错可能性会高很多


5,最重要的,我的话只能当个参考而已,很久没有用合泰了
回复

使用道具 举报

板凳
ID:302534 发表于 2019-8-9 18:45 | 只看该作者
不会,不好意思
回复

使用道具 举报

地板
ID:529540 发表于 2019-8-9 20:08 | 只看该作者
不知道你这型号的单片机怎么规定的,仔细看看规格书,总中断打开没?0185之类的我记得中断函数要打开比较器a,或p使能位,开定时器,开总中断,中断函数是写地址的。
回复

使用道具 举报

5#
ID:186895 发表于 2019-9-27 16:05 | 只看该作者
        _ctmc0 = 0b00100000;  //总线时钟16M,16分频,定时器停止
        _ctmc1 = 0b11000001; //定时/计数器模式,ctm比较器A匹配清除计数器
       
        _ctmal = 0xe8;//1000,定0.001S进一次中断,先写低再写高
        _ctmah = 0x03;
       
        _cton = 1;    //启动定时器
        _ctmae = 1;   //定时器ctm比较器A匹配中断请求
        _mf1e = 1;          //允许多功能中断1
楼主这是我写的HT66F019定时器初始化,你可以参考一下
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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