Добавил:
lelik
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные МПр / код / lab4 / lab_pwm / main
.c#include <lpc17xx.h>
int main (void)
{
LPC_SC->PCONP |= 1<<6; //default = 1
LPC_SC->PCLKSEL0 |= 00<<12; //CCLK/4
LPC_PINCON->PINSEL4 |= 0x01<<4 //Connect PWM1.3 to pin 2.2
// | 0x01<<6 //Connect PWM1.4 to pin 2.3
| 0x01<<8; //Connect PWM1.5 to pin 2.4
// | 0x01<<10; //Connect PWM1.6 to pin 2.5
LPC_PWM1->PCR |= 0x01<<11 //Enable PWM 3 output
// | 0x01<<12 //Enable PWM 4 output
| 0x01<<13; //Enable PWM 5 output
// | 0x01<<14; //Enable PWM 6 output
LPC_PWM1->PCR |= 0x01<<3 // упр. одним перепадом для PWM3
// | 0x00<<4 // упр. одним перепадом для PWM4
| 0x01<<5; // упр. одним перепадом для PWM5
// | 0x00<<6; // упр. одним перепадом для PWM6
LPC_PWM1->MCR = 0x00000002; //сброс при совпадении для канала 0
LPC_PWM1->PR = 0x00000000; //Load prescaler
LPC_PWM1->MR0 = 6000000/4; //set cycle rate to one second //регистры совпаденя
LPC_PWM1->MR1 = 6000000/8; //set duty cycle to 50%
LPC_PWM1->MR2 = 3000000/8; //set duty cycle to 50%
LPC_PWM1->MR3 = 6000000/8; //set duty cycle to 50%
LPC_PWM1->MR4 = 1000000/8; //set duty cycle to 50%
LPC_PWM1->MR5 = 3000000/8; //set duty cycle to 50%
LPC_PWM1->MR6 = 6000000/8; //set duty cycle to 50%
LPC_PWM1->LER = 0x00000079; //enable shadow latch for match 0,3-6
LPC_PWM1->TCR = 0x00000002; //Reset counter and prescaler
LPC_PWM1->TCR = 0x00000009; //enable PWM - 01<<8(режим таймера), release counter
while(1)
{
}
}