a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機ADC0804模數轉換學習

51單片機ADC0804模數轉換學習

作者: 時間:2012-08-02 來源:網絡 收藏

數模轉換器與單片機連接的原理圖:

點擊瀏覽下一頁

這TX-1C實驗板上的和單片機連接的電路原理圖。

左邊的是,右邊的是74HC573鎖存器,鎖存器同時又連接了單片機沒畫出。ADC0804的引腳CSAD是片選引腳,因為是低電平有效所以當

送0時,我們就可以選中它工作了。RD也是低電平有效,是讀信號的,WR也是低電平有效,當送0時就可以啟動A/D開始轉換了。INTR是轉換結

束引腳,同樣也是低電平有效,當INTR為0時,表示轉換結束了。DB0-DB7是轉換后的數字信號輸出端口。AGND和DGND是接地的。CLK R和

CLK IN(即19和4引腳)是用來給ADC0804產生內部時鐘脈沖的(接了一個RC震蕩電路)6和7端口是模擬信號的輸入端,比如我們滑動電位器就

能使模擬信號發生改變,這樣經過A/D轉換后,輸出的數字信號也就改變了。20引腳是接參考電平的。

下面這個程序是用單片機控制ADC0804進行,當擰動實驗板上的電位器(也就是一個滑動變阻器)時,數碼管的前三位以十進制方式動態顯示A/D轉換后的數字量。代碼如下:
#include reg52.h> //52系列單片機頭文件
#include intrins.h> //因為下面的程序用到了_nop_()函數,因此包含這個頭文件
#define uchar unsigned char
#define uint unsigned int
sbit dula=P2^6; //申明U1鎖存器的鎖存端
sbit wela=P2^7; //申明U2鎖存器的鎖存端
sbit adwr=P3^6; //定義AD的WR(寫信號)端口
sbit adrd=P3^7; //定義AD的RD(讀信號)端口
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delayms(uint); //延時函數聲明
void display(uchar,uchar,uchar) //顯示函數聲明

/*--------------------------核心程序--------------------------------*/
void main()
{

uchar a,A1,A2,A3,adval;
wela=1; //打開位選鎖存器,這樣就把單片機的P0口與鎖存器連通了
P0=0x7f; //這里因為片選 接的是P0口的第7位,P0=0x7f即把第七位置0,片選選定,也即是選定ADC0804工作
wela=0; //關閉位選鎖存器


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區

關閉