关于PCF8951模块,有一点需要指出,
IIC_SendByte(0x03);和IIC_SendByte(0x43);
0x43是打开了模拟输出,如果用到DAC最好写0x43,不然可能误关开关
如果只需要进行DAC的话,写0x03就ok了
什么时候用到ADC呢,要把电压值显示在数码管上的时候
什么时候用到DAC呢,要有模拟电压输出的时候,这个是用万用表进行测量的
#include"reg52.h"
#include"iic.h"
sbit S4=P3^3;
sbit S5=P3^2;
sbit S6=P3^1;
unsigned char code SMG_duanma[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};
unsigned int adc_value=0;
float adc_volt=0;
unsigned int smg_volt=0;
unsigned int para=300;
unsigned char stat=0;
unsigned char num=0;
unsigned int count=0;
unsigned char stat_led=0xff;
unsigned char led_f=0;
unsigned char count_k=0;
void HC138(unsigned char m)
{
switch(m)
{
case 4:P2=(P2&0x1f)|0x80;break;
case 5:P2=(P2&0x1f)|0xa0;break;
case 6:P2=(P2&0x

本文介绍了PCF8951模块的IIC通信接口使用技巧,区分ADC用于电压显示和DAC用于模拟输出的应用场景,并展示了如何通过代码实现ADC采样和DAC控制。

5813

被折叠的 条评论
为什么被折叠?



