- 47
- 0
- 约3.15千字
- 约 4页
- 2021-04-05 发布于湖南
- 举报
.
A/D 转换测试程序( ADC 查询方式)
#include “stc12c5a.h”// 头文件在 STC 公司主页上下载
#include ”intrins.h”
// 与 STC12C5A60S2单片机 ADC 相关的寄存器说明 //
Sfr ADC_CONTR = 0xBC;//AD 转换控制寄存器
Sfr ADC_RES = 0xBD;//AD 转换结果寄存器高
Sfr ADC_RESL = 0xBE;//AD 转换结果寄存器低
Sfr P1ASF = 0x9D;//P1 口模拟转换功能控制寄存器
Sfr AURX1 = 0xA2;//AD 转换结果存储方式控制位
#define ADC_POWER 0x80 //ADC 电源开
#define ADC_FLAG 0x10 //ADC 结束标志位
#define ADC_START 0x08 //ADC 启动控制位设为开
#define ADC_SPEEDLL 0x00 // 设为 540 个时钟周期 ADC 一次
#define ADC_SPEEDL 0x20 // 设为 360 个时钟周期 ADC 一次
#define ADC_SPEEDH 0x40 // 设为 180个时钟周期 ADC 一次
#define ADC_SPEEDHH 0x60 // 设为 90 个时钟周期 ADC 一次
void AD_init(void);
void delay(unsigned int a);
unsigned int AD_get(unsigned char n);
float AD_work(unsigned char n);
void main()
精选
.
{
unsigned char i;
AD_init();
while(1)
{
for(i=0;i8;i++)
{
AD_work(i);
delay(20);
}
}
}
unsigned int AD_get(unsigned char n) // 第 n 通道 ADC 采样函数
{
unsigned int adc_data;
ADC_RES = 0; // 清零
ADC_CONTR=ADC_POWER|ADC_SPEEDLL|n|ADC_START;// 打 开 AD
转换电源、设定转换速度、设定通道号、 AD 转换开始
// 要经过 4 个 CPU 时钟的延时,其值才能够保证被
_nop_();_nop_();_nop_();_nop_();
设置进 ADC_CONTR 寄存器
while(!(ADC_CONTR ADC_FLAG )); // 等待转换完成
adc_data=ADC_RES; // 转换结果计算,取 8 位结果
精选
您可能关注的文档
- sql_server_2005数据库原理及应用教程第3章_数据库设计.pdf
- sql_server_2005数据库原理及应用教程第2章_关系数据库基础.pdf
- sql_server_2005数据库原理及应用教程第5章关系数据库规范化理论.pdf
- sql图书管理系统设计课题报告.pdf
- sql_server_2005数据库原理及应用教程第9章_数据库的安全保护.pdf
- sql图书管理系统样本.pdf
- sql_server_2005数据库原理及应用教程第4章_关系数据库标准语言——_sql.pdf
- sql学生成绩管理系统.pdf
- sql循环结构程序复习知识分享.pdf
- sql数据库制作考务管理系统实验报告.pdf
最近下载
- 2023年江苏省常州市中考语文试卷附参考答案.pdf VIP
- 四川专升本数学2025年真题 及答案 .pdf VIP
- 2026年寒假特色作业模板【可编辑 可打印】.pptx
- 任务一短期投资的核算.ppt VIP
- 生物必修二全套课件.ppt VIP
- 2023年江苏省常州市中考语文试卷.docx VIP
- 2025年江苏高考地理真题(解析版).docx
- 2026年教案课件-中华民族共同体概论-第1-9讲-混一南北与中华民族大统合-教案合集-新版.pdf VIP
- 新解读《GB_T 39329-2020增材制造 测试方法 标准测试件精度检验》.docx VIP
- 医疗器械部门职责与岗位划分指南.docx VIP
原创力文档

文档评论(0)