微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 5V电压表程序

5V电压表程序

时间:10-02 整理:3721RD 点击:
#include<reg52.h>
sbit wr=P3^6;
sbit rd=P3^7;
sbit csad=P0^7;
sbit wela=P2^7;
sbit dula=P2^6;
unsigned char code table[]={
                                0x3f,0x06,0x5b,0x4f,
                                0x66,0x6d,0x7d,0x07,
                                0x7f,0x6f,0x77,0x7c,
                                0x39,0x5e,0x79,0x71,
                                0x76,0x79,0x38,0x00
                              };
unsigned char tt,temp;
float value;
unsigned int a,value1;
void delay(unsigned char z);
void init();
void start();
void display(a);
void main()
{
   init();
  while(1)
   {
     start();
     value=temp*(5000.0/255.0);
     value1=(unsigned int)(value);
         display(value1);       
   }
}
void init()
{
  dula=0;
  wela=0;
}
void start()
{
  P0=0xff;//消除对LED显示的干扰
  wela=1;
  csad=0;
  wr=1;
  wr=0;
  wr=1;
  P0=0xff;
  delay(5);
  wela=0;
  
  wela=1;
  csad=0;
  rd=0;
  delay(5);
  rd=1;
  temp=P1;
  wela=0;
  P0=0xff;
}
void display(a)
{
  char bai,shi,ge;
  bai=a/1000;
  shi=a%1000/100;
  ge=a%1000%100/10;
  P0=table[bai]|0x80;
  dula=1;
  dula=0;
  
  P0=0xfe;
  wela=1;
  wela=0;
  delay(1);//这个很重要不然就会有重影多个显示
  
  P0=table[shi];
  dula=1;
  dula=0;
  P0=0xfd;
  wela=1;
  wela=0;
  delay(1);
  
  P0=table[ge];
  dula=1;
  dula=0;
  P0=0xfb;
  wela=1;
  wela=0;
  delay(1);
}
void delay(unsigned char z)
{
  unsigned char x,y;
  for(x=z;x>0;x--)
    for(y=110;y>0;y--);
}

支持小编

好资料,学习了

原理图?

多谢支持,

硬件? 用途?

这要有个原理图就好了!

不错的文件,值得收藏

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top