发表于:2004/9/2 14:38:00
#0楼
初学单片机,请各位指点我的第一个程序:
#include <pic.h>
union adres
{
int y1;
unsigned char adre;
}adresult;//定义一个联合类型adres类adresult变量,包含一个基本型y1元素和一个无符号字符变量adre元素
unsigned char k ;
double q ;
int u;//定义一个整型变量
TRISA=0x08;//设置RA3为输入方式,RA0,RA1为输出方式
TRISB=0x00;
const ahar tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90};//不带小数点显示段码表
//AD初始化子程序
void adinitial()
{ADCON0=0xc5;//选择通道为RA3,打开AD转换器,AD转换时钟为内部RC
ADCON1=0x04;//把RA3设置为模拟输入通道
ADIE=1;//AD转换允许中断
PEIE=1;//外围中断允许
}
//AD采集中断子程序
void initial adint(void)
ADIF=0;//清除中断标志
adresult.adre=ADRES;//读取并存储AD转换结果
u=adresult.y1;
}
main ()
{
adinitial();//AD转换初始化
ei();//开中断
ADGO=1;//AD转换开始
di()
q=(duble)u;//把转换结果变成浮点数
q=q-51
q=q*50;
q=q/204;
k=(int)q;//输入1-5V,显示为0-50
void div()
{
int i;
i=k%10;
RB=TAB[i];
RA1=1;
RA0=0;
i=k%10;
RB=TAB[i];
RA0=1;
RA1=0;
}
}
#include <pic.h>
union adres
{
int y1;
unsigned char adre;
}adresult;//定义一个联合类型adres类adresult变量,包含一个基本型y1元素和一个无符号字符变量adre元素
unsigned char k ;
double q ;
int u;//定义一个整型变量
TRISA=0x08;//设置RA3为输入方式,RA0,RA1为输出方式
TRISB=0x00;
const ahar tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90};//不带小数点显示段码表
//AD初始化子程序
void adinitial()
{ADCON0=0xc5;//选择通道为RA3,打开AD转换器,AD转换时钟为内部RC
ADCON1=0x04;//把RA3设置为模拟输入通道
ADIE=1;//AD转换允许中断
PEIE=1;//外围中断允许
}
//AD采集中断子程序
void initial adint(void)
ADIF=0;//清除中断标志
adresult.adre=ADRES;//读取并存储AD转换结果
u=adresult.y1;
}
main ()
{
adinitial();//AD转换初始化
ei();//开中断
ADGO=1;//AD转换开始
di()
q=(duble)u;//把转换结果变成浮点数
q=q-51
q=q*50;
q=q/204;
k=(int)q;//输入1-5V,显示为0-50
void div()
{
int i;
i=k%10;
RB=TAB[i];
RA1=1;
RA0=0;
i=k%10;
RB=TAB[i];
RA0=1;
RA1=0;
}
}