打印
[牛人杂谈]

新唐N76e003 单片机程序分析

[复制链接]
1149|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xinpian101|  楼主 | 2019-6-16 17:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#ifdef FOSC_160000                // if Fsys = 16MHz 



                #define TIMER_DIV12_VALUE_10us                        65536-13                //13*12/16000000 = 10 uS,                          // Timer divider = 12 for TM0/TM1

                #define TIMER_DIV12_VALUE_100us                        65536-130                //130*12/16000000 = 10 uS,                  // Timer divider = 12

                #define TIMER_DIV12_VALUE_1ms                                65536-1334        //1334*12/16000000 = 1 mS,                          // Timer divider = 12

16M时钟,12分频后定时器的周期为16/12 us,所以1ms=1000*16/12 约为1334

每个单位为1ms
void Timer0_Delay1ms(UINT32 u32CNT)
{
    clr_T0M;                                                //T0M=0, Timer0 Clock = Fsys/12 定时器0 12分频
    TMOD |= 0x01;                                           //Timer0 is 16-bit mode  16位定器/计数器
    set_TR0;                                                //Start Timer0  开启
    while (u32CNT != 0)
    {
        TL0 = LOBYTE(TIMER_DIV12_VALUE_1ms);                 //Find  define in "Function_define.h" "TIMER VALUE"
        TH0 = HIBYTE(TIMER_DIV12_VALUE_1ms);      //高8位和低8位设置相应值
        while (TF0 != 1);                                   //Check Timer0 Time-Out Flag  等待溢出
        clr_TF0;                                            //清除溢邮
        u32CNT --;
    }
    clr_TR0;                                                //Stop Timer0  定时器0停止
}





使用特权

评论回复
沙发
xinpian101|  楼主 | 2019-6-16 17:51 | 只看该作者
主要是个定时器的说明,希望大家都会啊,我就不多说了

使用特权

评论回复
板凳
heisexingqisi| | 2019-6-16 19:27 | 只看该作者
时钟,分频,延时,丁思琪。

使用特权

评论回复
地板
heisexingqisi| | 2019-6-16 19:28 | 只看该作者
定时器
一不小心打出个很美的名字。

使用特权

评论回复
5
小明的同学| | 2019-6-16 23:02 | 只看该作者
震荡电路真是好用

使用特权

评论回复
6
小灵通2018| | 2019-6-16 23:29 | 只看该作者
分频延时。

使用特权

评论回复
7
小明的同学| | 2019-6-17 09:10 | 只看该作者
好像还可以调整原始时钟的频率。

使用特权

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

本版积分规则

113

主题

1467

帖子

1

粉丝