📄 ad采样及串口.txt
字号:
#include<reg1211.h>
#define uchar unsigned char
#define uint unsigned int
long result,z;
uchar ADL,ADM,ADH;
//sbit P31 = P3^1;
//sbit P30 = P3^0;
void ADCinit()
{
int decimation=1728;//抽取因子为1728
ACLK=9;//模拟时钟FREQ为9
ADMUX=0x08;//AIN0通道 选通
ADCON0=0x06;//关闭内部基准电源,缓冲器使能, PGA=1
ADCON1=0x01;//单极性输入,数字滤波器自动,偏移和增益自校正
ADCON2=decimation&0xFF;//抽取因子低八位
ADCON3=(decimation>>8)&0x07;//抽取因子高三位
}
void ADC_START( )
{
PDCON=0;//开ADC
}
long ADC_READ()
{
while(!(AIE&0x20));
ADH=ADRESH;
ADM=ADRESM;
ADL=ADRESL;
return result=ADH<<16+ADM<<8+ADL;
}
void uart_txd(void)
{
TMOD=0x20;//定时 模式2
PCON |= 0x80 ;// t1倍频 //
CKCON=0x00;//4分频
TL1=253;//
TH1=253;//波特率4800
ET1 = 0;//T1中断禁止
TR1=1;//启动
RI_0=0;
TI_0=0;
SCON0=0x40;//10位数据 允许接收
}
void main(void)
{
ADCinit();
ADC_START();
P1DDR=0X40;//
P3|=0X03;
z=ADC_READ();
uart_txd();
while(1)
{
SBUF0=0x12;
while(!TI_0==1);
TI_0=0;
}
}
/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -