Tải bản đầy đủ (.docx) (5 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (66.12 KB, 5 trang )

// 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));
}}
}}}




//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 )
{


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);


num+=1;
for(int i=0;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"


#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);}
}}}



×