• 大小: 754KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-07-04
  • 语言: 其他
  • 标签:

资源简介

数字电压表课程设计是我们很多童鞋一起辛苦做出来的劳动成果,里面东西很详细有protues仿真图,keill编程,还有我们使用的元器件的引脚资料图,所以以才值十分,希望下载看了后再给我评价! 功能要求: 1.用按键选择测量11路0~10V的输入电压值。 2.显示器件为LCD1602 3.测量的最小分辨率为0.002V,测量误差约为正0.002V 所用AD转换器件为TLC549,单片机为89C51 最好有超量程报警电路

资源截图

代码片段和文件信息

 		   #include
#include
#ifndef TLC549_ADC_H_
#define TLC549_ADC_H_

sbit Y=P1^7;
sbit X=P1^6;
sbit IOCLK = P1^0;
sbit DATAOUT = P1^1;
sbit CS = P1^2;
sbit rs=P1^3;
sbit rw=P1^4;
sbit ep=P1^5;

typedef unsigned char BYTE ;
typedef unsigned int  WORD ;
typedef bit BOOL ;
unsigned int Volt;
unsigned int LCD[7];

BYTE code dis1[]={“Voltage:“};
BYTE code dis2[]={“ error!“};

unsigned char TLC549_ADC(void);  
void Data_Conversion(void);
void Volt_To_LCD(void);



unsigned  char  TLC549_ADC(void)
{
unsigned  char  itmp;
CS=1;
IOCLK=0;
CS=0;
_nop_();
_nop_();
for(i=0;i<8;i++)
{
IOCLK=1;
tmp<<=1;
tmp|=DATAOUT;
IOCLK=0;
}
CS=1;
for(i=17;i!=0;i--)
_nop_();
return(tmp);
}

void  Data_Conversion(void)
{
unsigned  char  AD_Data;
AD_Data=TLC549_ADC();
Volt=5.0/256*AD_Data*10000;

}


void delay(BYTE ms)

{

BYTE i;

while(ms --)

{

for(i=0; i<250; i++)

{

_nop_();

_nop_();

_nop_();

_nop_();

}

}

}

 

BOOL lcd_bz()

{

BOOL result;

rs = 0;

rw = 1;

ep = 1;

_nop_();

_nop_();

_nop_();

_nop_();

result = (BOOL)(P2 & 0x80);

ep = 0;

return result;

}

 

void lcd_wcmd(BYTE  cmd)

{

while(lcd_bz());//判断LCD是否忙碌

rs = 0;

rw = 0;

ep = 0;

_nop_();

_nop_();

P2 = cmd;

_nop_();

_nop_();

_nop_();

_nop_();

ep = 1;

_nop_();

_nop_();

_nop_();

_nop_();

ep = 0;

}

 

 lcd_pos(BYTE pos)

{

lcd_wcmd(pos | 0x80);

}

 

 lcd_wdat(BYTE dat)

{

while(lcd_bz());//判断LCD是否忙碌

rs = 1;

rw = 0;

ep = 0;

P2 = dat;

_nop_();

_nop_();

_nop_();

_nop_();

ep = 1;

_nop_();

_nop_();

_nop_();

_nop_();

ep = 0;

}

 

 lcd_init()

{

lcd_wcmd(0x38);

delay(1);

lcd_wcmd(0x0c);

delay(1);

lcd_wcmd(0x06);

delay(1);

lcd_wcmd(0x01);

delay(1);

}

 

void main(void)

{
 
BYTE iz;
lcd_init();// 初始化LCD

delay(10);
while(1)
{

lcd_pos(0x00);//设置显示位置

i = 0;

while(dis1[i] != ‘\0‘)

{

lcd_wdat(dis1[i]);//显示字符

i++;

}
Data_Conversion();

LCD[0]=Volt/10000;
LCD[1]=Volt%10000/1000;
LCD[2]=‘.‘-0x30;
LCD[3]=Volt%1000/100;

LCD[4]=Volt%100/10;
LCD[5]=Volt%10;
LCD[6]=‘V‘-0x30;

Y=0; 
if(LCD[0]>=2)
  {    
     Y=1; 
     X=1;
     lcd_pos(0x40);// 设置显示位置
     i = 0;   
  _nop_();
  _nop_();

     while(dis2[i] != ‘\0‘)
      {
         lcd_wdat(dis2[i]);//显示字符

            i++;
  }
   }        
else     
   {
     Y=0;
 X=0;
 lcd_pos(0x40);// 设置显示位置
     i = 0;   
     for(i=0;i<7;i++)
      { 
         z=LCD[i]+0x30;
         lcd_wdat(z);
       }
  
}

}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-07-10 21:37  数字电压表课程设计\
     目录           0  2011-07-04 11:46  数字电压表课程设计\仿真电路图\
     文件      136039  2011-07-02 09:31  数字电压表课程设计\仿真电路图\Last Loaded 总电路完整图.DBK
     文件      136043  2011-07-02 09:24  数字电压表课程设计\仿真电路图\Last Loaded 总电路完整图123.DBK
     文件        3383  2011-07-04 09:36  数字电压表课程设计\仿真电路图\qq
     文件        3118  2011-07-04 09:36  数字电压表课程设计\仿真电路图\qq.hex
     文件          24  2011-07-04 09:36  数字电压表课程设计\仿真电路图\qq.lnp
     文件       12936  2011-07-04 09:36  数字电压表课程设计\仿真电路图\qq.M51
     文件        1008  2011-07-04 11:46  数字电压表课程设计\仿真电路图\qq.Opt
     文件         811  2011-07-04 09:36  数字电压表课程设计\仿真电路图\qq.plg
     文件        1978  2011-07-04 11:46  数字电压表课程设计\仿真电路图\qq.Uv2
     文件        1011  2011-07-01 10:41  数字电压表课程设计\仿真电路图\qq_Opt.Bak
     文件        1978  2011-07-01 10:41  数字电压表课程设计\仿真电路图\qq_Uv2.Bak
     文件        2762  2011-07-04 09:36  数字电压表课程设计\仿真电路图\Text1.c
     文件        8503  2011-07-04 09:36  数字电压表课程设计\仿真电路图\Text1.LST
     文件        3941  2011-07-04 09:36  数字电压表课程设计\仿真电路图\Text1.OBJ
     文件      136092  2011-07-04 11:46  数字电压表课程设计\仿真电路图\总电路完整图.DSN
     文件         768  2011-07-04 11:46  数字电压表课程设计\仿真电路图\总电路完整图.PWI
     文件      136043  2011-07-02 09:24  数字电压表课程设计\仿真电路图\总电路完整图123.DSN
     文件         768  2011-07-04 08:25  数字电压表课程设计\仿真电路图\总电路完整图123.PWI
     目录           0  2011-07-05 23:31  数字电压表课程设计\相关引脚资料\
     文件       35084  2011-07-04 11:29  数字电压表课程设计\相关引脚资料\A008343[1].jpg
     文件      380266  2011-07-01 11:18  数字电压表课程设计\相关引脚资料\at89s52中文资料.pdf
     文件      410354  2011-07-01 11:20  数字电压表课程设计\相关引脚资料\LCD-1602引脚定义[1].pdf
     文件       83968  2011-07-01 11:23  数字电压表课程设计\相关引脚资料\TLC549中文介绍.doc
     文件         162  2011-07-05 23:31  数字电压表课程设计\相关引脚资料\~$C549中文介绍.doc

评论

共有 条评论

相关资源