资源简介
基于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
- 上一篇:操作系统课程设计-小型文件管理系统
- 下一篇:菜品管理系统
相关资源
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 51单片机PWM程序,占空比、周期可调整
- 51单片机多功能自行车测速仪
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 51单片机基于protues的几个仿真实例
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- C51单片机汇编指令查询、学习工具集
- 基于8051单片机的红外接收程序
- 51单片机频率计(很简单)
- 基于51单片机的智能温控器
- 基于51单片机的16*16点阵动态显示
- 基于51单片机的模数转换与数模转换
- 51单片机中使用ucos ii的优缺点转
- 51单片机中使用ucos ii的优缺点
- 8051单片机教程第二十七课:单片机几
- 8051单片机教程第二十六课:矩阵式键
- 适用于STC单片机和51单片机的SX1262驱动
- 基于51单片机的计算器(C51编写,有
- 51单片机大量源码
- 基于51单片机的交通信号灯程序
- GSM监控系统51单片机设计
- 51单片机定时器/计数器的结构和原理
- MCS-51单片机定时器和计数器区别的理
评论
共有 条评论