//-----------------------------------------------------------------
// 名称: 数码管显示两路A/D转换结果
//-----------------------------------------------------------------
// 说明: 调节RV1和RV2时,两路模拟电压将显示在集成式数码管上.
//
//-----------------------------------------------------------------
#include <pic.h>
#define INT8U unsigned char
#define INT16U unsigned int
//共阳数码管0~9的数字段码,最后一位为黑屏
const INT8U TABLE[] =
{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
//两路模拟转换结果显示缓冲,显示格式为:X.XX X.XX ,第4位和第8位不显示
int Display_Buffer[] = {0,0,0,0,0,0,0,0};
//-----------------------------------------------------------------
// 对通道Channel进行模数转换,转换结果分解存入显示缓冲
int i=0;
//-----------------------------------------------------------------
void ADC_Convert(INT8U Channel);
void delay();
void display(int x);
//-----------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------
void main()
{
ADCON1=0X04; //RA0、RA1、RA3作AD口,其它作普通口,VDD作参考电压
ADCON0=0X41; //系统时钟Fosc/8,初始选择RA0通道,允许ADC工作
PORTB=0XFF; //熄灭所有显示
TRISA=0XFF; //设置RA全为输入
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余3页未读,立即下载