資源簡介
51單片機ADC0809測電壓12864顯示程序

代碼片段和文件信息
//檢測可以在板子上接上一個10K滑動變阻器,將ADC0809?26腳引出測??最大顯示5V最小0V
#include?
#define?lcddata?P0 //12864液晶數據口
sbit?RS?=?P2^7;
sbit?RW?=?P2^6;
sbit?EN?=?P2^5;
#define?adcdata?P1 //adc數據口
sbit?start=P3^4; ???//adc0809引腳
sbit?eoc=P3^5;
sbit?oe=P3^6;
sbit?aa=P3^7; ???//給adc0809提供時鐘信號
sbit?ale=P2^3;
sbit?d3=P2^2; ???//adc0809數據口選擇?
sbit?d2=P2^1; ???//d1d2d3都為0時選中adc數據0口
sbit?d1=P2^0;
uint?j1j2j3k;
float?l; ???//用來讀取數據
void?zd() ???//中斷函數?定時計數器0
{
EA=1;
ET0=1;
TH0=0XDC;
TL0=0X00;
TR0=1;
}
void?zoushi()?interrupt?1
{
TH0=0XDC;
TL0=0X00;
aa=~aa;
}
uchar?Lcd_CheckBusy(void)
{
????uchar?Busy;
lcddata=0xff;
????RS=0;
????RW=1;
????EN=1;
????Busy=lcddata&0x80;
????EN=0;
????return?Busy;
}
void?Lcd_WriteData(uchar?Data)
{??
while(Lcd_CheckBusy());
RS=1;
RW=0;
EN=0;
lcddata=Data;
EN=1;
EN=0;
}
void?Lcd_WriteCmd(uchar?i)
{??
while(Lcd_CheckBusy());
RS=0;
RW=0;
EN=0;
lcddata=i;
EN=1;
EN=0;
}
void?init()
{
Lcd_WriteCmd(0x38);Lcd_WriteCmd(0x38);
Lcd_WriteCmd(0x38);Lcd_WriteCmd(0x38);??
Lcd_WriteCmd(0x08);Lcd_WriteCmd(0x01);
Lcd_WriteCmd(0x06);Lcd_WriteCmd(0x0c);
}
void?clear()
{
Lcd_WriteCmd(0x01);
}
void?xie(uchar?xuchar?yuchar?*s)??????
{
uchar?i=0;?????
if(y==0)Lcd_WriteCmd(0x80+x);?
else?if(y==1)Lcd_WriteCmd(0x90+x);???
else?if(y==2)Lcd_WriteCmd(0x88+x);????
else?if(y==3)Lcd_WriteCmd(0x98+x);
else?;
while?(*s)
{
Lcd_WriteData(*s);s++;
Lcd_WriteData(*s);s++;i++;
if(i>=8-x)
{
i=x=0;y++;
if(y==0)Lcd_WriteCmd(0x80);?
else?if(y==1)Lcd_WriteCmd(0x90);???
else?if(y==2)Lcd_WriteCmd(0x88);??
else?if(y==3)Lcd_WriteCmd(0x98);?
else;
}
}
}
void?xianshi()
{
uchar?xs1[16]={“????????“};
l=l/51;
k=l*100;
j1=k/100;
j2=k%100/10;
j3=k%10;
xs1[0]=j1+‘0‘;xs1[2]=j2+‘0‘;xs1[3]=j3+‘0‘;
xs1[1]=‘.‘;xs1[4]=‘V‘;xs1[5]=‘?‘;xs1[6]=‘?‘;xs1[7]=‘?‘;
xs1[8]=‘?‘;xs1[9]=‘?‘;xs1[10]=‘?‘;xs1[11]=‘?‘;
xs1[12]=‘?‘;xs1[13]=‘?‘;xs1[14]=‘?‘;xs1[15]=‘?‘;
xie(00xs1???????????????);
xie(01“????????????????“);
xie(02“????????????????“);
xie(03“????????????????“);
}
void?main()
{
zd();init();clear();
oe=0;start=0;ale=0;
d3=d2=d1=0;
eoc=1;
while(1)
{
start=0;ale=1;
ale=0;start=1;
while(eoc==0)
{
oe=1;start=0;ale=0;
l=adcdata;
xianshi();
}
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????9487??2013-11-22?20:02??adc\adc
?????文件???????2464??2013-11-22?20:05??adc\adc.c
?????文件???????4586??2013-11-22?20:02??adc\adc.hex
?????文件?????????38??2013-11-22?20:02??adc\adc.lnp
?????文件???????6136??2013-11-22?20:02??adc\adc.LST
?????文件??????12229??2013-11-22?20:02??adc\adc.M51
?????文件???????9617??2013-11-22?20:02??adc\adc.OBJ
?????文件??????13869??2013-11-22?20:02??adc\adc.plg
????.......?????55179??2013-11-22?20:05??adc\adc.uvopt
????.......?????13217??2013-11-22?20:05??adc\adc.uvproj
????.......?????????0??2013-11-22?18:20??adc\adc_uvproj.bak
?????文件???????6376??2009-05-07?14:37??adc\STARTUP.A51
?????目錄??????????0??2013-11-22?20:05??adc
-----------?---------??----------?-----??----
???????????????133198????????????????????13
- 上一篇:西安交通大學 數理統計 施雨 版 課后題答案
- 下一篇:解蘋果ID助手V3.0
評論
共有 條評論