18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 18luck平台 >> 單片機 >> 正文

單片機實踐A/D和D/A轉換的程序

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2008-12-4

實驗五、模數轉換

一、實驗目的
1、掌握A/D轉換與(yu) 單片機的接口方法;
2、掌握A/D芯片TLC549的編程方法;
3、掌握數據采集程序的設計方法;

二、實驗內(nei) 容
利用實驗開發裝置上的TLC549做A/D轉換器,對電位器提供的模擬電壓信號進行定時中斷采樣,結果在LED上進行顯示。

    A/D轉換芯片  TLC549
CLK  P1.5  時鍾位
DAT  P1.6  數據位
CS   P1.7  選片位
    VREF  接 +5V
三、實驗線路
將TLC549的CLK接P1.5、DAT接P1.6、CS接P1.7,將模擬電壓輸入端連到電位器的電壓輸出端,

並接萬(wan) 用表進行輸入電壓測量。

四、實驗步驟
在PC機輸入源程序並匯編,然後下載到單片機上,進行調試。
調節電位器,電壓從(cong) 0V到5V變化,記錄數碼管的顯示數值。記錄到表中。
輸入電壓V 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
A/D結果           

五、 實驗報告
(1) 整理好實驗程序和實驗記錄,進行數據處理分析並做圖。
(2) 數據采集中,如何實現精確的定時數據采集?
(3) 數碼管動態掃描顯示程序設計中,顯示刷新的時間如何確定?

;++++++++++++++++++++++++++++++++++++++++++++++++++++++
CS  BIT P3.0
DAT BIT P3.1
CLK BIT P3.2
ADC DATA 30H
  ORG 0000H
MAIN: MOV SP,#60H
WAIT: ACALL TLC549
  LCALL  DELAY
  ACALL TLC549 ;讀取上次ADC值,並再次啟動AD轉換
  MOV A,ADC
  CPL A
  MOV P1,A
  SJMP WAIT
TLC549: CLR CLK
  CLR CS ;選中TLC549
  MOV R6,#8
TLCAD: SETB CLK
  MOV C,DAT
  RLC A
         CLR CLK ;DAT=0,為(wei) 讀出下一位數據作準備
  DJNZ R6,TLCAD
  SETB CS ;禁能TLC549,再次啟動AD轉換
  SETB CLK
  MOV  ADC,A
  RET
DELAY: MOV R7,#250
  DJNZ R7,$
  RET
  END
 
實驗六、模數轉換
一、實驗目的
1、掌握模數轉換芯片TLC5620的接口技術。
2、掌握模數轉換芯片TLC5620的編程方法。

二、實驗內(nei) 容
編寫(xie) 程序實現下列要求:
1、 通過SW輸入8位數值,由TLC5620變為(wei) 模擬電壓輸出,記錄數值與(yu) 對應的對應關(guan) 係。
2、 利用TLC5620輸出一個(ge) 從(cong) 0V開始逐漸升至5V再降至0V,周期為(wei) 1秒的三角波。

三、實驗線路
將TLC5620的信號線接到相應的端口,在OutA、OutB、OutC、OutD、輸出0-5V電壓接萬(wan) 用表。
D/A芯片TLC5620
LDAC    接GND;
LOAD    接P3^0;  裝載
CLK     接P3^1;  時鍾
DAT     接P3^2;  數據
Vref    接+5V;  參考

四、實驗預習(xi)
    1、學習(xi) 模數轉換的原理與(yu) 編程
2、提前編寫(xie) 程序,寫(xie) 出預習(xi) 報告。

五、實驗報告
1、總結出實驗的詳細步驟。
2、寫(xie) 出調試正確的程序及框圖。

;+++++++++++++++++++++++++++++++++++++++++++++++++++++
         SCL    BIT    P3.0
         SDA    BIT    P3.1
         LOAD   BIT    P3.2
  DAC    DATA   30H
  NUM   DATA   31H

  ORG   0000H
MAIN:  MOV  SP,#60H
  CLR   SCL
  CLR   SDA
         SETB   LOAD
WAIT: MOV   P1,#0FFH
  MOV   A,P1
  MOV   DAC,A
  MOV   NUM,#0
  LCALL  DAC5620
  SJMP   WAIT

DAC5620: MOV   A,R1
          CLR    SCL
  MOV   A,NUM
  LCALL  SENDAD
  MOV   A,R2
  CLR    SCL
  MOV   A,DAC
  LCALL  SENDDB
  CLR    LOAD
  SETB   LOAD
          RET

SENDDB: MOV    R7,#8
LPDB: SETB   SCL
  RLC    A
  MOV   SDA,C
  CLR    SCL
  DJNZ   R7,LPDB
  RET

SENDAD: MOV  R7,#3
  SETB  C
  RLC   A
LPAD: SETB  SCL
  RLC   A
  MOV  C,ACC.3
  MOV  SDA,C
  CLR   SCL
  DJNZ  R7,LPAD
  RET
        END

Tags:單片機,數字,模擬,轉換,程序  
責任編輯:admin
  • 上一篇文章:
  • 下一篇文章:
  • 請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網友評論
    關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁麵
    下到頁底
    晶體管查詢