از دوستان کسی تا الان با این adc 16 بیتی کار کرده؟
سخت افزارم مثل دیتا شیتش هست برنامم به صورت زیر:
سخت افزارم مثل دیتا شیتش هست برنامم به صورت زیر:
کد:
$regfile = "m88def.dat"
$crystal = 8000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0
Cls
Enable Interrupts
Config Int0 = Falling
Enable Int0
On Int0 Drdy
Dim Q As Byte
Dim Chek_spi As Byte
Dim Send_byte As Byte
Dim Send_word As Word
Dim Recive_data As Word
Dim Get_data_l As Byte
Dim Get_data_h As Byte
Dim Mid_var As Word
Ddrb = &B00101100
Portb = &B00101000
Spcr = &H3F
Spcr = &H7F
Q = Spsr
Q = Spdr
Send_byte = &H20
Spdr = Send_byte
Chek_spi = Spsr And &H80
While Chek_spi = 0
Chek_spi = Spsr And &H80
Wend
Waitms 1
Ddrb = &B00101100
Portb = &B00101000
Spcr = &H3F
Spcr = &H7F
Q = Spsr
Q = Spdr
Send_byte = &H08
Spdr = Send_byte
Chek_spi = Spsr And &H80
While Chek_spi = 0
Chek_spi = Spsr And &H80
Wend
Waitms 1
Ddrb = &B00101100
Portb = &B00101000
Spcr = &H3F
Spcr = &H7F
Q = Spsr
Q = Spdr
Send_byte = &H10
Spdr = Send_byte
Chek_spi = Spsr And &H80
While Chek_spi = 0
Chek_spi = Spsr And &H80
Wend
Waitms 1
Ddrb = &B00101100
Portb = &B00101000
Spcr = &H3F
Spcr = &H7F
Q = Spsr
Q = Spdr
Send_byte = &H40
Spdr = Send_byte
Chek_spi = Spsr And &H80
While Chek_spi = 0
Chek_spi = Spsr And &H80
Wend
Waitms 1
Dim Count As Byte
Dim Count2 As Byte
Cls
Do
Loop
End
Drdy:
Locate 2 , 1
Lcd Count
Incr Count
Ddrb = &B00101100
Portb = &B00101000
Spcr = &H3F
Spcr = &H7F
Q = Spsr
Q = Spdr
Send_byte = &H38
Spdr = Send_byte
Chek_spi = Spsr And &H80
While Chek_spi = 0
Chek_spi = Spsr And &H80
Wend
Ddrb = &B00010000
Portb = &B00010000
Spcr = &H2F
Spcr = &H6F
Chek_spi = Spsr And &H80
While Chek_spi = 0
Chek_spi = Spsr And &H80
Wend
Get_data_l = Spdr
Chek_spi = Spsr And &H80
While Chek_spi = 0
Chek_spi = Spsr And &H80
Wend
Get_data_h = Spdr
Mid_var = Get_data_h
Shift Mid_var , Left , 8
Recive_data = Get_data_l + Mid_var
Home
Lcd Recive_data
Locate 1 , 10
Lcd "hi"
Return





دیدگاه