找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1274|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

為什么我的測試電壓不實時顯示,運行一次顯示一次,是不是還要加個判斷+中斷

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:443783 發(fā)表于 2019-3-20 09:44 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
file:///C:/Users/dell/AppData/Roaming/Tencent/Users/201019512/QQ/WinTemp/RichOle/OJBOACFANY97WY$%60)M%60DH%25Q.png
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]="V1= V2= Vout=";//顯示字符。
  uchar code table1[]="v";           //顯示符號。
  uchar code table2[]="0123456789."; //顯示數(shù)字。
sbit  rs=P2^0;                       //LCD讀寫。
sbit  rw=P2^1;                       //LCD讀寫。
sbit  en=P2^2;                       //LCD使能。
////
sbit  CLK=P2^4;                      //ADC時鐘。
sbit  ST=P2^5;                       //ADC開始。
sbit  EOC=P2^6;                     
sbit  OE=P2^7;
float V2;                           
uchar num;
uint V1,Vot,bai,shi,ge;
//延時函數(shù)
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
   for(y=120;y>0;y--);
}
void write_com(uchar com)//寫命令
{
rs=0;
rw=0;
P0=com;
delay(22);
en=1;
en=0;
}
void write_data(uchar date)//寫數(shù)據(jù)
{
rs=1;
rw=0;
P0=date;
delay(22);
en=1;
en=0;
}
void init()//初始化
{
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
}
void adc()//ADC開始采集數(shù)據(jù)
{
EA=1;
ST=0;
ST=1;
delay(22);
ST=0;
while(EOC==0);
OE=1;
EA=0;
V1=P1;
V2=((float)P1*5.0/255)*1.005;//*1.005 是數(shù)值255以內(nèi)的誤差補償系數(shù)。
OE=0;
}
display()//顯示函數(shù)
{
init();
write_com(0x80);
for(num=0;num<3;num++)
{
  write_data(table[num]);
  delay(5);
}
  write_com(0x83);
  for(num=0;num<1;num++)
{
  adc();
  V2=V2*100;
  bai=(int)V2/100;
  write_data(table2[bai]);
  delay(5);
  shi=(int)V2%100/10;
  write_data(table2[shi]);
  delay(5);
  ge=(int)V2%10;
  write_data(table2[ge]);
  delay(5);
  write_data(table2[10]);
  delay(5);   
}
  write_com(0x87);
   write_data(table2[0]);
  write_data(table1[0]);
  delay(5);
write_com(0x80+0x40);
for(num=0;num<5;num++)
{
  write_data(table[num+8]);
  delay(5);
}
  write_com(0x80+0x45);
  for(num=0;num<1;num++)
{
  adc();
  V2=V2*100;
  bai=(int)V2/100;
  write_data(table2[bai]);
  delay(5);   
  shi=(int)V2%100/10;
  write_data(table2[shi]);
  delay(5);
  ge=(int)V2%10;
  write_data(table2[ge]);
  delay(5);
  write_data(table2[10]);
  delay(5);
}
  write_com(0x80+0x49);
  write_data(table2[0]);
   write_data(table1[0]);
  delay(5);
while(1);
}
void main()
{
EA=1;
TMOD=0x01;
TH0=0xff;
TL0=0xb4;
ET0=1;
TR0=1;
while(1)
{
  adc();
  display();
}
}
void timer()interrupt 1
{
TH0=0xff;
TL0=0xf0;
CLK=~CLK;
}

OJBOACFANY97WY$`)M`DH%Q.png (252.57 KB, 下載次數(shù): 28)

OJBOACFANY97WY$`)M`DH%Q.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:123289 發(fā)表于 2019-3-20 13:10 | 只看該作者
畫出程序流程圖,你自己就清楚了。
回復(fù)

使用道具 舉報

板凳
ID:349617 發(fā)表于 2019-3-20 16:40 | 只看該作者

1、只做了一次掃描,做一個函數(shù)不停的掃描,
2、把掃描函數(shù)時時顯示出來就可以。就算你調(diào)節(jié)也會跟著變化。
回復(fù)

使用道具 舉報

地板
ID:443783 發(fā)表于 2019-3-25 14:32 | 只看該作者
yzwzfyz 發(fā)表于 2019-3-20 13:10
畫出程序流程圖,你自己就清楚了。

謝謝,明白了1
回復(fù)

使用道具 舉報

5#
ID:443783 發(fā)表于 2019-3-25 14:33 | 只看該作者
小李子鐵頭 發(fā)表于 2019-3-20 16:40
1、只做了一次掃描,做一個函數(shù)不停的掃描,
2、把掃描函數(shù)時時顯示出來就可以。就算你調(diào)節(jié)也會跟著變化 ...

謝謝 明白了
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表