51SCM_AD模块CS5550学习心得

       劳碌了两天,总算啃完了CS5550的Datasheet,途中遇到了不少问题,被卡到血都出来了,幸好得到了许多大牛的帮助,最后顺利解决。今天就把自己的一些小心得写出来和大家分享一下吧~

       CS5550是一个双通道,低成本模数转换器。首先看一下它与主芯片P89V51RD2之间的管脚连接

                                      

        接下来贴一个自己的模板型AD模块CS5550芯片的调用例程,代码实现功能的是当上位机PC发送0被SCM接收时启动CS5550转换功能,之后CS5550自动不断地采集输入通道检测到的模拟量,并转化成16进制的数字量形式通过串口反馈到上位机PC窗口。

#include <reg52.h>
sbit CS5550_INT=P3^3;        //外部中断接收位
sbit CS5550_SCLK=P2^5;       //串行时钟输入引脚,确定SDI与SDO的输入输出速率
sbit CS5550_SDO=P2^3;        //串行数据输出引脚
sbit CS5550_CS=P2^6;         //片选位,应在SCLK处于低电平时改变状态
sbit CS5550_SDI=P2^4;        //串行数据输入引脚
sbit CS5550_RESET=P2^2;      //复位引脚,低电平有效
void initialize(void);
void spiwrite_com(unsigned int);
void write_to_register(unsigned int command,unsigned int low,unsigned int mid,unsigned int high);
void transfer_byte(unsigned int);
void delay(void);
void Init_Com(void);
void SerialSend(unsigned char);
unsigned char CS5550_RECEIVE_TABLE[3]= {0,0,0};
unsigned char read_flag=0;          //读取标志位

void INT1_int() interrupt 2         //外部中断定义函数
{
    unsigned char a,b,n;
    CS5550_SCLK=0;
    CS5550_CS=0;
    write_to_register(0x5e,0xff,0xff,0xfe);      //清状态寄存器
    transfer_byte(0x0e);                         //读输出寄存器1
    for(a=0; a<3; a++)
    {
  
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值