【STC8】MCP4922

本文详细介绍了MCP4922这款12位双通道DAC在STC8单片机上的应用。内容涵盖时序操作、引脚配置、电压输出范围以及寄存器设置,同时提供了相应的程序实现,帮助读者理解和掌握如何使用MCP4922进行模拟信号输出。
摘要由CSDN通过智能技术生成
  • MCP4922 :12 位双通道 DAC

时序

imageimageimage

引脚

image

image

电压输出

image

image

image

寄存器

image

image

程序

#include "MCP4922.H"

//========================================================================
// 描述: SPI初始化.
// 参数: none.
// 返回: none.
//========================================================================
void MCP4922_init()
{
   
	GPIO_InitTypeDef	GPIO_InitStructure;		//结构定义

	GPIO_InitStructure.Pin  = GPIO_Pin_0|GPIO_Pin_1 |GPIO_Pin_2|GPIO_Pin_3  ;		//指定要初始化的IO, GPIO_Pin_0 ~ GPIO_Pin_7
	GPIO_InitStructure.Mode = GPIO_OUT_PP;	//指定IO的输入或输出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
	GPIO_Inilize(GPIO_P2,&GPIO_InitStructure);	//初始化

//    SOFTSPI_SCK_MODE;
//    SOFTSPI_MISO_MODE;
//    SOFTSPI_MOSI_MODE;
	MCP4922_CS = 1;
	MCP4922_LD = 1;
    SOFTSPI_SCK_PIN = 0;        //set clock to low initial state
}

//========================================================================
// 描述: SPI写入一个字节后读取一个字节数据.
// 参数: none.
// 返回: none.
//========================================================================
u8 softspi_wr_data(u16 dat)
{
   
    u16 datavalue=0,i,wr_data;
    wr_data = dat;

    #if SOFTSPI_CPHA==0 
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值