首页 > 应用 > 单片机应用
[导读]
//ADCDEMO_56xx程序演示STC1256xxAD系列MCU的A/D转换功能。时钟18.432MHz//转换结果以16进制形式输出到串行口,可以用串行口调试程序观察输出结果。//-----------------------------------------------

//ADCDEMO_56xx程序演示STC1256xxAD系列MCU的A/D转换功能。时钟18.432MHz
//转换结果以16进制形式输出到串行口,可以用串行口调试程序观察输出结果。
//---------------------------------------------------------------------

本文引用地址: http://www.21ic.com/app/mcu/201806/761572.htm

#include"STC12C5620AD.H"
//---------------------------------------------------------------------
typedefunsignedcharINT8U;
typedefunsignedintINT16U;
//---------------------------------------------------------------------
//以下选择ADC转换速率,只能选择其中一种
//SPEED1SPEED0A/D转换所需时间
#defineAD_SPEED0x60//0110,000011270个时钟周期转换一次,
//CPU工作频率27MHz时,
//A/D转换速度约100KHz
//#defineAD_SPEED0x40//0100,000010540个时钟周期转换一次
//#defineAD_SPEED0x20//0010,000001810个时钟周期转换一次
//#defineAD_SPEED0x00//0000,0000001080个时钟周期转换一次
//---------------------------------------------------------------------
voidinitiate_RS232(void);//串口初始化
voidSend_Byte(INT8Uone_byte);//发送一个字节
INT16Uget_AD_result(INT8Uchannel);
voiddelay(INT8Udelay_time);//延时函数
//---------------------------------------------------------------------
voidmain()
{
INT16UADC_10bit;

initiate_RS232();//波特率=9600

ADC_CONTR|=0x80;//1000,0000打开A/D转换电源
while(1)
{
Send_Byte(0xAA);
Send_Byte(0xAA);

ADC_10bit=get_AD_result(2);//P1.2为A/D当前通道
Send_Byte(ADC_10bit>>8);//发送高8位测量结果
delay(0x1);

ADC_10bit=get_AD_result(3);//P1.3为A/D当前通道,测量并发送结果
Send_Byte(ADC_10bit>>8);//发送高8位测量结果

delay(0x30);//延时
}
}
//---------------------------------------------------------------------
voiddelay(INT8Udelay_time)//延时函数
{
INT16Un;
while(delay_time--)
{
n=6000;
while(--n);
}
}
//---------------------------------------------------------------------
voidinitiate_RS232(void)//串口初始化
{
ES=0;//禁止串口中断
TMOD=0x20;//设置T1为波特率发生器
SCON=0x50;//0101,00008位数据位,无奇偶校验
TH1=0xFB;//18.432MHz晶振,波特率=9600
TL1=0xFB;
RI=0;
TR1=1;
ES=1;//允许串口中断
}
//---------------------------------------------------------------------
voidSend_Byte(INT8Uone_byte)//发送一个字节
{
TI=0;//清零串口发送中断标志
SBUF=one_byte;
while(!TI);
TI=0;//清零串口发送中断标志
}
//---------------------------------------------------------------------
INT16Uget_AD_result(INT8Uchannel)
{
ADC_DATA=0;

channel&=0x07;//0000,0111清0高5位
ADC_CONTR=AD_SPEED;
ADC_CONTR=0xE0;//1110,0000清ADC_FLAG,ADC_START位和低3位
ADC_CONTR|=channel;//选择A/D当前通道
delay(1);//使输入电压达到稳定
ADC_CONTR|=0x08;//0000,1000令ADCS=1,启动A/D转换,
while(1)//等待A/D转换结束
{
if(ADC_CONTR&0x10)//0001,0000测试A/D转换结束否
{break;}
}
ADC_CONTR&=0xE7;//1111,0111清ADC_FLAG位,关闭A/D转换,

return(ADC_DATA<<8|ADC_LOW2);//返回A/D10位转换结果
}


换一批

延伸阅读

[汽车电子] 进度正常,四维图新汽车用MCU芯片预计年底进入量产

进度正常,四维图新汽车用MCU芯片预计年底进入量产

四维图新也在积极布局其他汽车电子芯片方向,音频功率放大器 AMP、车身控制单元 MCU和胎压监测系统TPMS是三条全新产品线。 ......

关键字:汽车 四维图新 MCU 芯片

[单片机新品] Microchip ATmega4809 8位MCU在贸泽开售 为高响应命令与控制应用提供支持

 Microchip ATmega4809 8位MCU在贸泽开售  为高响应命令与控制应用提供支持

贸泽电子 (Mouser Electronics) 即日起开始分销Microchip Technology的ATmega4809 8位单片机。ATmega4809单片机是megaAVR®系列单片机的新成员,旨在创建高响应命令和控制......

关键字:Microchip MCU ATmega4809

[单片机新品] HOLTEK推出BS84C12C新一代更高抗干扰能力的A/D Touch MCU

HOLTEK推出BS84C12C新一代更高抗干扰能力的A/D Touch MCU

Holtek新推出新一代触摸Flash MCU系列型号BS84C12C,内建12-bit ADC并全面提升抗干扰的能力,适用于同时需求「最多12个触摸键」、「显示功能」及「模拟讯号(如温度)量测」的产品应用,例如:电陶炉、电磁炉、触摸温控器......

关键字:HOLTEK MCU 触摸键

[单片机新品] HOLTEK新推出BH66F5250 & BH67F5250/60 24-bit A/D MCU

HOLTEK新推出BH66F5250 & BH67F5250/60 24-bit A/D MCU

Holtek 24-bit Delta Sigma A/D Flash MCU系列新增BH66F5250、BH67F5250/60成员。具有抗RF干扰能力强,非常适合恶劣的24-bit A/D量测应用环境,内建LDO输出作为传感器的电源供应......

关键字:HOLTEK MCU LDO

[单片机新品] HOLTEK新推出BS45F3833雾化器Flash MCU

HOLTEK新推出BS45F3833雾化器Flash MCU

Holtek雾化器系列新增BS45F3833成员。采用新型触摸检水方式,大幅提升缺水保护/检测的精准性,内建雾化器控制模块单元,方便MCU对雾化器进行追频与缺水检测控制,在缺水保护/检测时可省略磁簧管/干簧管,对于各式雾化器与加湿器产品是很......

关键字:HOLTEK MCU 雾化器

[单片机新品] HOLTEK新推出BH66F5252 24-bit A/D MCU

HOLTEK新推出BH66F5252 24-bit A/D MCU

Holtek 24-bit Delta Sigma A/D Flash MCU系列新增BH66F5252成员。具有抗RF干扰能力强,非常适合恶劣的24-bit A/D量测应用环境,内建LDO输出作为传感器的电源供应,例如:秤重、压力与温度的......

关键字:HOLTEK MCU BH66F5252

[单片机应用] MCS-51系列单片机串行接口控制寄存器SCON

MCS-51系列单片机串行接口控制寄存器SCON

MCS-51系列单片机串行口控制寄存器SCON是一个特殊功能寄存器,地址为98H,具有位寻址功能。SCON的格式如下:  各位功能说明如下:    1.SM0、SM1:串行口的工作方式选择位。    2.SM2......

关键字:寄存器 单片机 接口 系列

[单片机应用] STM32系列第7篇--串口通信基本原理

STM32系列第7篇--串口通信基本原理

两种通信方式:1、串行通信传输原理:数据按位顺序传输。优点:占用引脚资源少缺点:速度相对较慢2、并行通信传输原理:数据各个位同时传输。优点:速度快缺点:占用引脚资源多串口通信按数据传输方向可以分为单工、......

关键字:STM32系列 串口通信

[单片机应用] STM32系列第11篇--定时器

STM32系列第11篇--定时器

STM32共有8个定时器:定时器种类位数模式特殊应用场景高级定时器TIME1、TIME816位向上、向下、向上/下PWM点击控制通用定时器TIME2~TIME516位向上、向下、向上/下定时计数,PWM输出,输入捕获,输出比较基本定时器TI......

关键字:STM32系列 定时器

我 要 评 论

网友评论

技术子站

更多

项目外包

更多

推荐博客