资源简介

基于FPGA的电压表,用数码管显示数值。ADC0809进行AD采集。

资源截图

代码片段和文件信息

#include 

#define uchar unsigned char
#define uint unsigned int

/*************位定义***********************/

sbit OE    = P3^0;
sbit EOC   = P3^1;
sbit START = P3^2;
sbit clk   = P3^3;
sbit dot=P1^7;

/*************赋值*************************/

uint digtial[4]getdataend;
uchar code dis[] = {0X3F0X060X5B0X4F0X660X6D0X7D0X070X7F0X6F};
uchar getdata;

//*************************************************
//函数名称:void delay1ms( unsigned char t)
//函数功能:延时函数
//返回类型:无
//使用说明:
//         1:产生需要的延时时间
//*************************************************


void delay1ms( unsigned char t)  
{
unsigned char ij;
for( ; t; t--)
for(i=4; i>0; i--)
for(j=123; j>0; j--);
}

 void time_time_clk() interrupt 1  using 0 
{
TH0 = (65536-20)/256;//给高8位赋值
TL0 = (65536-20)%256;//给低8位赋值
clk=~clk;



//********************
//函数名称:void inint()
//函数功能:初始化定时器.ADC0809
//********************
void inint()
{
TMOD = 0x01;//选择工作模式 16位
TH0 = (65536-20)/256;//给高8位赋值
TL0 = (65536-20)%256;//给低8位赋值
EA  = 1;//开总中断
ET0 = 1;//启动定时器0;
TR0 = 1;//开定时器0
START  = 0;//给ADC0809赋初值
OE = 0;
}


//****************************
//函数名称:void display()
//函数功能:动态扫描,数码管显示电压值
//****************************

void display()
{


P2 = 0X0E;
P1 = dis[digtial[3]];
dot = 1;
delay1ms(10);
P1 = 0X00;

P2 = 0X0d;
P1 = dis[digtial[2]];
delay1ms(10);
P1 = 0X00;

P2 = 0X0b;
P1 = dis[digtial[1]];
delay1ms(10);
P1 = 0X00;

P2 = 0X07;
P1 = dis[digtial[0]];
delay1ms(10);
P1 = 0X00;


}
//*****************************
//函数名称:void AD()
//函数功能:将模拟电压转换为数字
//*****************************
void AD()
{
START = 0;
OE    = 0;
START = 1;
START = 0;//启动AD转换
while(EOC == 0)
{
}//判断转换是否结束
OE = 1;//允许输出
getdata = P0;//将转换得到的数据赋给getdata
OE = 0;//关闭输出
getdataend = getdata*(5000/255);
digtial[3] = getdataend/1000; //最高位数值
digtial[2] = getdataend%1000/100;    
digtial[1] = getdataend%100/10;
digtial[0] = getdataend%10;//最低位数值


}
void main()
{

inint();//定时器和ADC0809的初始化
while(1)
{
AD();//AD转换
display();//数码管显示
}
}





 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    .......      1296  2010-02-12 12:54  ADC0809_Opt.Bak

    .......         0  2010-02-10 17:25  ADC0809_Uv2.Bak

     文件       2363  2010-02-18 18:34  ADC0809.c

     文件     135889  2010-02-18 18:00  Last Loaded ADC0809仿真.DBK

     文件       1076  2010-02-18 18:15  动态.hex

     文件         31  2010-02-12 13:23  ADC0809.lnp

     文件       4046  2010-02-12 13:23  ADC0809.LST

     文件       9000  2010-02-12 13:23  ADC0809.M51

     文件       6031  2010-02-12 13:23  ADC0809.OBJ

     文件       1296  2010-02-12 13:24  ADC0809.Opt

     文件       6323  2010-02-12 13:23  ADC0809

     文件       2555  2010-02-12 13:24  ADC0809.plg

     文件        768  2010-02-25 22:16  ADC0809仿真.PWI

     文件     135889  2010-02-25 22:06  ADC0809仿真.DSN

----------- ---------  ---------- -----  ----

               306563                    14


评论

共有 条评论