-
大小: 22KB文件类型: .rar金币: 1下载: 0 次发布日期: 2021-06-01
- 语言: 其他
- 标签: A/D转换 STC12C5A60S2
资源简介
很简单的A/D转换程序,转化结果精确到小数点后两位,包含1602驱动程序。
代码片段和文件信息
#include “1602.h“
# include
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 resresl);
uchar ch = 7;//ADC channel NO
void Main()
{
lcd1602_Init();
lcd1602_string(11“A/D result:“);
while(1){
WORD b;
b = AtoD5v(ADC_RESADC_RESL)*(Vo*100)/1023;
lcd1602_char(25b/100+0x30);
lcd1602_char(26‘.‘);
lcd1602_char(27b/10%10+0x30);
lcd1602_char(28b%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 resresl){
WORD R=res;
R<<=2;
R +=resl;
return R;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1504 2012-11-30 19:03 1602_AD\1602.h
文件 10742 2012-11-30 19:03 1602_AD\1602_AD
文件 1791 2012-11-30 19:03 1602_AD\1602_AD.c
文件 3894 2012-11-30 19:03 1602_AD\1602_AD.hex
文件 62 2012-11-30 19:03 1602_AD\1602_AD.lnp
文件 3951 2012-11-30 19:03 1602_AD\1602_AD.LST
文件 14955 2012-11-30 19:03 1602_AD\1602_AD.M51
文件 10318 2012-11-30 19:03 1602_AD\1602_AD.OBJ
文件 1044 2012-12-01 19:50 1602_AD\1602_AD.Opt
文件 191 2012-12-01 19:09 1602_AD\1602_AD.plg
文件 2053 2012-11-25 21:25 1602_AD\1602_AD.Uv2
....... 1056 2012-11-30 19:03 1602_AD\1602_AD_Opt.Bak
....... 0 2012-11-25 19:56 1602_AD\1602_AD_Uv2.Bak
文件 5115 2002-04-16 14:32 1602_AD\STARTUP.A51
文件 11665 2012-11-30 19:03 1602_AD\STARTUP.LST
文件 749 2012-11-30 19:03 1602_AD\STARTUP.OBJ
目录 0 2012-12-01 19:50 1602_AD
----------- --------- ---------- ----- ----
69090 17
- 上一篇:获取mp3文件的播放时间
- 下一篇:数据结构地图着色问题
相关资源
- 基于STC12C5A60S2自带AD转换和TL5615芯片完
- STC12C5A60S2的内部AD和PWM的程序
- STC89c51/52及STC12C5A60S2单片机原理图和
- 呼吸灯STC12C5A60S2
- STC12C5A60S2详细例程 20多个例程
- STC12C5A60S2内部AD+LCD1602显示
- 《键控数据采集电路设计》课程设计
- STC12C5A60S2LQFP44封装完整的原理图以及
- STC12C5A60S2与MLX90614红外温度传感器程序
- stc12c5a60s2 PID PWm
- STC12C5A60S2手指心跳检测程序
- STC12C5A60S2_AD转换12864显示程序
- STC12C5A60S2.H头文件
- C8051F410A/D转换程序
- 贴片STC12C5A60S2的原理图和PCB库
- STC12C5A60S2 实现双串口应用及红外解析
- STC12C5A60S2自带ADC采集电压信号+DS18B2
- 基于STC89C52RC和STC12C5A60S2单片机的DHT
- STC12C5A60S2的原理图库和PCB库
- STC12C5A60S2-LQFP48 AD原理图库
- STC12C5A60S2封装库
- STC12C5A60S2单片机各个模块程序代码
- Proteus 7 Professional仿真 单片机双积分式
- 利用A/D转换设计一个室温温度计
- STC12C5A60S2控制SIM900A短信GSM模块
- 基于STC12C5A60S2 的TM7707测试程序
- 单片机实验五—A/D转换
- stc12c5a60s2AD液晶显示程序
- 基于STC12C5A60S2和GSMTC35I的发送与接收信
- ADC0809实验原理图
评论
共有 条评论