⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fh_jyh.c

📁 msp430驱动ad9853
💻 C
字号:
/**************************************************
 *
 * 跳频通信源程序
 *
 *
 * Copyright 1996 - 2003 IAR Systems. All rights reserved.
 *
 * $Revision: 1.0 $
 *design by jiangyunhua
 **************************************************/

#include <stdio.h>

//FEC EN---------P1.1
//CA EN----------P1.5
//ADDR BIT-------P1.2
//CA CLK---------P1.6
//CA DAT---------P1.7
//9853 RST-------P1.3
//9853 DAT-------P3.1
//9853 CLK-------P3.3
//DATA IN--------P4.2
//Tx EN----------P4.1
//led------------P4.5

#include <msp430x14x.h>
#define ucahr unsigned char

unsigned char kkk;

void rst_high (void)
{
    P1OUT|=BIT3;
}

void rst_low (void)
{
    P1OUT&=~BIT3;
}              

void dat_high (void)
{
    P3OUT|=BIT1;
}

void dat_low (void)
{
    P3OUT&=~BIT1;
}

void clk_high (void)
{
    P3OUT|=BIT3;
}

void clk_low (void)
{
    P3OUT&=~BIT3;
}

void tx_low (void)
{
    P4OUT&=~BIT1;
}

void tx_high ()
{
    P4OUT|=BIT1;
}

void ad9853_int (void)
{
    P1SEL=0X00;       //P1 USED AS I/O.
    P3SEL=0X00;       //P3 USED AS I/O.
    P4SEL=0X00;       //P4 USED AS I/O.
    P1DIR|=BIT1;      //FEC EN=0,disable the fec fuction.
    P1OUT&=~BIT1;
    P1DIR|=BIT2;      //ADDR BIT =0,9853ADDRESS SET TO 0.
    P1OUT&=~BIT2;
    P3DIR|=0xff;
   // P3DIR|=0xff;
    P4DIR|=0xff;
    
    P1DIR|=0xff;
}

void send_dat (unsigned char a)      //send 8bit data
{
   // unsigned char a;
    int i;
    for (i=0;i<8;i++)
    {
        if ((a&0x80)==0x80)
        {
            dat_high();
            clk_high();
            clk_low();
        }
        else 
        {
            dat_low();
            clk_high();
            clk_low();
        }
        a=a<<1;
    }    
}        
        

void send_start (void)          //start  bit
{
    dat_high();
    clk_high();
    dat_low();
    clk_low();
}

void send_stop (void)           //stop  bit
{
    dat_low();
    clk_high();
    dat_high();
    clk_low();
  //  dat_low();
  //  clk_low();
}   

void get_ack (void)             
{
    P3DIR&=~BIT1;
    clk_high();
    clk_low();
    kkk=P3IN;
    do
    {;
    }
    while ((P3IN&BIT1)==BIT1);
    P3DIR|=BIT1;
   // clk_low(); 
}    


void send_con_dat (unsigned char a)
{
  //  unsigned char a;
  //  send_start();
    send_dat(a);
  //  send_stop();
    get_ack();
}    
        
void change_f (unsigned char f1,unsigned char f2,
                unsigned char f3,unsigned char f4)
{ 
   //unsigned char f1,f2,f3,f4;
    tx_low();
    rst_high();
    rst_low();
    rst_high();
    send_start();
    send_con_dat (0x04);
    send_con_dat (0x16);
    send_con_dat (0xcf);
    send_con_dat (0x8b);
    send_con_dat (0x00);
    send_con_dat (0x00);
    send_stop();
    rst_low ();
    rst_high ();
    send_start();
    send_con_dat (0x04);
    send_con_dat (0x05);
    send_con_dat (0x80);
    send_stop();
    rst_low ();
    rst_high ();
    send_start();
    send_con_dat (0x04);
    send_con_dat (0x48);
    send_con_dat (0x20);
    send_stop();
    tx_high();
}    


 
main()
{
 /* ad9853_int();
    clk_low();
    clk_high();
    clk_low();
    rst_low();
    rst_high();
    rst_low();
    dat_low();
    dat_high();
    dat_low();
    tx_low();
    tx_high();
    tx_low();   */
    
    unsigned char f1,f2,f3,f4;
    f1=0x00;
    f2=0x00;
    f3=0x05;
    f4=0x02;
    ad9853_int ();
    change_f (f4,f3,f2,f1);
    
    WDTCTL = WDTPW + WDTHOLD;             // Stop WDT
   // BCSCTL1 |= XTS;                       // ACLK = LFXT1 = HF XTAL
   // ad9853_int();
   // BCSCTL1=0X30;
  //  BCSCTL2=0X8E;
  //  TACTL = TASSEL1 + TACLR;
   // CCTL0 =CCIE;
    //CCR0 =50000;
   // TACTL|=MC1;
   // _EINT();
    
   
    
    do
    {
    }
    while(1);
}

//interrupt[TIMERA0_VECTOR] void timer_a (void)
//{
//    P4OUT^=0X10;
//}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -