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

📄 serial.c

📁 无线单片机CC1110的一些使用源代码
💻 C
字号:
//serial out
#include <ioCC1110.h>
#include "emot.h"
#include "hal.h"
#define uchar unsigned char
#define uint unsigned int
#define SDA P1_6      //数据
#define SHIFT_CP P1_5 //时钟
#define ST_CP P1_7    //锁存

#define NOP delay595()

//uchar SelectBit[]={0x04,0x08,0x10,0x20};//用于选择位 p0 pin 2 3 4 5
uchar SelectBit[]={0x40,0x20,0x10,0x08};//用于选择位 p0 pin 3 4 5 6
uchar ledcode[]={0x3f,0x18,0x76,0x7c,0x59,0x6d,0x6f,0x38,0x7f,0x7d,0x80};
uchar ledbit = 0;

uchar ii;

void delay595(void)
{
    uchar jj=100;
    while(jj--);
}

void Delay(unsigned int time)
{
  unsigned int abc=time;
  while(abc--)
  {
    delay595();
  }
}

void InitSerialIO(void)
{
  P1DIR |= 0X20;  //P15 OUT AS SHIFT_CP
  P1DIR |= 0X40;  //P06 OUT AS SDA
  P1DIR |= 0X80;  //P17 OUT AS ST_CP

  //IO_DIR_PORT_PIN(1,5,IO_OUT);
  //IO_DIR_PORT_PIN(0,6,IO_OUT);
  //IO_DIR_PORT_PIN(1,7,IO_OUT);


  P1 &= ~0XE0;

  P0DIR |= 0x78; //输出,作为位选
  P0 &= ~0x78;    //关闭,高电平有效

  SDA = 0;
  SHIFT_CP = 0;
  ST_CP = 0;
}

void SerialSendData(uchar dat)
{
  uchar ii;
  uchar sdata=dat;
  ST_CP = 0;
  //P1_4 = 1;       //TC77 cs
  for(ii=0;ii<8;ii++)
  {
    if(sdata&0x80)SDA=1;
else SDA = 0;
    sdata<<=1;
    SHIFT_CP =0;
    NOP;
    NOP;
    SHIFT_CP = 1;
    NOP;
    NOP;
  }
  ST_CP = 1;

  NOP;
  NOP;
  ST_CP = 0;
  NOP;
  NOP;
  ST_CP = 1;

}

⌨️ 快捷键说明

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