打印
[通用8051核FLASH系列]

HC89F003F4开发板试用心得之 --测试自带Tim1定时器

[复制链接]
1225|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sopc12|  楼主 | 2018-3-21 11:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 芯圣电子官方QQ 于 2023-7-20 11:15 编辑

收到开发板有段时间了,昨天才有空测试一下。
首先感谢21IC,感谢芯圣。
再次来个拆包

然后来个测试Tim1定时器,
#define ALLOCATE_EXTERN
#include "HC89S003F4.h"

/***************************************************************************************
  * @ʵÏÖЧ¹û        T1¶¨Ê±Ê±¼ä1ms£¬Ã¿1ms½øÈëÒ»´ÎÖжϣ¬P22·­×ª
***************************************************************************************/
int main()
{
/************************************ϵͳ³õʼ»¯****************************************/
        WDTCCR = 0x00;                                                //¹Ø±Õ¿´ÃŹ·
        while((CLKCON&0x20)!=0x20);                        //µÈ´ýÄÚ²¿¸ßƵRCÆðÕñ
        CLKSWR = 0x51;                                                //Ñ¡ÔñÄÚ²¿¸ßƵʱÖÓΪÖ÷ʱÖÓ£¬ÄÚ²¿¸ßƵRC2·ÖƵ£¬Fosc=16MHz
        while((CLKSWR&0xC0)!=0x40);                        //µÈ´ýÄÚ²¿¸ßƵÇл»Íê³É
        CLKDIV = 0x01;                                                //Fosc1·ÖƵµÃµ½Fcpu£¬Fcpu=16MHz
/**********************************Ïà¹ØÅäÖóõʼ»¯**************************************/
        P2M1 = P2M1&0xF0|0x08;                                //P22ÉèÖÃΪÍÆÍìÊä³ö
/**********************************TIM1ÅäÖóõʼ»¯**************************************/
        TCON1 = 0x00;                                                //T1¶¨Ê±Æ÷ʱÖÓΪFosc
        TMOD = 0x00;                                                //16λÖØ×°Ôض¨Ê±Æ÷/¼ÆÊýÆ÷

        //Tim1¼ÆËãʱ¼ä         = (65536 - 0xFACB) * (1 / (Fosc /Timer·ÖƵϵÊý))
        //                                = 1333 / (16000000 / 12)
        //                                = 1 ms

        //¶¨Ê±1ms
        //·´ÍƳõÖµ         = 65536 - ((1/1000) / (1/(Fosc / Timer·ÖƵϵÊý)))
        //                           = 65536 - ((1/1000) / (1/(16000000 / 12)))
        //                        = 65536 - 1333
        //                        = 0xFACB
        TH1 = 0xFA;
        TL1 = 0xCB;
        IE |= 0x08;                                                        //´ò¿ªT1ÖжÏ
        TCON |= 0x40;                                                //ʹÄÜT1

        EA = 1;                                                                //´ò¿ª×ÜÖжÏ
        while(1);
    return 0;
}

/***************************************************************************************
  * @˵Ã÷          T1ÖжϷþÎñº¯Êý
  *        @²ÎÊý        ÎÞ
  * @·µ»ØÖµ ÎÞ
  * @×¢                ÎÞ
***************************************************************************************/
void TIMER1_Rpt(void) interrupt TIMER1_VECTOR
{
        P2_2 =~ P2_2;                                                //P22·­×ª
}

,最后来个点灯


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

本版积分规则

5

主题

430

帖子

3

粉丝