2、系統板上硬件連線
(1).把“單片機系統板”區域中的P1端口的P1.0-P1.7用8芯排線連接到“動態數碼顯示”區域中的ABCDEFGH端口上,作為數碼管的筆段驅動。
(2).把“單片機系統板”區域中的P2端口的P2.0-P2.7用8芯排線連接到“動態數碼顯示”區域中的S1S2S3S4S5S6S7S8端口上,作為數碼管的位段選擇。
(3).把“單片機系統板”區域中的P0端口的P0.0-P0.7用8芯排線連接到“模數轉換模塊”區域中的D0D1D2D3D4D5D6D7端口上,A/D轉換完畢的數據輸入到單片機的P0端口
(4).把“模數轉換模塊”區域中的VREF端子用導線連接到“電源模塊”區域中的VCC端子上;
(5).把“模數轉換模塊”區域中的A2A1A0端子用導線連接到“單片機系統”區域中的P3.4P3.5P3.6端子上;
(6).把“模數轉換模塊”區域中的ST端子用導線連接到“單片機系統”區域中的P3.0端子上;
(7).把“模數轉換模塊”區域中的OE端子用導線連接到“單片機系統”區域中的P3.1端子上;
(8).把“模數轉換模塊”區域中的EOC端子用導線連接到“單片機系統”區域中的P3.2端子上;
(9).把“模數轉換模塊”區域中的CLK端子用導線連接到“分頻模塊”區域中的/4端子上;
(10).把“分頻模塊”區域中的CKIN端子用導線連接到“單片機系統”區域中的ALE端子上;
(11).把“模數轉換模塊”區域中的IN3端子用導線連接到“三路可調壓模塊”區域中的VR1端子上;
3、程序設計
(1).進行A/D轉換時,采用查詢EOC的標志信號來檢測A/D轉換是否完畢,若完畢則把數據通過P0端口讀入,經過數據處理之后在數碼管上顯示。
(2).進行A/D轉換之前,要啟動轉換的方法:
ABC=110選擇第三通道
ST=0,ST=1,ST=0產生啟動轉換的正脈沖信號
程序:
#include《AT89X52.H》
unsignedcharcodedispbitcode[]={0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f};
unsignedcharcodedispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,0x00};
unsignedchardispbuf[8]={10,10,10,10,10,0,0,0};
unsignedchardispcount;
sbitST=P3^0;
sbitOE=P3^1;
sbitEOC=P3^2;
unsignedcharchannel=0xbc;//IN3
unsignedchargetdata;
voidmain(void)
{
TMOD=0x01;
TH0=(65536-4000)/256;
TL0=(65536-4000)%256;
TR0=1;
ET0=1;
EA=1;
P3=channel;
while(1)
{
ST=0;
ST=1;
ST=0;
while(EOC==0);
OE=1;
getdata=P0;
OE=0;
dispbuf[2]=getdata/100;
getdata=getdata%10;
dispbuf[1]=getdata/10;
dispbuf[0]=getdata%10;
}
}
voidt0(void)interrupt1using0
{
TH0=(65536-4000)/256;
TL0=(65536-4000)%256;
P1=dispcode[dispbuf[dispcount]];
P2=dispbitcode[dispcount];
dispcount++;
if(dispcount==8)
{
dispcount=0;
}
}
評論
查看更多