在准备蓝桥杯时,对于8591这个芯片呢,我认为主要是学习三个方面,一个是可调电阻,另一个是光敏电阻,最后一个就是DAC模拟电压输出了
然后对于8591这个芯片呢,主要就是有4个ADC以及1个DAC,下面就是DAC的使用方法。
#include"reg52.h"
#include"iic.h"
sbit s1=P3^0;
sbit s2=P3^1;
sbit s3=P3^2;
sbit s4=P3^3;
unsigned int dat2=0;
unsigned char code tab[18]=
{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
0x88,0x80,0xc6,0xc0,0x86,0x8e,0xbf,0x7f};
void delay(unsigned int t)
{
while(t–);
}
void PCF8591DAC(unsigned char dat)
{
IIC_Start();
IIC_SendByte(0x90);
IIC_WaitAck();
IIC_SendByte(0x40);
IIC_WaitAck();
IIC_SendByte(dat);
IIC_WaitAck();
IIC_Stop();
}
void key()
{
if(s1=0)
{
delay(500);
if(s1==0)
{
dat2=dat2+51;
if(dat2==306)
{
dat2=0;
}
while(s1=0);
}
}
}
void main()
{
while(1)
{
key();
PCF8591DAC(dat2);
}
}
* List item