找回密码
 立即注册

QQ登录

只需一步,快速开始

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

AD转换电压测量

[复制链接]
跳转到指定楼层
楼主
ID:218728 发表于 2017-7-11 10:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AD转换电压测量
#include <reg51.h>
char code TAB[10]={ 0xc0, 0xf9, 0xa4, 0xb0, 0x99,
     0x92, 0x83, 0xf8, 0x80, 0x98 };
#define  ADC P0
#define  SCANP P1  
#define  SEG7P P2
sbit  relay=P3^0;
sbit  LED=P3^1;
unsigned char  disp[4]={0, 0, 0, 0};
unsigned char _adc;  
void dataproc(unsigned char);   
void display(void);
void delay1ms(char);
main()     
{ while(1)
{ display();
  _adc=ADC;
  dataproc(_adc);  
}   
}     
void dataproc(unsigned char data_in)
{ unsigned int results;
        LED=1;   
results= data_in*197;
results=((results/(50000-results))*10000);   
disp[3]=results/10000;  
disp[2]=(results/1000)%10;
disp[1]=(results/100)%10;
disp[0]=(results/10)%10;
if(disp[3]>3)
  {  
     relay=0;
  LED=~LED;
  delay1ms(500);
  }   
}        
void display(void)
{ char i,scan;  
char times=20;   
while (--times>=0)
{ scan=1;   
  for(i=0;i<4;i++)
  { SEG7P=0xff;  
   SCANP=scan;  
   SEG7P=TAB[disp[i]];
   delay1ms(4);
   scan<<=1;   
  }     
}      
}      
void delay1ms(char x)
{ int i,j;   
for(i=0;i<x;i++)   
  for(j=0;j<120;j++);
}      

评分

参与人数 1黑币 +1 收起 理由
穿着安踏去拉萨 + 1 楼主,这资料给的有点草率啊,要是能备注一.

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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