資源簡介
51單片機控制adc0832對交流信號采樣,將最大值實時顯示在lcd1602跟led上。內涵keil文件跟proteus仿真文件。

代碼片段和文件信息
#include?
/************
讀ADC0832函數
************/
unsigned?int?Adc0832(unsigned?char?channel)
{
???unsigned?char?i=0;
unsigned?char?j;
unsigned?int?dat=0;
unsigned?char?ndat=0;
if(channel==0)channel=2;
if(channel==1)channel=3;
ADDI=1;
_nop_();
_nop_();
ADCS=0;//拉低CS端
_nop_();
_nop_();
ADCLK=1;//拉高CLK端
_nop_();
_nop_();
ADCLK=0;//拉低CLK端形成下降沿1
_nop_();
_nop_();
ADCLK=1;//拉高CLK端
ADDI=channel&0x1;
_nop_();
_nop_();
ADCLK=0;//拉低CLK端形成下降沿2
_nop_();
_nop_();
ADCLK=1;//拉高CLK端
ADDI=(channel>>1)&0x1;
_nop_();
_nop_();
ADCLK=0;//拉低CLK端形成下降沿3
ADDI=1;//控制命令結束
_nop_();
_nop_();
dat=0;
for(i=0;i<8;i++)
{
???dat|=ADDO;//收數據
???ADCLK=1;
???_nop_();
???_nop_();
???ADCLK=0;//形成一次時鐘脈沖
???_nop_();
???_nop_();
???dat<<=1;
???if(i==7)dat|=ADDO;
}
for(i=0;i<8;i++)
{
???j=0;
???j=j|ADDO;//收數據
???ADCLK=1;
???_nop_();
???_nop_();
???ADCLK=0;//形成一次時鐘脈沖
???_nop_();
???_nop_();
???j=j<<7;
???ndat=ndat|j;
???if(i<7)ndat>>=1;
}
ADCS=1;//拉低CS端
ADCLK=0;//拉低CLK端
ADDO=1;//拉高數據端回到初始狀態
dat<<=8;
dat|=ndat;
???return(dat);????????????//return?ad?data
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????104170??2012-09-30?20:13??proteus數字電壓表\proteus\adc0832lcd1602.DSN
?????文件????????742??2012-09-30?20:13??proteus數字電壓表\proteus\adc0832lcd1602.PWI
?????文件?????104173??2012-09-30?18:37??proteus數字電壓表\proteus\Last?Loaded?adc0832lcd1602.DBK
????.......?????59125??2012-09-30?21:00??proteus數字電壓表\數字電壓表源程序\adc0832&lcd1602.uvopt
?????文件??????14389??2012-09-30?16:41??proteus數字電壓表\數字電壓表源程序\adc0832&lcd1602.uvproj
????.......?????59125??2012-09-30?16:41??proteus數字電壓表\數字電壓表源程序\adc0832&lcd1602_uvopt.bak
?????文件??????14229??2012-09-30?10:44??proteus數字電壓表\數字電壓表源程序\adc0832&lcd1602_uvproj.bak
?????文件???????1210??2012-09-22?20:04??proteus數字電壓表\數字電壓表源程序\adc0832.c
?????文件????????295??2012-09-30?16:29??proteus數字電壓表\數字電壓表源程序\adc0832.h
?????文件???????3147??2012-09-30?18:57??proteus數字電壓表\數字電壓表源程序\adc0832.LST
?????文件???????4097??2012-09-30?18:57??proteus數字電壓表\數字電壓表源程序\adc0832.OBJ
?????文件??????18169??2012-09-30?18:57??proteus數字電壓表\數字電壓表源程序\adc0832lcd1602
?????文件???????9988??2012-09-30?18:57??proteus數字電壓表\數字電壓表源程序\adc0832lcd1602.hex
?????文件?????????96??2012-09-30?18:57??proteus數字電壓表\數字電壓表源程序\adc0832lcd1602.lnp
?????文件??????18745??2012-09-30?18:57??proteus數字電壓表\數字電壓表源程序\adc0832lcd1602.M51
?????文件???????2030??2012-09-30?21:00??proteus數字電壓表\數字電壓表源程序\adc0832lcd1602.plg
?????文件????????126??2012-09-22?13:57??proteus數字電壓表\數字電壓表源程序\delay.c
?????文件????????337??2012-09-22?13:56??proteus數字電壓表\數字電壓表源程序\delay.h
?????文件????????940??2012-09-30?18:57??proteus數字電壓表\數字電壓表源程序\delay.LST
?????文件????????839??2012-09-30?18:57??proteus數字電壓表\數字電壓表源程序\delay.OBJ
?????文件???????1467??2012-09-30?16:36??proteus數字電壓表\數字電壓表源程序\display.LST
?????文件???????1412??2012-09-30?16:29??proteus數字電壓表\數字電壓表源程序\lcd1602.c
?????文件????????354??2012-09-30?16:28??proteus數字電壓表\數字電壓表源程序\lcd1602.h
?????文件???????3336??2012-09-30?18:57??proteus數字電壓表\數字電壓表源程序\lcd1602.LST
?????文件???????4877??2012-09-30?18:57??proteus數字電壓表\數字電壓表源程序\lcd1602.OBJ
?????文件????????144??2012-09-30?16:27??proteus數字電壓表\數字電壓表源程序\led.h
?????文件???????1808??2012-09-30?18:57??proteus數字電壓表\數字電壓表源程序\main.c
?????文件???????3726??2012-09-30?18:57??proteus數字電壓表\數字電壓表源程序\main.LST
?????文件???????6718??2012-09-30?18:57??proteus數字電壓表\數字電壓表源程序\main.OBJ
?????目錄??????????0??2012-09-30?20:13??proteus數字電壓表\proteus
............此處省略5個文件信息
- 上一篇:常見的抽獎-根據指定概率抽獎改進
- 下一篇:沈陽大學操作系統課程設計
評論
共有 條評論