- /*---------------------------------------------------------------------------------------------------------*/
- /* */
- /* Copyright(c) 2019 Nuvoton Technology Corp. All rights reserved. */
- /* */
- /*---------------------------------------------------------------------------------------------------------*/
- //***********************************************************************************************************
- // Website: http://www.nuvoton.com
- // E-Mail : MicroC-8bit@nuvoton.com
- // Date : Jan/21/2019
- //***********************************************************************************************************
- //***********************************************************************************************************
- // File Function: ML51 GPIO toggle demo code
- //***********************************************************************************************************
- #include "ML51.H"
- #include "math.h"
- //----------------------------------------------------------------------------------------------//
- void main (void)
- {
- int i=0;
- unsigned int j=0;
- const unsigned char cie[256] = {
- 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 3, 3, 3, 3, 3, 3, 3,
- 3, 4, 4, 4, 4, 4, 4, 5, 5, 5,
- 5, 5, 6, 6, 6, 6, 6, 7, 7, 7,
- 7, 8, 8, 8, 8, 9, 9, 9, 10, 10,
- 10, 10, 11, 11, 11, 12, 12, 12, 13, 13,
- 13, 14, 14, 15, 15, 15, 16, 16, 17, 17,
- 17, 18, 18, 19, 19, 20, 20, 21, 21, 22,
- 22, 23, 23, 24, 24, 25, 25, 26, 26, 27,
- 28, 28, 29, 29, 30, 31, 31, 32, 32, 33,
- 34, 34, 35, 36, 37, 37, 38, 39, 39, 40,
- 41, 42, 43, 43, 44, 45, 46, 47, 47, 48,
- 49, 50, 51, 52, 53, 54, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
- 68, 70, 71, 72, 73, 74, 75, 76, 77, 79,
- 80, 81, 82, 83, 85, 86, 87, 88, 90, 91,
- 92, 94, 95, 96, 98, 99, 100, 102, 103, 105,
- 106, 108, 109, 110, 112, 113, 115, 116, 118, 120,
- 121, 123, 124, 126, 128, 129, 131, 132, 134, 136,
- 138, 139, 141, 143, 145, 146, 148, 150, 152, 154,
- 155, 157, 159, 161, 163, 165, 167, 169, 171, 173,
- 175, 177, 179, 181, 183, 185, 187, 189, 191, 193,
- 196, 198, 200, 202, 204, 207, 209, 211, 214, 216,
- 218, 220, 223, 225, 228, 230, 232, 235, 237, 240,
- 242, 245, 247, 250, 252, 255,
- };
-
- //PWM时钟源为系统时钟FSYS
- PWM0_ClockSource(PWM_FSYS,128);
- MFP_P03_PWM0_CH2;
- P03_PUSHPULL_MODE;
- PWM0_ConfigOutputChannel(2,Independent,EdgeAligned,0x6FF,100);
- PWM0_RUN();
- while(1)
- {
- for(i=0;i<=255;i++)
- {
- Timer3_Delay(24000000,4,1,10000);
- set_PWM0CON0_LOAD;
- // PWM0_ConfigOutputChannel(2,Independent,EdgeAligned,0x6FF,i);
- SFRS = 0x01;
- //设置周期
- PWM0PH = 0;
- PWM0PL = 255;
- //设置 高电平,高电平除以周期就是占空比
- PWM0C2H=0;
- PWM0C2L=cie[i];
-
- }
- for(i=255;i>=0;i--)
- {
- Timer3_Delay(24000000,4,1,10000);
- set_PWM0CON0_LOAD;
- // PWM0_ConfigOutputChannel(2,Independent,EdgeAligned,0x6FF,i);
- SFRS = 0x01;
- PWM0PH = 0;
- PWM0PL = 255;
- PWM0C2H=0;
- PWM0C2L=cie[i];
-
- }
- }
- }