利用休息时间编写的关于新唐单片机较为简单的ADC+定时器+IO端口程序

来源:互联网 发布:程序员的技术栈 编辑:程序博客网 时间:2024/05/29 13:23
void Read_2556(unsigned char channel)
{
  unsigned int  i = 0; 
  channel<<=4; //通道 控制位为7-4位
  Vaa=0; //电压值初始为0
  CS_2556_H; //先禁止所有功能
  CLK_2556_L; //在CS置低前将CLK置低
  CS_2556_L; //片选使能(可选)  
  Delay_ms(5); //延时
  for(i=0;i<12;i++)
  {
if((channel&0x80) == 0x80){DINPUT_2556_H;}
if((channel&0x80) != 0x80){DINPUT_2556_L;}
if(DOUT_2556 == 1){Vaa |= 0x0001;}
if(DOUT_2556 == 0){Vaa &= 0x0ffe;}
Vaa<<=1;channel<<=1;
CLK_2556_H; Delay_ms(5);
CLK_2556_L; Delay_ms(5);
  }
Vaa >>= 1;CS_2556_H;
for(i=0;i<9;i++){Delay_ms(5);}
/*转化为实际电压值*/
  Ge=((unsigned int)((float)Vaa*REF_2556/4.095));
}
原创粉丝点击