avatar_Hattuşa

MCP4822 DAC

Başlatan Hattuşa, 06 Nisan 2017, 23:13:04

Hattuşa

slm;
MCP4822 12 bit dac proton örneğidir. okuma 10 bit olduğu için 4 ile çarpılarak 12 bit elde edilmiştir.
MCP4812 10 bit dac olup çıkış yönlendirilmeden önce adc <<2 yapılmalıdır (datsheetinde son 2 bit kullanılmadığından)
ETE hocama teşekkür ederim.

Device 16F88

Xtal 4
Declare All_Digital TRUE
TRISA =%00000011
TRISB =%00000000
PORTA =0
PORTB =0   



ANSEL =%00000011
'ADCON1 =%10000000
ADCON0 =%00000001
OPTION_REG =%10000000
CMCON =7           
Declare Adin_Res = 10 ' 10-bit result required
Declare Adin_Tad =32_FOSC
Declare Adin_Delay =5
DelayMS 300




Symbol ScLk =PORTB.5
Symbol cS =PORTB.4
Symbol dTa =PORTB.6
Symbol LdAc =PORTB.7

A1_dEgIsKeN:

Dim AdC0 As Word
Dim AdC1 As Word
Dim Ad0 As Word
Dim Ad1 As Word
Symbol bIr =%1001
Symbol IkI =%0001
B0_oNmaIn:


LdAc =1
cS =1

MaIn:
AdC0 =ADIn 0
While ADCON0.1 =1 :Wend
Ad0 =AdC0 *4
cS =0
SHOut dTa, ScLk, MsbFirst, [bIr\4,Ad0\12]       
cS =1
DelayUS 10
LdAc =0
DelayMS 1
LdAc =1
DelayMS 100

AdC1 =ADIn 1
While ADCON0.1 =1 :Wend
Ad1 =AdC1 *4
cS =0
SHOut dTa, ScLk, MsbFirst, [IkI\4,Ad1\12]       
cS =1
DelayUS 10
LdAc =0
DelayMS 1
LdAc =1
DelayMS 100
GoTo MaIn
End



Powered by EzPortal