سلام به همه بسکامی کار ها!!!
من با adc دچار یه مشکل کوچولو شدم
ولتاژ مرجع من vcc هست. از نظر سخت افزاری هم avcc و vref رو به هم وبا یه سلف 20u به VCC و با یه خازن 100میکرو به زمین وصل کردم
برنامه میکرو هم به شکل زیر است.0
برنامه تو پروتوس جواب میده ولی وقتی میبندمش به جای اینکه از 0 تا 1023 تغییر کنه از 0 تا 160 تغییر می کنه. وقتی هم که VCC/2 بهش می دم به جای 80 ولت 140ولت میده. اساتید اگه بهم کمک کنن ممنون میشم.
$regfile = "m32def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Pinb.4 , Db5 = Pinb.5 , Db6 = Pinb.6 , Db7 = Pinb.7 , Rs = Pinb.2 , E = Pinb.3
Config Lcd = 16 * 2
Dim V As Single
Dim Z As Word
Dim Y As Byte
Dim Avrage As Long
Do
Z = 0
Avrage = 0
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
For Y = 1 To 100
Z = Getadc(1)
Avrage = Avrage + Z
Next
V = Avrage / 100
Z = Round(v)
Cls
Home
Lcd "voltage=" ; Z
Wait 2
Stop Adc
Loop
End
راستی برنامه تو سیمولینک بسکام هم درست کار می کنه
من با adc دچار یه مشکل کوچولو شدم
ولتاژ مرجع من vcc هست. از نظر سخت افزاری هم avcc و vref رو به هم وبا یه سلف 20u به VCC و با یه خازن 100میکرو به زمین وصل کردم
برنامه میکرو هم به شکل زیر است.0
برنامه تو پروتوس جواب میده ولی وقتی میبندمش به جای اینکه از 0 تا 1023 تغییر کنه از 0 تا 160 تغییر می کنه. وقتی هم که VCC/2 بهش می دم به جای 80 ولت 140ولت میده. اساتید اگه بهم کمک کنن ممنون میشم.
$regfile = "m32def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Pinb.4 , Db5 = Pinb.5 , Db6 = Pinb.6 , Db7 = Pinb.7 , Rs = Pinb.2 , E = Pinb.3
Config Lcd = 16 * 2
Dim V As Single
Dim Z As Word
Dim Y As Byte
Dim Avrage As Long
Do
Z = 0
Avrage = 0
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
For Y = 1 To 100
Z = Getadc(1)
Avrage = Avrage + Z
Next
V = Avrage / 100
Z = Round(v)
Cls
Home
Lcd "voltage=" ; Z
Wait 2
Stop Adc
Loop
End
راستی برنامه تو سیمولینک بسکام هم درست کار می کنه
دیدگاه