找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7467|回复: 8
打印 上一主题 下一主题
收起左侧

51单片机ADC0808两路输入的数字电压表设计 Proteus仿真程序

  [复制链接]
跳转到指定楼层
楼主
见附件
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. #include<reg51.h>
  2. unsigned char a[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71},b[4],c=0x01;

  3. sbit  START=P2^4;
  4. sbit  OE=P2^6;
  5. sbit  EOC=P2^5;
  6. sbit  add_a=P2^2;
  7. sbit  add_b=P2^1;
  8. sbit  add_c=P2^0;
  9. sbit  led=P2^7;
  10. sbit  buzzer=P2^3;

  11. void Delay1ms(unsigned int count)
  12. {
  13.         unsigned  int i,j;
  14.         for(i=0;i<count;i++)
  15.         for(j=0;j<120;j++);
  16. }

  17. void show()    //显示函数
  18. {
  19.         unsigned int r;
  20.         for(r=0;r<4;r++)
  21.         {
  22.                 P1=(c<<r);
  23.                 P3=b[r];
  24.                 if(r==2)    //显示小数点
  25.                 P3=P3|0x80;
  26.                 Delay1ms(1);
  27.         }
  28. }


  29. void main(void)
  30. {
  31.         unsigned int addata=0,i;
  32.         while(1)
  33.   {              //采集第一路信号
  34.     add_a=0;
  35.     add_b=0;
  36.     add_c=0;               
  37.                 START=1;
  38.                 START=0;
  39.                 while(EOC==0)
  40.                 {
  41.                         OE=1;
  42.                 }
  43.         addata=P0;
  44.         if(addata>=0x40)    //当大于1.25v时,则使用LED和蜂鸣器报警
  45.         {
  46.                 for(i=0;i<100;i++)
  47.                 {
  48.                         led=~led;
  49.                         buzzer=~buzzer;
  50.                 }
  51.                 led=1;   //控制发光二极管D2闪烁,发出光报警信号
  52.                 buzzer=1;     //控制蜂鸣器发声,发出声音报警信号
  53.         }
  54.         else     //否则取消报警
  55.         {
  56.                 led=0;     //控制发光二极管D2灭
  57.                 buzzer=0;  //控制蜂鸣器不发声
  58.         }
  59.         addata=addata*1.96;  //将采集的二进制数转换成可读的电压值
  60.         OE=0;
  61.         b[0]=a[addata%10];
  62.         b[1]=a[addata/10%10];
  63.         b[2]=a[addata/100%10];
  64.         b[3]=a[addata/1000];
  65.         for(i=0;i<=200;i++)
  66.         {
  67.                 show();
  68.         }
  69.         
  70.         
  71.           add_a=1;     //采集第二路信号
  72.     add_b=0;
  73.     add_c=0;               
  74.                 START=1;     //启动ADC0808开始转换
  75.                 START=0;
  76.                 while(EOC==0)
  77.                 {
  78.                         OE=1;
  79.                 }
  80.         addata=P0;
  81.         if(addata>=0x80)    //当大于2.5v时,则使用LED和蜂鸣器报警
  82.         {
  83.                 for(i=0;i<100;i++)
  84.                 {
  85.                         led=~led;
  86.                         buzzer=~buzzer;
  87.                 }
  88.                 led=1;   //控制发光二极管D2闪烁,发出光报警信号
  89.                 buzzer=1;     //控制蜂鸣器发声,发出声音报警信号
  90.         }
  91.         else     //否则取消报警
  92.         {
  93.                 led=0;     //控制发光二极管D2灭
  94.                 buzzer=0;  //控制蜂鸣器不发声
  95.         }
  96.         addata=addata*1.96;  //将采集的二进制数转换成可读的电压值
  97.         OE=0;
  98.         b[0]=a[addata%10];
  99.         b[1]=a[addata/10%10];
  100.         b[2]=a[addata/100%10];
  101.         b[3]=a[addata/1000];
  102.         for(i=0;i<=200;i++)
  103.         {
  104.                 show();
  105.         }
  106. }
  107. }
复制代码


所有资料51hei提供下载:
源程序 仿真.rar (93.63 KB, 下载次数: 206)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏5 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:747282 发表于 2020-5-25 19:05 | 只看该作者
protues仿真图的左边是什么图画呀,看不完整
回复

使用道具 举报

板凳
ID:761092 发表于 2020-5-26 10:58 | 只看该作者
感谢大佬
回复

使用道具 举报

地板
ID:756407 发表于 2020-5-28 23:22 | 只看该作者
实在是太棒了
回复

使用道具 举报

5#
ID:756438 发表于 2020-6-3 23:29 | 只看该作者
感谢大佬
回复

使用道具 举报

6#
ID:137643 发表于 2020-6-6 09:02 | 只看该作者
仿真用不了
回复

使用道具 举报

7#
ID:787695 发表于 2020-6-23 14:47 | 只看该作者

你是自己画的图还是下载作者的安装包啊?我自己画的没毛病啊,就是仿真不对
回复

使用道具 举报

8#
ID:839953 发表于 2020-11-8 13:51 | 只看该作者

转换以下格式
回复

使用道具 举报

9#
ID:284050 发表于 2020-12-16 22:53 | 只看该作者
实际应用中,基准电压怎么获得?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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