|
busy”输出端(ICL7135的21脚)高电平的
宽度等于积分和反积分时间之和。ICL7135内部规定积分时间固
定为10001个时钟脉冲时间,反积分时间长度与被测电压的大小
成比例。如果利用单片机内部的计数器对ICL7135的时钟脉冲计
数,利用“busy”作为计数器门控信号,控制计数器只能在bus
y为高电平时计数,将这段busy高电平时间内计数器的内容减去
10001,其余数便等于被测电压的数值。
我是想用T3的输入捕获ICP3来计算时钟脉冲个数,但结果都是0,
ATMEL128 8M
#define BUSY PINE&0x80
unsigned int SampleConvert(unsigned int Num0,char Bit) //采样转换函数
{
unsigned int Sample3,count,j;
unsigned int i,Sample1;
TCNT3H = 0x00; //T3
TCNT3L = 0x00;
TCCR3B =0x00;
while(BUSY!=0);
while(BUSY==1)
{
TCCR3B = 0x43;
}
//while(ETIFR&(1<<ICF3)==1);
TCCR3B =0x00;
count=ICR3H*256+ICR3L-10001;
Num0=count;
for (i=0 ; i<bit ; i++) //送LCD显示
{
LCD_Buff = CHR[Num0%10];
Num0 = Num0/10;
}
for (i=0 ; i<Bit ; i++)
{
Lcd_Command(0xC0);
Lcd_Write(LCD_Buff[4]);
Lcd_Command(0xC1);
Lcd_Write(LCD_Buff[3]);
Lcd_Command(0xC2);
Lcd_Write(LCD_Buff[2]);
Lcd_Command(0xC3);
Lcd_Write(LCD_Buff[1]);
Lcd_Command(0xC4);
Lcd_Write(LCD_Buff[0]);
}
}
刚用7135,希望各位大虾指点,谢谢! |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|