找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2109|回复: 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--);
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:505032 发表于 2020-3-1 09:46 | 只看该作者
没有在你的main函数看到ADC函数加进去啊!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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