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

📄 zlg7289.c

📁 zlg7289芯片控制程序
💻 C
字号:
#include "system.h"

/********发送7289命令子程序********/
void send_command(unsigned char i_command)
{
   unsigned char i;
   for(i=0; i<8; i++)
    {
      DIO= ( (i_command & 0x80)==0x80 ? 1:0 );        //发送最高位,总是在clk的下降沿
      delay_us(20);
      CLK=1;            //  clk=1;
      delay_us(20);
      CLK=0;            //  clk=0;
      i_command=i_command<<1;              //移位命令,最高位在前
    }
//    CLK=0;         //发送完后将线上数据置为初始值
//    DIO=1;         //CLK=0, DIO=1;
    delay_us(20);
}

/********7289接收数据***********/
unsigned char recieve_data(void)
{
   unsigned char i;
   unsigned char key_data=0;        //clear
  // DIO=1;            //data变为输入,需要读引脚 
   
   for(i=0; i<8; i++)
    {
      CLK=1;         //clk=1
      delay_us(20);  //先延迟25us
      key_data <<=1;                //左移数据
      key_data |= DIO_IN ? 0x01:0;    //数据读入key_data的最低位
      CLK = 0;
      delay_us(20);
    }
//   DIO=0;
//   DIO=1;           

   return key_data;
} 

/*  7289发单字节命令 */
void send_single_command(unsigned char command_7289)       
{

//  cannot_send_7289_command = 1;       //屏蔽其他使用7289功能
  DDRB=0xf7;
  delay_us(20);
  CS = 0;       //使CS端出现一个下降沿
  delay_us(50);
send_command(command_7289);
CS = 1;       //CS 置为初始值
delay_us(50);
}




/*  7289发双字节命令 */
void send_double_command(unsigned char command_7289_a, unsigned char command_7289_b)       
{
//   unsigned char i;
 //cannot_send_7289_command = 1;       //屏蔽其他使用7289功能
  DDRB=0xf7;
  delay_us(20);
  CS = 0;       //使CS端出现一个下降沿
  delay_us(50);
send_command(command_7289_a);  
send_command(command_7289_b);  
CS=1;
delay_us(50);
 
} 

/*  7289接收键盘码命令 */
unsigned char recieve_key_code(void)     
{
  unsigned char key_code = 0xFF;
  unsigned char recieve_command_code =  0x15;

  DDRB=0xf7;
  delay_us(20);
  CS = 0;       //使CS端出现一个下降沿 
  delay_us(50);
  send_command(recieve_command_code);
  DDRB=0xf3;
  delay_us(20); 
  key_code = recieve_data();
  CS = 1;       //CS 置为初始值
  delay_us(50);
  return key_code;
}

⌨️ 快捷键说明

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