找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2870|回复: 1
收起左侧

为何ADC显示不出来 pic单片机

[复制链接]
ID:139808 发表于 2017-2-8 20:25 | 显示全部楼层 |阅读模式
#include <pic.h>
#define uchar   unsigned char
#define uint  unsigned int
__CONFIG(0x3B31);
void init(void);
void init();
void delay(int x);
void disp(uchar num1,uchar num2,uchar num3,uchar num4);
uint get_ad();
unsigned char table[]={0b11000000,0b11111001,0b10100100,
               0b10110000,0b10011001,0b10010010,0b10000010,
               0b11111000,0b10000000,0b10010000};  //字形码数组
void main()
{
        uint lednum;
        uchar a1,a2,a3,a4;
        init();

        while(1)
        {
        lednum=get_ad();
        a1=lednum/1000;
        a2=lednum&1000/100;
        a3=lednum&100/10;
        a4=lednum&10;
        disp(a1,a2,a3,a4);        
        }
}        
void init()
{        
        TRISA0=1,
        TRISD=0;
        TRISC=0;
        PORTA=0;
        PORTC=0;
        PORTD=0;
        ADCON1=0x8e;
        ADCON0=0x41;
        delay(10);
}
uint get_ad()
{
        uint adval;
        GO=1;
        while(GO);
        adval=ADRESH;
        adval=adval<<8|ADRESL;
        return (adval);
}
void disp(uchar num1,uchar num2,uchar num3,uchar num4)
{
PORTC=table[num1];
PORTD=0x08;
delay(2);
PORTC=table[num1];
PORTD=0x04;
delay(2);
PORTC=table[num1];
PORTD=0x02;
delay(2);
PORTC=table[num1];
PORTD=0x01;
delay(2);
}
void delay (int x)
{
        uint a,b;
        for(a=x;a>0;a--)
                for(b=110;b>0;b--);
}

回复

使用道具 举报

ID:505032 发表于 2020-3-1 09:46 | 显示全部楼层
没有在你的main函数看到ADC函数加进去啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表