0f240的c語言中也有一個頭文件c240.h定義各個寄存器的名稱,這里摘錄幾條語句進行介紹。比如: #define imr((port)0x0004) #define xinti_cr((port) 0x07070) imr、xint1_cr就對應(yīng)兩個寄存器,實際是寄存器的地址,用高級語言的說法是指針。我們也在程序的開始部分用#include“c240.h”語句將該文件包含進來。這樣,在dsp的c語言中使用它們只需在前面加一個星號(*),例如, *imr=0x1010;/*將十六進制數(shù)1010h賦給imr寄存器*/ *xint1_cr=0x0a0b0;/*將十六進制數(shù)a0b0h賦給xint1_cr寄存器*/ 開發(fā)者最好將c240.h這個文件打印出來,弄清楚各個寄存器的定義名稱。至于不涉及硬件的語法和ansi語法一樣。需要注意的是,有些ansi標準中的函數(shù)在dsp的編譯器中不提供,讀者可以參考dsp編譯器的c語言手冊。搞清楚了這些特殊性,由匯編語言轉(zhuǎn)到c語言開發(fā)是很容易的事。當然,沒有匯編語言編程基礎(chǔ)的人同樣可以用c語言開發(fā)dsp應(yīng)用系統(tǒng)。 有關(guān)嵌入式系統(tǒng)的c語言編程可參考《單片機
引腳的功能簡要分類說明如下。 i/oclock:控制輸入輸出的時鐘,由外部輸入。 datainput:控制字輸入端,用于選擇轉(zhuǎn)換及輸出數(shù)據(jù)格式。 dataout:a/d轉(zhuǎn)換結(jié)果的輸出端。 2 tlc2543的使用方法 2.1 控制字的格式 控制字為從datainput端串行輸入的8位數(shù)據(jù),它規(guī)定了tlc2543要轉(zhuǎn)換的模擬量通道、轉(zhuǎn)換后的輸出數(shù)據(jù)長度、輸出數(shù)據(jù)的格式。其中高4位(d7~d4)決定通道號,對于0通道至10通道,該4位分別為0000~1010h,當為1011~1101時,用于對tlc2543的自檢,分別測試(vref++vref-)/2、vref-、vref+的值,當為1110時,tlc2543進入休眠狀態(tài)。低4位決定輸出數(shù)據(jù)長度及格式,其中d3、d2決定輸出數(shù)據(jù)長度,01表示輸出數(shù)據(jù)長度為8位,11表示輸出數(shù)據(jù)長度為16位,其他為12位。d1決定輸出數(shù)據(jù)是高位先送出,還是低位先送出,為0表示高位先送出。d0決定輸出數(shù)據(jù)是單極性(二進制)還是雙極性(2的補碼),若為單極性,該位為0,反之為1。 2.2 轉(zhuǎn)換過程 上電后,片選c