基于单片机光控路灯系统设计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;                             
}

 

 

 

  

 

posted @ 2021-03-11 19:21  MCU创新DIY  阅读(45)  评论(0)    收藏  举报