基于单片机光控路灯系统设计2-学习笔记仿真电路
仿真电路:

#include <at89x52.h>
#include <absacc.h>
#include <LCD1602.H>
unsigned char data ad_result[8]={0};
unsigned char data dianliu_result[8]={0};
unsigned char bbb[] = {"CheckAD(TLC1543)" } ;//用于第二行的输出
float jizhun_AD=5; //AD的基准电压
unsigned int read1543(unsigned char port) ;
void da5615(unsigned int *p) ; //5615
/*******************************************DAC***************************************************/
float zh (float k)//浮点型!接收受小数的转换。
{
float DA;
DA=k*1024/5; //2.5v参考电压!
return DA;
}
void DA_Conver(unsigned int DAValue)
{
unsigned char i;
DAValue <<= 6; //原先是16位long数据:00000000+10位数据,<<6位后为(0000+10位数据+00)
CS_DA = 0;
SPT_CLK = 0; // 在以下12个时钟周期内,每当在上升沿的
// 数据被锁存,形成DA输出。
for(i = 0; i < 12; i++)
{
SPI_DATA = (bit)(DAValue & 0x8000); // 取出最高位---bit转换---强制单位bit转换,非零为1,0为0
SPT_CLK = 1;
DAValue <<= 1;
SPT_CLK = 0;
}
CS_DA = 1;
SPT_CLK = 0;
}

浙公网安备 33010602011771号