1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

code thực tập vi xử lý relay

5 582 2

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 13,63 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trang 1

// dùng SW1 và SW2 để điều khiển Relay theo nguyên tắc của cổng EX-OR (khi SW1 và SW2 cùng trạng thái thì Relay OFF, khi SW1 và SW2 khác trạng thái thì Relay ON)

#include "msp430f2419.h"

#include "intrinsics.h"

#define SW1 BIT2

#define SW2 BIT3

#define relay BIT4

void main( void )

{

WDTCTL = WDTPW + WDTHOLD;

P2DIR=0x00;

P4DIR=0xff;

P4OUT=0x00;

while(1)

{

if(!(P2IN&SW1))

{

delay_cycles(20000);

P4OUT=relay;

}

if(!(P2IN&SW2))

{

delay_cycles(20000);

P4OUT=relay;

if(!(P2IN&SW1))

{ if(!(P2IN&SW2))

{ delay_cycles(20000);

P4OUT=0x00;

while(!(P2IN&SW1));

}}

}}}

Trang 2

//relay đóng khi ấn đồng thời SW1 và SW2.

#include "msp430f2419.h"

#include "intrinsics.h"

#define SW1 BIT2

#define SW2 BIT3

#define relay BIT4

void main( void )

{

WDTCTL = WDTPW + WDTHOLD;

P2DIR=0x00;

P4DIR=0xff;

P4OUT=0x00;//cho relay lun ngat

while(1)

{

if(!(P2IN&SW1))

{ if(!(P2IN&SW2))

{

delay_cycles(20000);

P4OUT=relay;

while(!(P2IN&SW1));

}}

P4OUT=0x00;//ngat khi tha 2 phim (ko yeu cau thi khoi lam) }}

// ấn SW1 thì relay đóng, ấn SW2 thì relay ngắt

#include "msp430f2419.h"

#include "intrinsics.h"

#define SW1 BIT2

#define SW2 BIT3

#define relay BIT4

void main( void )

{

Trang 3

WDTCTL = WDTPW + WDTHOLD;

P2DIR=0x00;

P4DIR=0xff;

P4OUT=0x00;//cho relay lun ngat

while(1)

{

if(!(P2IN&SW1))

{ delay_cycles(20000);

P4OUT=relay;}

if(!(P2IN&SW2))

{ delay_cycles(20000);

P4OUT=0x00;}

}}

//khi SW1 được ấn thì thời gian ON của RELAY sẽ lâu hơn

#include "msp430f2419.h"

#include "intrinsics.h"

#define SW1 BIT2

#define SW2 BIT3

#define relay BIT4

int num=0;

void main( void )

{

WDTCTL = WDTPW + WDTHOLD;

P2DIR=0x00;

P4DIR=0xff;

P4OUT=0x00;//cho relay lun ngat

while(1)

{

if(!(P2IN&SW1))

{ delay_cycles(20000);

Trang 4

num+=1;

for(int i=0;i<num;i++)

{

P4OUT=relay;

delay_cycles(500000);}

P4OUT=0x00;}

}}

//khi ấn SW1 một lần thì Relay sẽ on/off 10 lần

#include "msp430f2419.h"

#include "intrinsics.h"

#define SW1 BIT2

#define SW2 BIT3

#define relay BIT4

void main( void )

{

WDTCTL = WDTPW + WDTHOLD;

P2DIR=0x00;

P4DIR=0xff;

P4OUT=0x00;//cho relay lun ngat

while(1)

{

if(!(P2IN&SW1))

{ delay_cycles(20000);

for(int i=0;i<20;i++)

{ P4OUT^=relay;

delay_cycles(500000);}

P4OUT=0x00;}

}}

//khi ấn SW1 thi Relay ON 1 phút, khi đó trong lúc này SW2 bị vô hiệu hoá và chỉ khi hết thời gian ON của Relay thì SW1 mới có tác dụng Khi đó nếu SW2 được ấn thì Relay sẽ ON/OFF ở tần số 1Hz

#include "msp430f2419.h"

#include "intrinsics.h"

Trang 5

#define SW1 BIT2

#define SW2 BIT3

#define relay BIT4

void main( void )

{

WDTCTL = WDTPW + WDTHOLD; P2DIR=0x00;

P4DIR=0xff;

P4OUT=0x00;//cho relay lun ngat while(1)

{

if(!(P2IN&SW1))

{ delay_cycles(20000);

P4OUT^=relay;

delay_cycles(60000000); while(!(P2IN&SW1));}

P4OUT=0x00;

if(!(P2IN&SW2))

{ delay_cycles(20000);

while(1)

{P4OUT^=relay;

delay_cycles(1000000);} }}}

Ngày đăng: 22/10/2016, 21:23

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w