• 大小: 184KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: 其他
  • 标签:

资源简介

2014年参加TI电子设计竞赛所写的程序,请供参考。我做的题目用到了LDC1000这款传感器,用于检测1角硬币、一块硬币和圆环。

资源截图

代码片段和文件信息

/**
  ******************************************************************************
2014 TI电子设计竞赛 LDC1000测试范例
fzl  20140809
本代码使用于常规的51MCU
需要注意:LDC1000需要外部提供一个时钟信号
本范例是用MCU的内部时钟输出提供给LDC1000
使用其他MCU时请自行设计一个时钟输出给LDC1000
该时钟应小于8M注意这是指MCU给LDC1000的DCLK引脚的信号频率应小于8M。
  ******************************************************************************
说明:采用软件模拟SPI
     已经将LDC1000的读/写命令做成了函数直接调用即可。
     测试电路是否正确采用读命令读取0号地址返回时0x80说明已经能读LDC1000的寄存器
     主范例已经将读回的RP在0801上显示出来
     LDC1000的DCLK引脚接到MCU的ALE引脚输出应4M
     MCU型号:W78E58
     MCU使用外部晶振24M
  ******************************************************************************
/* Includes ------------------------------------------------------------------*/
#include “reg52.h“
#include “1602.h“
#include
#include
//ldc1000寄存器定义
//sfr T2MOD= 0xC9;
#define NULL 0
#define TRUE 1
#define FALSE 0
//配置的参数定义
#define TEST_RPMAX_MAX  0x12   /**< maximum calibration value for RPMAX */
#define TEST_RPMAX_MIN  0x10   /**< minimum calibration value for RPMAX */
#define TEST_RPMAX_INIT TEST_RPMAX_MIN+1  /**< RPMAX initial value */
#define TEST_RPMIN_MAX  0x3E      /**< maximum calibration value for RPMIN */
#define TEST_RPMIN_MIN  0x3A       /**< minimum calibration value for RPMIN */
#define TEST_RPMIN_INIT TEST_RPMIN_MIN+1  /**< RPMIN initial value */
// Final Test Range
#define TEST_RP_MSB_MAX 0x12 /**< maximum value for proximity data */
#define TEST_RP_MSB_MIN 0x0A /**< minimum value for proximity data */
#define TEST_FC_MAX 0x0D5D /**< maximum value for frequency counter */
#define TEST_FC_MIN 0x0D39 /**< minimum value for frequency counter */

//LDC1000寄存器定义               详见芯片手册寄存器说明部分
// LDC COMMANDS
#define LDC1000_CMD_REVID  0x00
#define LDC1000_CMD_RPMAX  0x01
#define LDC1000_CMD_RPMIN  0x02
#define LDC1000_CMD_SENSORFREQ  0x03
#define LDC1000_CMD_LDCCONFIG  0x04
#define LDC1000_CMD_CLKCONFIG  0x05
#define LDC1000_CMD_THRESHILSB  0x06
#define LDC1000_CMD_THRESHIMSB  0x07
#define LDC1000_CMD_THRESLOLSB  0x08
#define LDC1000_CMD_THRESLOMSB  0x09
#define LDC1000_CMD_INTCONFIG  0x0A
#define LDC1000_CMD_PWRCONFIG  0x0B
#define LDC1000_CMD_STATUS 0x20
#define LDC1000_CMD_PROXLSB  0x21
#define LDC1000_CMD_PROXMSB  0x22
#define LDC1000_CMD_FREQCTRLSB 0x23
#define LDC1000_CMD_FREQCTRMID 0x24
#define LDC1000_CMD_FREQCTRMSB 0x25

#define uint8_t unsigned char
#define uint16_t unsigned int
#define uint32_t unsigned long

//引脚定义
//引脚定义
sbit SDO =P1^0;    //ldc1000的SDO
sbit SDI =P1^1;    //ldc1000的SDI
sbit SCLK =P1^2;   //ldc1000的SCLK
sbit CS =P1^3;     //ldc1000的CSldc1000的INTB未用ldc1000的dclk接MCU的ALE
sbit LED=P2^0;
sbit buzzer=P2^1;
sbit out1=P2^7;     //P10与电机驱动IN1相连                            
sbit out2=P2^6;    //P11与电机驱动IN2相连                           
sbit out3=P2^5;    //P12与电机驱动IN3相连                             
sbit out4=P2^4;    //P13与电机驱动IN4相连
sbit AX=P0^0;
sbit FAX=P0^1;
sbit BX=P0^2;
sbit FBX=P0^3;
sbit

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      29984  2014-08-16 13:29  LDC1000示例程序(51)\123

     文件      14884  2014-08-16 13:29  LDC1000示例程序(51)\123.c

     文件       5816  2014-08-16 13:29  LDC1000示例程序(51)\123.hex

     文件         51  2016-10-08 11:32  LDC1000示例程序(51)\123.lnp

     文件      26701  2014-08-16 13:29  LDC1000示例程序(51)\123.LST

     文件      33786  2014-08-16 13:29  LDC1000示例程序(51)\123.M51

     文件      28189  2014-08-16 13:29  LDC1000示例程序(51)\123.OBJ

     文件        168  2016-10-08 11:32  LDC1000示例程序(51)\123.plg

     文件      71277  2017-09-19 02:48  LDC1000示例程序(51)\123.uvgui.zorro

     文件       5337  2017-02-15 15:30  LDC1000示例程序(51)\123.uvopt

     文件      13929  2017-02-15 15:30  LDC1000示例程序(51)\123.uvproj

     文件      57149  2014-08-16 15:17  LDC1000示例程序(51)\123_uvopt.bak

     文件      13222  2014-08-13 04:46  LDC1000示例程序(51)\123_uvproj.bak

     文件       3512  2014-08-13 04:46  LDC1000示例程序(51)\1602.c

     文件       1655  2014-08-16 10:25  LDC1000示例程序(51)\1602.h

     文件       6500  2014-08-16 13:29  LDC1000示例程序(51)\1602.LST

     文件       7092  2014-08-16 13:29  LDC1000示例程序(51)\1602.OBJ

     文件        145  2016-10-08 11:32  LDC1000示例程序(51)\1602.plg

     文件      70086  2017-09-19 02:47  LDC1000示例程序(51)\1602.uvgui.zorro

     文件       5371  2017-09-19 02:47  LDC1000示例程序(51)\1602.uvopt

     文件      13959  2017-09-19 02:47  LDC1000示例程序(51)\1602.uvproj

     文件      55273  2014-08-13 04:46  LDC1000示例程序(51)\1602_uvopt.bak

     文件          0  2016-10-08 11:32  LDC1000示例程序(51)\1602_uvproj.bak

     文件       4865  2014-08-13 04:46  LDC1000示例程序(51)\18.obj

     文件        857  2014-08-13 04:46  LDC1000示例程序(51)\18b20.lst

     文件       5027  2014-08-13 04:46  LDC1000示例程序(51)\18b20.obj

     文件       1953  2014-08-13 04:46  LDC1000示例程序(51)\234.hex

     文件        162  2016-10-08 11:32  LDC1000示例程序(51)\234.lnp

     文件        239  2016-10-08 11:32  LDC1000示例程序(51)\234.plg

     文件      10558  2014-08-13 04:46  LDC1000示例程序(51)\60

............此处省略65个文件信息

评论

共有 条评论

相关资源