1. . , . .
2. , : .
3. .
.
- IAR Kick Start Embedded Workbench IDE
- F2013G2553
- - C
- , Rebuild All
- Debug
- PrintScreen
A
Red LED PWM | Green LED PWM | |
0.2 | ||
0.4 | ||
0.5 | ||
0.6 | ||
0.7 | ||
0.8 | ||
0.2 | ||
0.4 | ||
0.5 | ||
0.6 | ||
0.7 | ||
0.8 |
;*******************************************************************
;
; ACLK = n/a, MCLK = SMCLK = default DCO
;
; MSP430x2xx
; -----------------
; /|\| XIN |-
; | | |
; --|RST XOUT|-
; | |
; | P1.0|àRed LED
; | P1.6|àGreen LED
;
; Mart 2013
; Built with IAR Embedded Workbench Version
;*******************************************************************
// use PWM
#include "msp430.h"
#define LED1 BIT0
#define LED2 BIT6
#define LED_DIR P1DIR
#define LED_OUT P1OUT
int main(void)
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
unsigned int i,j,k;
LED_DIR |= LED1 + LED2;
LED_OUT &= ~(LED1 + LED2);
for(;;)
{
i=5; // PWM = 5 %
P1OUT = 0x41;
j=i; // SW Delay
do j--;
while (j!= 0);
P1OUT = 0;
k = 100-i; // SW Delay
do k--;
while (k!= 0);
}
}
3
MSP430 C
1. . , . .
2. , : .
3. .
.
|
|
- IAR Kick Start Embedded Workbench IDE
- F2013G2553
- - C
- , Rebuild All
- Debug
- PrintScreen
A
Red LED | 0.1 | 0.3 | 0.5 | |
Green LED |
Red LED | ||||
Green LED | 0.3 | 0.6 |
Red LED | ||||
Green LED | 0.5 | 0.3 |
Red LED | 0.5 | 0.3 | ||
Green LED |
Red LED | 0.3 | 0.5 | ||
Green LED | 0.5 |
Red LED | 0.6 | 0.3 | ||
Green LED | 0.5 |
Red LED | 0.3 | 0.6 | ||
Green LED |
Red LED | ||||
Green LED | 0.3 | 0.6 |
Red LED | ||||
Green LED | 0.6 | 0.3 |
Red LED | 0.6 | 0.3 | ||
Green LED |
Red LED | 0.3 | |||
Green LED | 0.5 |
Red LED | 0.7 | |||
Green LED | 0.8 | 0.7 |
;*******************************************************************
;
; ACLK = n/a, MCLK = SMCLK = default DCO
;
; MSP430x2xx
; -----------------
; /|\| XIN |-
; | | |
; --|RST XOUT|-
; | |
; | P1.0|-->Red LED
; | P1.6|-->Green LED
;
; Mart 2013
;*******************************************************************
// use PWM
#include "msp430.h"
#define LED1 BIT0
#define LED2 BIT6
#define LED_DIR P1DIR
#define LED_OUT P1OUT
int main(void)
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
// Stop WDT
unsigned int i,j,k;
LED_DIR |= LED1 + LED2;
LED_OUT &= ~(LED1 + LED2);
for(;;)
{
for(z=0;z<10000;z++)
{
i=40; // PWM = 40 %
P1OUT = 0x40; // Green LED
j=i; // SW Delay
do j--;
while (j!= 0);
P1OUT = 0;
k = 100-i; // SW Delay
do k--;
while (k!= 0);
}
for(z=0;z<10000;z++)
{
i=30; // PWM = 30 %
P1OUT = 0x1; // Red LED
j=i; // SW Delay
do j--;
while (j!= 0);
P1OUT = 0;
k = 100-i; // SW Delay
do k--;
while (k!= 0);
}
for(z=0;z<10000;z++)
{
i=100; // PWM = 100 %
P1OUT = 0x1; // Red LED
j=i; // SW Delay
do j--;
while (j!= 0);
P1OUT = 1;
k = 100-i; // SW Delay
do k--;
while (k!= 0);
}
for(z=0;z<10000;z++)
{
i=50; // PWM = 50 %
P1OUT = 0x40; // Green LED
j=i; // SW Delay
do j--;
while (j!= 0);
P1OUT = 0;
k = 100-i; // SW Delay
do k--;
while (k!= 0);
}
for(z=0;z<10000;z++)
{
i=1; // PWM = 1 %
P1OUT = 0x40; // Green LED
j=i; // SW Delay
do j--;
while (j!= 0);
P1OUT = 0;
k = 100-i; // SW Delay
|
|
do k--;
while (k!= 0);
}
}
4