?? da芯片tlc5615.txt
字號:
;實驗目的:熟悉D/A轉換芯片的使用
;把待轉換的數據送D/A芯片TLC5615,開啟D/A轉換
;用萬用表或者示波器觀察輸出口(CON36)的電壓
;硬件要求:撥碼開關S8全部置ON
; 其他撥碼開關全部置OFF
INCLUDE<P16F877A.INC> ;包含頭文件
__CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC
VALUE1 EQU 0F1H ;待轉換數據高4位(高半字節為無效數據)
VALUE2 EQU 0FCH ;待轉換數據低6位(最低2位為無效數據)
ORG 00H ;程序復位地址
NOP ;ICD所需要的空指令
MAIN
CLRF PORTC ;先清除所有輸出
BCF PORTC,3 ;拉低時鐘信號,以便更改片選使能信號
BSF PORTC,2 ;片選禁止
BANKSEL TRISC
CLRF TRISC ;C口全輸出
BSF TRISC,4 ;RC4口輸入(SDI)
BANKSEL SSPSTAT
MOVLW B'01000000' ;CKE=1下降沿發送(TCL5615規定)
MOVWF SSPSTAT
CLRF STATUS
MOVLW B'00100000' ;SSPEN=1,CKP=0 SPI主空模式Fosc/4
MOVWF SSPCON
BCF PORTC,3 ;拉低時鐘信號,以便更改片選使能信號
BCF PORTC,2 ;片選使能
MOVLW VALUE1 ;取待轉換數據高4位
MOVWF SSPBUF ;發送
BTFSS PIR1,SSPIF ;判斷是否發送完成
GOTO $-1 ;等待發送完成
BCF PIR1,SSPIF ;清除中斷標志位
MOVFW SSPBUF ;清空接收寄存器
MOVLW VALUE2 ;取待發送數據低6位
MOVWF SSPBUF ;發送
BTFSS PIR1,SSPIF ;判斷是否
GOTO $-1 ;等待完成
BCF PIR1,SSPIF ;清除中斷標志位
BCF PORTC,3 ;拉低時鐘信號
BSF PORTC,2 ;片選禁止
NOP
GOTO $
;************************************************************
END ;程序結束
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -