找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 17238|回复: 15
收起左侧

AT89C52+ADC0809构成的量程0-5V电压表

  [复制链接]
ID:73477 发表于 2015-2-10 20:32 | 显示全部楼层 |阅读模式
       这是一款用ADC0809作为A/D转换、显示用四位共阴数码管、单片机为AT89C52构成的量程的0-5V电压测量表电子小制作。这个ADC0809(在proteus里是用ADC0808来仿真,和ADC0809是一样的)基本上能够做出一个比较正确的电压表,量程是0-5V。这里只是做了一个仿真,来验证程序的正确性,这个电子小制作没有做出实物,对这个单片机制作感兴趣的爱好都,可以进行实物的制作。做这个仿真最要注意的问题是ADC0808(ADC0809)的输出脚千万不能接反,实际制作中有很多爱好者都是接反的,造成得不到正确的仿真。下面是:AT89C52+ADC0809构成的量程0-5V电压表电子小制作源程序。




#include<reg52.h>

unsigned char code dispbitcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char dispbuf[4];
unsigned int i;
unsigned int j;
unsigned char getdata;
unsigned int temp;
unsigned int temp1;
unsigned char count;
unsigned char d;
sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^3;
sbit P34=P3^4;
sbit P35=P3^5;
sbit P36=P3^6;
sbit P20=P2^0;
sbit P21=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;
sbit P17=P1^7;
void TimeInitial();
void Delay(unsigned int i);

void t1(void) interrupt 3 using 0
{
  TH1=(65536-200)/256;
  TL1=(65536-200)%256;
  CLK=~CLK;
}
void TimeInitial()
{
  TMOD=0x10;
  TH1=(65536-200)/256;
  TL1=(65536-200)%256;
  EA=1;
  ET1=1;
  TR1=1;
}
void Delay(unsigned int i)
{
  unsigned int j;
  for(;i>0;i--)
  {
   for(j=0;j<125;j++)
  {;}
  }
}

void Display()
{
  P1=dispbitcode[dispbuf[3]];
  P20=0;
  P21=1;
  P22=1;
  P23=1;
  Delay(10);
  P1=0x00;
  P1=dispbitcode[dispbuf[2]];
  P17=1;
  P20=1;
  P21=0;
  P22=1;
  P23=1;
  Delay(10);
  P1=0x00;
  P1=dispbitcode[dispbuf[1]];
  P20=1;
  P21=1;
  P22=0;
  P23=1;
  Delay(10);
  P1=0x00;
  P1=dispbitcode[dispbuf[0]];
  P20=1;
  P21=1;
  P22=1;
  P23=0;
  Delay(10);
  P1=0x00;
}
void main()
{
  TimeInitial();
  while(1)
  {
    ST=0;
    OE=0;
    ST=1;
    ST=0;
    P34=0;
    P35=0;
    P36=0;
    while(EOC==0);
    OE=1;
    getdata=P0;
    OE=0;
    temp=getdata*1.0/255*500;
    dispbuf[0]=temp%10;
    dispbuf[1]=temp/10%10;
    dispbuf[2]=temp/100%10;
    dispbuf[3]=temp/1000;
    Display();
  }
}




回复

使用道具 举报

ID:97282 发表于 2015-11-26 20:44 | 显示全部楼层
请问一下我照你的图一样画了一个protues,为什么显示的是00.00,看到请尽快回复,谢谢
回复

使用道具 举报

ID:102567 发表于 2016-3-17 18:27 | 显示全部楼层
正在做这个,这就是我想要的。
回复

使用道具 举报

ID:109858 发表于 2016-3-21 16:52 | 显示全部楼层
电路图和源程序,
回复

使用道具 举报

ID:114948 发表于 2016-4-18 16:12 | 显示全部楼层
亲,我想问问你右下那两个元件是什么?
回复

使用道具 举报

ID:119633 发表于 2016-6-27 16:50 | 显示全部楼层
仿真图能分析一份吗/
回复

使用道具 举报

ID:118796 发表于 2016-6-30 11:20 | 显示全部楼层
非常感谢,试过了~
回复

使用道具 举报

ID:209880 发表于 2017-6-10 17:27 | 显示全部楼层
请问这个和单片机晶振的值有关吗
回复

使用道具 举报

ID:209964 发表于 2017-6-10 22:36 | 显示全部楼层
有那个proteus打开的文件吗
回复

使用道具 举报

ID:211258 发表于 2017-6-15 16:49 | 显示全部楼层
谢谢分享!收藏了!
回复

使用道具 举报

ID:258881 发表于 2017-12-31 16:22 | 显示全部楼层
我就是接反了输出接口,调整了一下午没有调出来。大家一定注意。OUT8是最低位,OUT1是最高位。

评分

参与人数 1黑币 +80 收起 理由
admin + 80 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:378732 发表于 2018-11-24 04:59 | 显示全部楼层
学习一下
回复

使用道具 举报

ID:434886 发表于 2018-11-29 13:04 | 显示全部楼层
右上角的那个器件是什么啊就是那个三角带一条线,显示V=3。04998的那个,是必须器件吗?
回复

使用道具 举报

ID:435737 发表于 2018-11-29 18:19 | 显示全部楼层
谢谢楼主分享
回复

使用道具 举报

ID:643804 发表于 2019-11-17 18:31
有文件吗?可以发下吗,有偿

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

本版积分规则

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

Powered by 单片机教程网

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