STC15W芯片A/D、D/A轉換的簡單使用
A/D、D/A轉換
在現代電子系統中,數字信號通常以離散的二進制形式存在,而模擬信號則是連續變化的。數模轉換的目的是將數字信號轉換為相應的連續模擬信號,以便在模擬電路中進行處理、傳輸或輸出。
相反,模數轉換是一種將模擬信號轉換為數字信號的技術。它在許多領域中都有廣泛的應用,例如通信、音頻處理和儀器測量。通過將連續的模擬信號離散化,模數轉換器能夠將其表示為一系列數字樣本。這些樣本可以被數字系統處理和存儲,從而實現更高的精度和可靠性。模數轉換的原理和方法各不相同,但其核心目標是將模擬信號轉換為數字形式,以滿足數字系統的需求。
今天,我們以郭天祥老師的TX-1C開發板上的STC15W芯片為例,來介紹一下模數轉換的簡單使用。
PART
01、D/A轉換(數字/模擬)
這是我們使用的板子上面的PCB電路圖,他看上去有很多的針腳,如果我們只是要對他就行簡單的操作使用,我們只需要關心四種針腳就行,DAC CS51 WRD0~D7IOUT針腳。
DAC SC片選口,相當于芯片的總開關,只有他開啟時,對芯片的其他操作才有作用,低電平有效。
51WR,數字量接受開關,有效時數字量才能輸入到芯片中,低電平有效。
D0~D7數字量輸入口。
IOUT轉換成模擬量之后的輸出口。
其使用的一般步驟為:
1、將片CS選口和WR口,先后置為低電平時期有效。
DAturn=0; //開啟DACS
WRturn=0; //開啟DAp0口寫入
代碼示例
2、對D0~D7所對應的數字量輸入口賦值。
3、等待IOUT的輸出。
在TX-1C的板子中IOUT外接的是一個D/A的指示燈,使用成功后應該可以通過數字量來控指示燈的亮度。
PART
02、A/D轉換(模擬/數字)
STC15W的模數轉換芯片跟數模轉換需要注意的針腳大同小異,ADC CS51 RD51 WRDB0~DB7VIN針腳。
ADC SC片選口,相當于芯片的總開關,只有他開啟時,對芯片的其他操作才有作用,低電平有效。
51WR,讀入模擬量開關,有效時對模擬量采樣,低電平有效。
51RD,寫出數字量開關,開啟后數字量將被寫出,低電平有效。
DB0~DB7數字量輸出口。
VIN接外設,模擬量讀入端口。
其使用的一般步驟為:
1、先將片CS選口置為低電平時期有效(由于實驗板上留的IO口不夠因此用U2上的一個針腳來控制)。
2、讀入模擬量。
ADWR=1;
_nop_();
ADWR=0; //打開信號輸入
_nop_();
ADWR=1;
_nop_();
代碼示例(讀入模擬量)
例中_nop_()是指延時一個機器周期
3、將模擬量轉換并輸出。
ADRD=1;
_nop_();
ADRD=0; //打開模數轉換
_nop_();
ADRD=1;
_nop_();
dis_num=P1; //P1- >dis_num
代碼示例(將轉出的數字量賦給dis_num)
模擬量轉化為數字量后,數字量會發送到DB0~DB7,這里這八個針腳對應的是51單片機上的P1。
自我測驗
任務一:使D/A轉換的指示燈,從按到亮,再從亮到暗反復變化,周期為四秒。
-
模擬電路
+關注
關注
125文章
1574瀏覽量
102899 -
模擬信號
+關注
關注
8文章
1143瀏覽量
52643 -
數字信號
+關注
關注
2文章
982瀏覽量
47664 -
數模轉換
+關注
關注
3文章
107瀏覽量
29057 -
STC15W
+關注
關注
0文章
5瀏覽量
2388
發布評論請先 登錄
相關推薦
評論