[求助] 求pic16f877数码管显示 c程序

木棉   2012-8-28 16:46 楼主
有ad采样程序 怎么写数码管显示程序
#include//AD信号采样
char adh,adl;
int chanel0,chanel1,chanel2;
int x;
void interrupt AD_int()//中断服务程序
{
wait: if(ADIF==0) goto wait;//等待AD转换结束
     adh=ADRESH;adl=ADRESL;
  ADIF=0;//PIR1.6
return;
}
void DELAY()
{
unsigned int i;
for(i=999;i>0;i--);
}
void main()
{
TRISA=0XFF;//A口输入
TRISC=0X00;
TRISB=0X00;
PEIE=1;GIE=1;ADIE = 1;
T1CON=0X30;
INTCON = 0X00;
DELAY();
ADCON1=0b00000100;//AN3 AN1 AN0模拟输入
ADCON0=0b01000001;//左对齐
DELAY();
ADGO = 1;
x=(int)adh<<8;
chanel0=x+(int)adl;
ADCON0=0b01001001;
DELAY();
ADGO = 1;
x=(int)adh<<8;
chanel1=x+(int)adl;
ADCON0=0b01011001;
DELAY();
ADGO = 1;
x=(int)adh<<8;
chanel2=x+(int)adl;
}

回复评论 (4)

数码管显示程序与硬件接口方式有关,需要先确定接口方式,如串行的/并行的,共阴的/共阳的,静态的/动态的等等,先确定好硬件的前提条件再编程。不管什么单片机,硬件确定后其编程思路是一样的。
点赞  2012-8-28 17:21
程序我还没有仔细看,数码管显示无非就是扫描呗。
将你获取的AD值,存入一个缓存器,然后不断的扫描
再拿去点亮相应的管段,。。。。。。不知道仁兄懂不?
既然有AD采样,那你肯定获得了AD结果呀~~是吧。。。
点赞  2012-8-28 17:21
对,入我楼上所说。哈哈~~高人,膜拜啊~~~
点赞  2012-8-28 17:21

回复 沙发 xu__changhua 的帖子

能不能说得具体点
点赞  2012-8-28 18:06
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复