📄 adc_avr._c
字号:
/*ad转换,利用串口调试;输出为电压的伏特数;
2005.7.12*/
#include "iom16v.h"
#include "macros.h"
#define uint unsigned char
#define uchar unsigned int
uchar data_temp;
uchar tmpUDR,tmp;
void delay(char);
//void _ADC(uchar);
#pragma interrupt_handler ad_handler:15
void ad_handler(void)
{
char i,j,k,l;
int data_temp;
ADCSR&=~0x08;
data_temp=ADC;
data_temp=(int)(data_temp*5.00/1024*1000);
l=data_temp/1000+0x30;
k=(data_temp%1000)/100+0x30;
j=(data_temp%100)/10+0x30;
i=data_temp%10+0x30;
UDR=l;
while(!(UCSRA&0X40));
UCSRA|=0x40;
UDR='.';
while(!(UCSRA&0X40));
UCSRA|=0x40;
UDR=k;
while(!(UCSRA&0X40));
UCSRA|=0x40;
UDR=j;
while(!(UCSRA&0X40));
UCSRA|=0x40;
UDR=i;
while(!(UCSRA&0X40));
UCSRA|=0x40;
UDR=' ';
while(!(UCSRA&0X40));
UCSRA|=0x40;
UDR='V';
while(!(UCSRA&0X40));
UCSRA|=0x40;
//ADCSR|=0x08;
}
#pragma interrupt_handler rx_handler:12
void rx_handler(void)
{
UCSRB&=~0x10;
tmpUDR=UDR;
if(tmpUDR=='P')
{
ADMUX=0x40;
ADCSR|=BIT(ADSC);
//tmpUDR&=0x07;
//ADMUX+=tmpUDR;
//ADCSR|=BIT(ADSC);
//ADCSR|=0x08;
//UCSRB|=0x10;
//while(1)
//{
//UDR='V';
//while(!(UCSRA&0X40));
//UCSRA|=0x40;
//}
}
if(tmpUDR=='Q')
{
ADMUX=0x41;
ADCSR|=BIT(ADSC);
//ADCSR|=0x08;
//UCSRB|=0x10;
}
if(tmpUDR=='R')
{
ADMUX=0x42;
ADCSR|=BIT(ADSC);
//ADCSR|=0x08;
//UCSRB|=0x10;
}
if(tmpUDR=='S')
{
ADMUX=0x43;
ADCSR|=BIT(ADSC);
//ADCSR|=0x08;
//UCSRB|=0x10;
}
if(tmpUDR=='T')
{
ADMUX=0x44;
ADCSR|=BIT(ADSC);
//ADCSR|=0x08;
//UCSRB|=0x10;
}
if(tmpUDR=='U')
{
ADMUX=0x45;
ADCSR|=BIT(ADSC);
//ADCSR|=0x08;
//UCSRB|=0x10;
}
if(tmpUDR=='V')
{
ADMUX=0x46;
ADCSR|=BIT(ADSC);
//ADCSR|=0x08;
//UCSRB|=0x10;
}
if(tmpUDR=='W')
{
ADMUX=0x47;
ADCSR|=BIT(ADSC);
//ADCSR|=0x08;
//UCSRB|=0x10;
}
ADCSR|=0x08;
UCSRB|=0x10;
}
void main(void)
{
//disable the Interrupt bit.
SREG=0x00;
///// Initialize the USART ///////
UCSRB=0x00;
UCSRA=0x00;
UBRR=12;
UCSRB=0x98;
///// Initialize the ADC /////////
ADCSR=0X8b;
tmpUDR=UDR;
////Enable the Interrupt bit.
SREG=0x80;
while(1)
{
}
}
void delay(char i)
{
uchar j;
for(j=1;j<i;j++)
asm("nop");
}
/*
void _ADC(uchar N)
{
ADCSR|=BIT(ADSC);
//ADCSR|=0x08;
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -