資源簡介
51單片機的AD0808采集,使用Proteus仿真,帶有全部資料及源碼。模擬輸入使用一個滑動變阻器,能夠在數(shù)碼管上顯示從0到255的數(shù)值。親測可行!

代碼片段和文件信息
#include
#include
#define?uint?unsigned?int
/**********************************************************************************
細(xì)節(jié)描述:P0口作為數(shù)碼管的位選。?P1口作為AD數(shù)據(jù)輸出口。
??????????注意AD的OUT和單片機的連線!!!
1.做數(shù)字電壓表的話只需把P1口的數(shù)據(jù)處理即可。
*************************************************************************************/
//片選=0的時候才是關(guān)!
char?smg_table[]={0xc00xf90xa40xb00x990x920x820xf80x800x90}; //數(shù)碼管?共陽極
unsigned?char?AdData;
sbit?Smg0_Switch = P2^0;?
sbit?Smg1_Switch = P2^1;
sbit?Smg2_Switch = P2^2;
sbit?START=P2^3;
sbit?EOC=P2^4;
sbit?ADDA=P2^5;
sbit?ADDB=P2^6;
sbit?ADDC=P2^7;
sbit?ALE=P3^0;
sbit?OE=P3^1;
void?delay(uint?x)
{
uint?ij;
for(i=x;i;i--)
for(j=125;j;j--);
}
void?Smg_Display(uint?x)
{
uint?geshibai;
bai=x/100;
shi=x/10%10;
ge=x%10;
if(bai!=0)
{
Smg0_Switch=1;
P0=smg_table[bai];
delay(5);
Smg0_Switch=0;
}
if(!(bai==0&&shi==0))
{
Smg1_Switch=1;
P0=smg_table[shi];
delay(5);
Smg1_Switch=0;
}
Smg2_Switch=1;?
P0=smg_table[ge];
delay(5);
Smg2_Switch=0;
?
}
void?AD()
{
START=0;
OE=0;
????START=1;_nop_();START=0;???//正脈沖信號
ALE=1;ADDA=0;ADDB=0;ADDC=0;;//選通INT0
while(!EOC);
OE=1;????//輸出數(shù)據(jù)
Smg_Display(P1);
OE=0;
}
void?main()
{
?????
?while(1)
?????{
????????AD();
?????}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-02-22?14:06??AD0808\
?????文件??????101118??2011-03-18?19:38??AD0808\AD0808.DSN
?????文件?????????768??2014-02-22?14:06??AD0808\AD0808.PWI
?????文件????????4382??2011-03-18?17:53??AD0808\AD0809與80C51的連接電路.png
?????文件??????101149??2011-03-18?18:43??AD0808\Backup?Of?AD0808.DBK
?????文件??????101020??2011-03-18?19:31??AD0808\Last?Loaded?AD0808.DBK
?????文件????????4440??2011-03-18?19:45??AD0808\測試
?????文件????????3930??2011-03-18?19:45??AD0808\測試.LST
?????文件????????6302??2011-03-18?19:45??AD0808\測試.M51
?????文件????????4614??2011-03-18?19:45??AD0808\測試.OBJ
?????文件????????1444??2011-03-18?19:45??AD0808\測試.c
?????文件????????1285??2011-03-18?19:45??AD0808\測試.hex
?????文件??????????40??2011-03-18?19:45??AD0808\測試.lnp
?????文件?????????173??2014-02-22?14:05??AD0808\測試.plg
?????文件???????55350??2014-02-22?14:06??AD0808\測試.uvopt
?????文件???????13308??2011-03-18?07:46??AD0808\測試.uvproj
?????文件???????55346??2013-12-30?21:53??AD0808\測試_uvopt.bak
?????文件???????????0??2011-03-18?06:56??AD0808\測試_uvproj.bak
- 上一篇:TI DSP 28335 串口非FIFO中斷接收程序
- 下一篇:寶馬隱藏代碼大全
評論
共有 條評論