立即注冊 登錄
返回首頁

uid:208134的個人空間

日志

數(shù)字電壓表程序,大神們看看對不對

已有 428 次閱讀2017-6-5 19:01 | 電壓表, 程序

include<reg52.h>#include<intrins.h>         //調(diào)用_nop_();延時函數(shù)用
#define uchar unsigned char#define uint unsigned int
uchar code table[]="0123456789.";//定義顯示的數(shù)組
   
sbit lcden=P3^5;//定義管腳
sbit lcdrs=P3^3;
sbit lcdrw=P3^4;
sbit a=P2^1;
sbit b=P2^2;
sbit c=P2^3;
sbit st=P2^4;
sbit eoc=P2^5;
sbit oe=P2^6;
uchar num,flag;
void delay(uint z)//延時函數(shù)
{
 uint x,y;
 for(x=z;x>0;x--)
 for(y=110;y>0;y--);
}
void write_com(uchar com)//1602讀指令
{ lcdrw=0;
 lcdrs=0;
 P1=com;
 delay(5);
 lcden=1;
 delay(5);
 lcden=0;
}

 
void write_data(uchar date)//1602讀數(shù)據(jù)
{ lcdrw=0;
 lcdrs=1;
 P1=date;
 delay(5);
 lcden=1;
 delay(5);
 lcden=0;
}

 
void lcd_init()//1602初始化函數(shù)
{
 
 lcden=0;
 write_com(0x38);
 write_com(0x0c);
 write_com(0x06);
 write_com(0x01);
 
}

 
void main()
 uchar date=0;
 float temp=0.0;
    uchar q,b,s,g;
  a=1;//選著ADC0809的第7通道
  b=1;
  c=1;
     lcd_init();   
     oe=0;
    while(1) 
   {
       st=0;
    st=1;
    st=0;
       delay(5); 
    while(!eoc)
     {
       oe=1;
    date=P0;
    oe=0;
 temp= (float) date*5.0/256;//數(shù)據(jù)處理
    
 
 temp=temp/100.0;
 temp=temp*100000.0;
 q=(int)temp/1000;
 b=(int)temp%1000/100;
 s=(int)temp%1000%100/10;
 g=(int)temp%10;
   

 
     write_com(0x80);//1602顯示處理好的數(shù)據(jù)
  write_data(table[q]);
  delay(20);
  write_data(table[11]);
  delay(20);
  write_data(table[b]);
  delay(20);
  write_data(table[s]);
  delay(20);
  write_data(table[g]);
  delay(20);
     }
   
   }    
       
}


路過

雞蛋

鮮花

握手

雷人

評論 (0 個評論)

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

返回頂部