资源简介
基于51单片机,用于内部AD采样,并用LCD1602显示采样电压值
代码片段和文件信息
#include
#include
#include
unsigned char code table[]=“weixintiaoyitiao“;
unsigned char code table1[]=“voltage:“;
unsigned char table2[]=“0.0000 V“;
unsigned char num;
sbit lcden=P3^4;
sbit lcdrs=P3^5;
sbit dula=P2^6;
sbit wela=P2^7;
sbit key=P3^3;
#define VCC 4.95 //单片机供电电压
unsigned int ADvalue;//存放A/D转换返回的结果
float Vin; //存放计算出来的外部输入电压
void ADC_P11_init()
{
unsigned int i; //用于软件延时程序
ADC_CONTR|=0x80; //开ADC电源
for(i=0;i<10000;i++);//适当延时等待A/D转换供电稳定
P1ASF|=0X02; //选择P1.1作为A/D转换通道0000 0010
ADC_CONTR=0xe1; //选择P1.1作为A/D转换通道最高转换速度,清转换完成标志
ADC_CONTR|=0x08; //启动A/D转换,ADC_START=1
EADC=1;
EA=1;
}
void ADC()interrupt 5
{
unsigned int AD_Dat=0; //10位A/D转换值
unsigned char Tmp=0; //临时变量用于将A/D转换出来的2个字节合成1个字节
ADC_CONTR&=0xe7; //将ADC_FLAG清0,ADC_FLAG=0,ADC_START=0
AD_Dat=ADC_RES; //默认高字节高8位
AD_Dat<<=2;
Tmp=ADC_RESL; //默认低字节低2位
Tmp&=0x03; //屏蔽无关位
AD_Dat|=Tmp; //高、低字节拼接成一个10位数
ADvalue=AD_Dat;
ADC_CONTR|=0x08; //启动A/D转换,ADC_START=1
}
void delay(unsigned int z) //延时
{
unsigned in
- 上一篇:操作系统课程设计-小型文件管理系统
- 下一篇:菜品管理系统
相关资源
- 51单片机原理图
- 基于51单片机的计步手环
- 用51单片机实现计算器功能
- 51单片机的智能抢答器
- c51单片机数码管显示温度
- 51单片机三路循迹程序
- 蓝牙小车程序 绝对完整 整个工程
- 51单片机实现水温控制系统
- 51单片机 Proteus 心形的滚动显示含代码
- 基于51单片机和LCD1602的计算器
- 基于51单片机/高精度AD(24位)芯片
- 基于51单片机的蓝牙控制继电器程序
- 51单片机篮球计时与计分器
- 基于51单片机的八路抢答器C程序
- 基于步进电机的电梯-51单片机
- 51单片机小车金属丝循迹
- 51单片机——简易计算器设计源码、
- 基于89C51单片机的LCD音乐闹钟(详细注
- 基于STC 51单片机的智能循迹小车
- 51单片机心形流水灯
- 51单片机,DS18B20实现程序
- 交通灯程序设计1
- 51单片机+adc0809+PT100的24路温度巡检仪
- LED点阵显示汉字
- 51单片机流水灯仿真+程序
- 51单片机DHT11温湿度
- 基于51单片机HC-06蓝牙模块使用
- 基于51单片机的HC-08蓝牙程序
- 51单片机实用计算器汇编+数码管.zip
- 51单片机 菜单程序OLED屏
评论
共有 条评论