Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- --------------------------------
- MSP 430
- Number Counter on Led 0.1
- Software developed by: Utroz(Raphael) and Kaddoush(Pablo)
- Blog: http://oakcoders.blogspot.com/
- --------------------------------
- */
- #include "io430.h"
- /* Bit 0x01 = LED_RED */
- #define LED_RED 0x01
- /* Bit 0x02 = LED_GREEN */
- #define LED_GREEN 0x02
- /* Padrões de Decremento */
- #define COUNT_RED 0x0A
- #define COUNT_GREEN 0x01
- /* Valores padrões */
- #define TIME 0xEA60
- #define NULL 0x00
- /* Tempo de Espera */
- void delay_time(volatile unsigned int i)
- {
- do (i--);
- while (i != NULL);
- }
- /* Inicializa Led Red */
- void start_led_red(void)
- {
- /* Porta respectiva ao Led Red */
- P1DIR |= LED_RED;
- /* Sobrecarga XOR na porta (Liga). */
- P1OUT ^= LED_RED;
- delay_time(TIME);
- /* Sobrecarga XOR na porta (Desliga). */
- P1OUT ^= LED_RED;
- delay_time(TIME);
- }
- /* Inicializa Led Green */
- void start_led_green(void)
- {
- /* Porta respectiva ao Led Green */
- P1DIR |= LED_GREEN;
- /* Sobrecarga XOR na porta (Liga). */
- P1OUT ^= LED_GREEN;
- delay_time(TIME);
- /* Sobrecarga XOR na porta (Desliga). */
- P1OUT ^= LED_GREEN;
- delay_time(TIME);
- }
- void main(void)
- {
- unsigned short int x;
- //Valor de entrada.
- x = 52;
- // Desativa o WatchDog Timer.
- WDTCTL = WDTPW + WDTHOLD;
- do
- {
- while(x >= COUNT_RED)
- {
- /* Chama a função do Led Red */
- start_led_red();
- x-= COUNT_RED;
- }
- /* Desliga a porta do Led */
- P1DIR &= NULL;
- while(x > (COUNT_GREEN-1))
- {
- /* Chama a função do Led Green */
- start_led_green();
- x-= COUNT_GREEN;
- }
- /* Desliga a porta do Led */
- P1DIR &= NULL;
- } while(x > NULL);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement