打印
[KungFu8位 MCU]

T1H与T1L寄存器的数值是怎么配置?

[复制链接]
1456|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
折腾无止境|  楼主 | 2017-12-13 09:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/****************************************************************************************
*
* 文件名: main.c
* 项目名: T1
* 版 本: v1.0
* 日 期: 2017年12月12日 20时30分30秒
* 作 者: Administrator
*
****************************************************************************************/
#include<KF8TS2716.h>
/****************************************************************************************
* 函数名:   init_mcu
* 函数功能:mcu初始化函数
* 入口参数:无
* 返回:       无
****************************************************************************************/
#define uint unsigned int
uint time;
void init_mcu()
{
        /***时钟初始化****/
        OSCCTL = 0x70;          //设置为16M
        /***端口初始化****/
        TR0 = 0x08;                                //设置VPP P03端口为输入,P0其他I/O口为输出
        TR1 = 0x00;                                //设置P1端口为输出
        TR2 = 0x00;                                //设置P2端口为输出
        TR3 = 0x00;                                //设置P3端口为输出
//        TR4 = 0x00;
        P0 = 0;
        P1 = 0;
        P2 = 0;
        P3 = 0;
//        P4 = 0;
}
/****************************************************************************************
* 函数名:   init_T1
* 函数功能:T0初始化函数
* 入口参数:无
* 返回:       无
****************************************************************************************/
void init_T1()
{

        T1H = 100;
        T1L = 100;           //定时25us
        T1CTL = 0x01;  //启动T1
        T1IF = 0;      //清除T1中断标志
        T1IE = 1;           //T1中断使能
        PUIE = 1;      //使能外设中断
        AIE  = 1;      //使能全局变化中断
}
void Tim_Delay(void)
{
     if(time != 0)
     {
        time--;
     }
}
void Tim_Time(uint utime)
{
   time = utime;
   while(time != 0);
}
//主函数
void main()
{
        init_mcu();
        init_T1();
        while(1)
        {
                P34 = 1;
                Tim_Time(10000);
                P34 = 0;
            Tim_Time(10000);
        }
}
//中断函数
void int_fun() __interrupt
{
        if(T1IF)
        {
                T1IF=0;
                T1H = 100;
                T1L = 100;           //定时25us
                //P34=!P34;
                Tim_Delay();
        }
}


沙发
ylslib| | 2017-12-22 07:26 | 只看该作者
和51定时器是一样的高,定时器的高8位和低8位,16位的定时器。

使用特权

评论回复
板凳
HKingS| | 2017-12-24 08:33 | 只看该作者
ylslib 发表于 2017-12-22 07:26
和51定时器是一样的高,定时器的高8位和低8位,16位的定时器。

指令应该是和51还是有所区别的吧

使用特权

评论回复
地板
poijhgvfcd| | 2017-12-24 19:31 | 只看该作者
用C语言的话,就不管那么多了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

65

帖子

0

粉丝