/*---------------------------------------------------------------------------------------------------------*/ /* */ /* Copyright(c) 2016 Nuvoton Technology Corp. All rights reserved. */ /* */ /*---------------------------------------------------------------------------------------------------------*/ //*********************************************************************************************************** // Nuvoton Technoledge Corp. // Website: http://www.nuvoton.com // E-Mail : MicroC-8bit@nuvoton.com // Date : Apr/21/2016 //*********************************************************************************************************** //*********************************************************************************************************** // File Function: N76E003 Clock Output demo code //*********************************************************************************************************** #include <stdio.h> #include "N76E003.h" #include "Common.h" #include "Delay.h" #include "SFR_Macro.h" #include "Function_define.h" //====================================================================================================== void main(void) { /* Note MCU power on system clock is HIRC (16.0000MHz), if need change Fsys source pleaes copy hange system closk source demo */ Set_All_GPIO_Quasi_Mode; //in Function_define.h set_CLOEN; //System Clock Output Enable // Please measure P1.1 (CLO) pin for system clock output, it should as system clock; while(1) { clr_GPIO1; Timer0_Delay1ms(500); set_GPIO1; Timer0_Delay1ms(500); } /* =================== */ }
收藏0 举报
/*---------------------------------------------------------------------------------------------------------*/ /* */ /* Copyright(c) 2016 Nuvoton Technology Corp. All rights reserved. */ /* */ /*---------------------------------------------------------------------------------------------------------*/ //*********************************************************************************************************** // Nuvoton Technoledge Corp. // Website: http://www.nuvoton.com // E-Mail : MicroC-8bit@nuvoton.com // Date : Apr/21/2016 //*********************************************************************************************************** #include "N76E003.h" #include "Common.h" #include "Delay.h" #include "SFR_Macro.h" #include "Function_define.h" bit BIT_TMP; //------------------------------------------------------------------------- void Timer0_Delay100us(UINT32 u32CNT) { clr_T0M; //T0M=0, Timer0 Clock = Fsys/12 TMOD |= 0x01; //Timer0 is 16-bit mode set_TR0; //Start Timer0 while (u32CNT != 0) { TL0 = LOBYTE(TIMER_DIV12_VALUE_100us); //Find define in "Function_define.h" "TIMER VALUE" TH0 = HIBYTE(TIMER_DIV12_VALUE_100us); while (TF0 != 1); //Check Timer0 Time-Out Flag clr_TF0; u32CNT --; } clr_TR0; //Stop Timer0 } //------------------------------------------------------------------------------ void Timer0_Delay1ms(UINT32 u32CNT) { clr_T0M; //T0M=0, Timer0 Clock = Fsys/12 TMOD |= 0x01; //Timer0 is 16-bit mode 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); while (TF0 != 1); //Check Timer0 Time-Out Flag clr_TF0; u32CNT --; } clr_TR0; //Stop Timer0 } //------------------------------------------------------------------------------ void Timer1_Delay10ms(UINT32 u32CNT) { clr_T1M; //T1M=0, Timer1 Clock = Fsys/12 TMOD |= 0x10; //Timer1 is 16-bit mode set_TR1; //Start Timer1 while (u32CNT != 0) { TL1 = LOBYTE(TIMER_DIV12_VALUE_10ms); //Find define in "Function_define.h" "TIMER VALUE" TH1 = HIBYTE(TIMER_DIV12_VALUE_10ms); while (TF1 != 1); //Check Timer1 Time-Out Flag clr_TF1; u32CNT --; } clr_TR1; //Stop Timer1 } //------------------------------------------------------------------------------ void Timer2_Delay500us(UINT32 u32CNT) { clr_T2DIV2; //Timer2 Clock = Fsys/4 clr_T2DIV1; set_T2DIV0; set_TR2; //Start Timer2 while (u32CNT != 0) { TL2 = LOBYTE(TIMER_DIV4_VALUE_500us); //Find define in "Function_define.h" "TIMER VALUE" TH2 = HIBYTE(TIMER_DIV4_VALUE_500us); while (TF2 != 1); //Check Timer2 Time-Out Flag clr_TF2; u32CNT --; } clr_TR2; //Stop Timer2 } //------------------------------------------------------------------------------ void Timer3_Delay100ms(UINT32 u32CNT) { T3CON = 0x07; //Timer3 Clock = Fsys/128 set_TR3; //Trigger Timer3 while (u32CNT != 0) { RL3 = LOBYTE(TIMER_DIV128_VALUE_100ms); //Find define in "Function_define.h" "TIMER VALUE" RH3 = HIBYTE(TIMER_DIV128_VALUE_100ms); while ((T3CON&SET_BIT4) != SET_BIT4); //Check Timer3 Time-Out Flag clr_TF3; u32CNT --; } clr_TR3; //Stop Timer3 } //------------------------------------------------------------------------------ void Timer3_Delay10us(UINT32 u32CNT) { T3CON = 0x07; //Timer3 Clock = Fsys/128 set_TR3; //Trigger Timer3 while (u32CNT != 0) { RL3 = LOBYTE(TIMER_DIV4_VALUE_10us); //Find define in "Function_define.h" "TIMER VALUE" RH3 = HIBYTE(TIMER_DIV4_VALUE_10us); while ((T3CON&SET_BIT4) != SET_BIT4); //Check Timer3 Time-Out Flag clr_TF3; u32CNT --; } clr_TR3; //Stop Timer3 }
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
人才类勋章
发帖类勋章
等级类勋章
时间类勋章
196
2465
8
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注电源系统设计
扫码关注21ic项目外包
扫码浏览21ic手机版
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才
京公网安备 11010802024343号