找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6757|回復: 2
打印 上一主題 下一主題
收起左側

基于ADC0809的電阻測量

[復制鏈接]
跳轉到指定樓層
樓主
ID:73477 發(fā)表于 2015-2-10 17:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit lcdrs=P2^0;     //LCD讀寫
sbit lcden=P2^1;     //LCD使能
//*****************************************
sbit DA=P2^2;     
sbit DB=P2^3;
sbit DC=P2^4;
sbit ST=P2^5;    //LCD驅動口
sbit OE=P2^6;
sbit EOC=P2^7;
sbit F=P3^0;
//********************************************
sbit KR=P3^1;   
uchar num;
uchar code table_1[16]="taoyiming.c";
uchar table_2[16]="0.00000";
void delay(uint x)    //延時函數   
{
  uint i,j;
for(i=x;i>0;i--)
  for(j=110;j>0;j--);
}
void write_com(uchar com)     //LCD寫指令函數
{
lcdrs=0;
P0=com;
delay(1);      
lcden=1;
delay(1);
lcden=0;
}
void write_data(uchar date)    //LCD寫數據函數   
{
lcdrs=1;
P0=date;
delay(1);
lcden=1;
delay(1);
lcden=0;
}
void display()
{
  write_com(0x80+0x40);
for(num=0;num<7;num++)      
{
   write_data(table_2[num]);
  delay(1);
}   
}
void ad0809()
{
uchar a;
float b=222;
uint i;
DC=0;
DA=DB=1;
  ST=1;
_nop_();    //延時一個機器周期
ST=0;
display();
while(EOC!=1);
P1=0xff;
OE=0;
_nop_();
OE=1;
_nop_();
a=P1;
OE=0;
b=a*(5.0/256.0)*10000;
i=(uint)b;
table_2[0]=i/10000+48;
table_2[1]='.';
table_2[2]=i/1000%10+48;
table_2[3]=i/100%10+48;
table_2[4]=i/10%10+48;
table_2[5]=i%10+48;   
display();   
}
void init()           //初始化函數  
{
  lcden=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
write_com(0x80);
for(num=0;num<11;num++)      
{
   write_data(table_1[num]);
  delay(1);
}
TMOD=0X01;
TH2=(65536-5000)/256;
TL2=(65536-5000)%256;
EA=1;
ET2=1;
TR2=1;
}
void main()
{
init();
  while(1)
{
  KR=1;
  if(KR==0){while(KR==0);ad0809();}
   
}  
}
void timer()interrupt 5
{
  TH2=(65536-5000)/256;
TL2=(65536-5000)%256;
F=0;
F=~F;
}   


由于沒有找到有源晶振,所以我就用定時器產生一個時鐘脈沖,
void timer()interrupt 5
{
  TH2=(65536-5000)/256;
TL2=(65536-5000)%256;
F=0;
F=~F;
}   
由于時間問題,我就不把實物展示出來了,下面是我的電路連接圖:




排阻部分








電源部分








液晶部分






ADC0809部分






單片機部分






被測電阻和按鍵部分




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:99590 發(fā)表于 2015-12-19 22:53 | 只看該作者
想問一下后面的兩個按鍵是起什么作用?1602怎么不顯示阻值呢
回復

使用道具 舉報

板凳
ID:102963 發(fā)表于 2018-12-31 11:10 | 只看該作者
你這個是電壓測量吧,測出來是電壓,而且你的圖的ADC0808部分的12腳沒接電源,16腳沒接地,10腳沒有CLOCK網絡標號。
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表