- 7
- 0
- 约4.64千字
- 约 7页
- 2020-12-07 发布于天津
- 举报
STC系列单片机内部 AD地应用
STC89LE52AD 54AD 58AD、516AD这几款89系列地STC单片机内部 自带有8路8位地AD转换器,分布在P1 口地8位上,当时钟在40MHz以 下时,每17个机器周期可完成一次 AD转换.
与AD相关地几个寄存器如表1所示.
表1 STC89系列单片机AD相关寄存器
名称
地址
功能描述
D7
D6
D5
D4
D3
D2
D1
D0
复位值
P1_ADC_EN
97H
允许P1.X
AD P17
AD P16
AD P15
AD P14
AD P13
AD P12
AD P11
AD P10
0000
成为AD 口
0000
ADC_CONTR
C5H
AD转换控
--
--
--
ADC_FLAG
ADC_START
CHS2
CHS1
CHS0
xxx0
制寄存器
0000
ADC_DATA
C6H
AD转换结
--
--
--
--
--
--
--
--
0000
果寄存器
0000
P1_ADC_EN P1.X 口地AD使能寄存器.
相应位设置为“ 1”时,对应地P1. X口作为AD转换使用,内部上拉 电阻自动断开?
ADC_CONTR AD转换控制寄存器.
ADC_STARTAD转换启动控制位,设置为“ 1”时,AD开始转换.
ADC_FLAG AD转换结束标志位,当 AD转换完成后,ADC_FLAG=1.
CHS2 CHS1 CHS0为模拟输入通道选择,如表 2所示.
表2 STC89系列单片机AD模拟通道选择设置
CHS2
CHS1
CHS0
模拟输入通道选择
0
0
0
选择P1.0作为AD输入来用
0
0
1
选择P1.1作为AD输入来用
0
1
0
选择P1.2作为AD输入来用
0
1
1
选择P1.3作为AD输入来用
1
0
0
选择P1.4作为AD输入来用
1
0
1
选择P1.5作为AD输入来用
1
1
0
选择P1.6作为AD输入来用
1
1
1
选择P1.7作为AD输入来用
ADC_DATA AD转换结果寄存器.模拟/数字转换结果计算公式如下:
结果=256X Vin / Vcc
Vin为模拟输入通道输入电压,Vcc为单片机实际工作电压,用单片机工 作电压作为模拟参考电压?
下面一个例程演示STC89LE516AD/X系列单片机地A/D转换功能?时钟 11.0592MHz,转换结果以16进制形式输出到串行口,可以用串行口调试程 序观察输出结果.(本代码摘自宏晶科技芯片手册,经作者调试可正常运行 ).
新建文件part3.4.5.c,程序代码如下:
#include reg52.H
#include intrins.H
//定义与ADC有关地特殊功能寄存器
sfr P1_ADC_EN = 0x97; //A/D转换功能允许寄存器
sfr ADC_CONTR = 0xC5; //A/D 转换控制寄存器
sfr ADC_DATA = 0xC6; //A/D 转换结果寄存器
typedef unsigned char INT8U;
typedef unsigned int INT16U;
void delay(INT8U delay_time) // 延时函数
{
INT8U n;
INT16U m;
for (n=0;ndelay_time;n++)
{
for(m=0;m10000;m++);
}
}
void initiate_RS232(void) // 串口初始化
{
ES = 0; //禁止串口中断
SCON = 0x50; // 0101,0000 8 位数据位, 无奇偶校验
T2CON = 0x34; // 0011,0100, 由T2作为波特率发生器
RCAP2H = 0xFF; // 时钟 11.0592MHz, 9600 波特率
RCAP2L = 0xDB;
ES = 1; //允许串口中断
}
void Send_Byte(INT8U one_byte) // 发送一个字节
{
TI = 0; //清零串口发送中断标志
SBUF = one_byte;
while (TI == 0);
TI = 0; //清零串口发送中断标志
}
INT8U get_AD_result(INT8U channel)
{
INT8U AD_finished = 0; // 存储 A/D 转换标志
ADC_DATA = 0;
ADC_CONTR = channel; // 选择 A/D 当前通道
delay(1); //使输入电压达到稳定
ADC_CONTR |= 0x08; //0000,1000 令 ADC_START = 1 启动 A/D 转换
AD_finished = 0;
while ( AD_finished == 0 ) //
您可能关注的文档
- sg工程安全防护总体技术方案-电力交易平台.docx
- sg工程安全防护总体具体方案-电力交易平台.docx
- shel模式在消毒供应中心安全管理中的应用.docx
- sh双机热冗余啤酒糖化自动化控制系统设计方案.docx
- sje型小机房电梯标配技术规格书(ecom控制系统)sjec.docx
- sjsb安全措施交底记录(电缆耐压试验).docx
- shymkent水泥厂冬季方法陈述和风险评估.docx
- shymkent水泥厂冬季施工技术方法陈述和风险评估.docx
- smt作业指导手册.docx
- smt制造人员离职情况调查及分析.docx
- 期中检测卷(2)_小学三年级.pdf
- 小学三年级下册(三下)人教版数学第五单元教材过关卷.1(1)_小学三年级.pdf
- 小学三年级下册(三下)人教版数学第五单元教材过关卷.2(1)_小学三年级.pdf
- 小学三年级下册(三下)人教版数学第七单元检测卷.2_小学三年级.pdf
- 小学三年级下册(三下)人教版数学第七单元检测卷.2(1)_小学三年级.pdf
- 期中检测卷 (2)_小学三年级.pdf
- 小学三年级下册(三下)人教版数学第五单元教材过关卷.1_小学三年级.pdf
- 期中检测_小学三年级.pdf
- 死畜无害化处理工合规化操作规程.docx
- 2026辽宁省检验检测认证中心部分机构招用编外人员55人笔试模拟试题及答案解析.docx
原创力文档

文档评论(0)