#include "1602.h"
# include <intrins.h>
typedef unsigned int WORD;
# define Vo 5.05
/*Declare SFR associated with the ADC 定义寄存器的地址*/
sfr ADC_CONTR = 0xBC;//ADC control register
sfr ADC_RES = 0xBD;// ADC result register
sfr ADC_RESL = 0xBE;//ADC result register
sfr P1ASF = 0x9D;//P1 secondary function control register
/*Define ADC operation const(常量) for for ADC_CONTR*/
# define ADC_POWER 0x80//ADC power control bit
# define ADC_FLAG 0x10//ADC complete flag bit
# define ADC_START 0x08//ADC start control bit
# define ADC_SPEEDHH 0x60//90 clocks
# define ADC_SPEEDH 0x40//180 clocks
# define ADC_SPEEDL 0x20//360 clocks
# define ADC_SPEEDLL 0x00//540 clocks
void Delay(WORD n);
void InitADC();
WORD AtoD5v(uchar res,resl);
uchar ch = 7;//ADC channel NO
void Main()
{
lcd1602_Init();
lcd1602_string(1,1,"A/D result:");
while(1){
WORD b;
b = AtoD5v(ADC_RES,ADC_RESL)*(Vo*100)/1023;
lcd1602_char(2,5,b/100+0x30);
lcd1602_char(2,6,'.');
lcd1602_char(2,7,b/10%10+0x30);
lcd1602_char(2,8,b%10+0x30);
InitADC();
}
}
/**********************************
Init_ADC sfr
***********************************/
void InitADC()
{
P1ASF = 0x00;//set all P1 as analog input port
ADC_RES = 0;//clear previous result
ADC_RESL = 0;
ADC_CONTR = ADC_POWER|ADC_SPEEDLL|ADC_START|ch;
Delay(2);//ADC power-on delay and startA/D conversion
}
/**************************
software delay function
**************************/
void Delay(WORD n)
{
WORD x;
while(n--)
{
x= 5000;
while(x--);
}
}
/********************************************
将结果寄存器中的值转化成十进制数
********************************************/
WORD AtoD5v(uchar res,resl){
WORD R=res;
R<<=2;
R +=resl;
return R;
}
STC12C5A60S2简单的AD转换程序
5星 · 超过95%的资源 需积分: 47 173 浏览量
2012-12-04
15:02:13
上传
评论 8
收藏 22KB RAR 举报
yang520li
- 粉丝: 2
- 资源: 4
最新资源
- JAVA 中的Spring框架介绍包括起源、体系结构、核心部分、特点等
- 2024年小米汽车产业链分析及新品上市全景洞察报告
- 基于Qt和C++实现的偏3D风格的异型窗体界面操作+源码(期末大作业&课设&项目开发)
- 基于yolov8的花卉分类系统,包含训练好的权重和推理代码,GUI界面,支持图片、视频、摄像头输入,支持检测结果导出
- 基于图形化编程的单片机教学案例研究
- 基于matlab语音识别的信号灯图像模拟控制技术代码19
- ET200SP-GSD文件-GSDML-V2.43-Siemens-ET200SP-20240209.zip
- STM32CubeIDE H743 + DP83848 + LWIP-UDP服务器跨网段传输数据
- 基于蓝牙单片机的锌烟除尘控制系统
- 基于matlab的hough变换道路提示牌检测识别系统代码18
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
前往页