单片机
返回首页

PIC单片机ADC的编程设计

2020-01-09 来源:elecfans

#include

__CONFIG(0X1F71);

#define uchar unsigned char

#define uint unsigned int

const uchar Tab[]=

{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

const uchar Tab1[]=

{0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//带小数点的代码

PIC单片机ADC的编程设计
 

void DisPlay(uchar date1,uchar date2,uchar date3,uchar date4);

void DelayMS(uint z)

{

uint a,b;

for(a=26;a》0;a--)

for(b=z;b》0;b--);

}

/****************************************************

端口初始化函数

*****************************************************/

void PORT_Init(void)

{

TRISB=0X00;

TRISC=0XC0;

}

/****************************************************

ADC模块初始化函数

*****************************************************/

void ADC_Init(void)

{

ADCON1=0X8E;

ADCON0=0X41;

DelayMS(1);

}

/****************************************************

ADC模块开始转换函数

*****************************************************/

uint ADC_Start(void)

{

uint uiADCTemp;

ADGO=1;

while(ADGO);//等待转换完成

uiADCTemp=ADRESH;

uiADCTemp=uiADCTemp《《8|ADRESL;

uiADCTemp=uiADCTemp/1023.0*5000.0;

returnuiADCTemp;

}

void main(void)

{

uint VolTageNum;

uchar num1,num2,num3,num4;

PORT_Init();

ADC_Init();

while(1)

{

VolTageNum=ADC_Start();

num1=VolTageNum/1000;

num2=VolTageNum%1000/100;

num3=VolTageNum%100/10;

num4=VolTageNum%10;

DisPlay(num1,num2,num3,num4);

}

}

/****************************************************

显示函数

*****************************************************/

void DisPlay(uchar date1,uchar date2,uchar date3,uchar date4)

{

PORTB=Tab1[date1];

PORTC=0XFE;

DelayMS(1);

PORTB=0X00;

PORTB=Tab[date2];

PORTC=0XFD;

DelayMS(1);

PORTB=0X00;

PORTB=Tab[date3];

PORTC=0XFB;

DelayMS(1);

PORTB=0X00;

PORTB=Tab[date4];

PORTC=0XF7;

DelayMS(1);

PORTB=0X00;

}

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

最新器件
精选电路图
  • 基于IC555的可变PWM振荡器电路

  • 优化电路板布局的简单方法

  • 如何使用LED驱动器LM3915制作振动计

  • 分享一个电网倾角计电路

  • 电谐波图形均衡器示意图

  • 一种构建12V和230V双直流电源的简单方法

    相关电子头条文章