⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pwm.h

📁 MPC82x52系列MCU,PWM演示編程,採用KeilC發展
💻 H
字号:
/* Example 12.059 Mhz crystal
 * Tpca count=1/Fosc/2=1/6/2=0.193us
 * Tpwm=256 * 0.193=49.42us
 * Edited by: Peter Lin  
 * tel:03-5750050 Mail: peter@megawin.com.tw
 * Copyright (c) 2006 Megawin Techology Co. Ltd.,.
 * Please read file read.me for copyright notice.
 * This file is an example to use PWM CCAP Mode.*/

/*include megawin header file */

#include "reg82xx.h"


sfr ADCON = 0xC5 ;
sfr ADC   = 0xC6 ;
sfr P1SF  = 0x97 ;

// void SYSCLK_Init (void);
// void PORT_Init (void);
// void Key_delay(void);

void SYSCLK_Init (void)
    {
             CCAPM0 |=0x42;                                    //PCA Module 0 Mode "0xDA"
               CMOD |=0x02;                                    //Set PCA frequency divided by 2
            PCAPWM0 |=0x01;                                    //PCA Module 0 Mode "0xDA"
             CCAP0L  = 0x10;                                   // PWM duty cycle (%) = ( (256 - CCAPxH) / 256 )* 100
              CCAP0H = 0x10;
              AUXR &= 0x7F  ;                                  //set  clock source for T0 as the crystal frequency divided by 12.
               AUXR &= 0xBF ;                                  //set  clock source for T1 as the crystal frequency divided by 12.
               AUXR &= 0xDF ;                                  //set  Baudrate function as the crystal frequency divided by 12.
    }

 void PORT_Init (void)
    {
               AUXR |=0x10;                                   //Enable inturrept from A/D converter
                 IE |=0x40;                                   //Enable PCA & Low - voltage -detector
                 IE |=0x20;                                   //Enable SPI & ADC interrupt
                 IE |=0x40;                                   //Enable PCA & Low - voltage -detector
                 IE |=0x02;                                   //Enable Timer 0 inturrept , "ET0" bit
                 IE |=0x01;                                   //Enable external inturrept 0 ,"EX0" bit
               P1M0 |=0x00;                                   // Set CEX0/P3.7 to Push Pull output
               P1M1 |=0x80;                                   // Set CEX0/P3.7 to Push-Pull Out-Put
   
    }
   
void key_delay(void)
    {
     int key_1ms=0;
     while(key_1ms<2000)
     {
          key_1ms+=1;
     }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -