سلام
دوستان من برنامه ی زیر را نوشتم و روی یک میکرو ATmega16 ریختم تا ولتاژی که روی Porta.0 وصل می شه را اندازه بگیره و روی LCD بنویسه ؛ برای این منظور از 1.5 تا 6 ولت ولتاز به این پورتم دادم .
وقتی 1.5 ولت را به Porta.0 وصل می کردم رویه ال سی دی می نوشت صفر و وقتی بیشتر از 1.5 ولت بهش وصل می کردم می نوشت 1023 ، یعنی در واقع از 3 تا 6 ولت را همش می نوشت 1023
خواهش می کنم ببینید مشکل کارم کجاست.
دوستان من برنامه ی زیر را نوشتم و روی یک میکرو ATmega16 ریختم تا ولتاژی که روی Porta.0 وصل می شه را اندازه بگیره و روی LCD بنویسه ؛ برای این منظور از 1.5 تا 6 ولت ولتاز به این پورتم دادم .
وقتی 1.5 ولت را به Porta.0 وصل می کردم رویه ال سی دی می نوشت صفر و وقتی بیشتر از 1.5 ولت بهش وصل می کردم می نوشت 1023 ، یعنی در واقع از 3 تا 6 ولت را همش می نوشت 1023
خواهش می کنم ببینید مشکل کارم کجاست.
$regfile = "m16def.dat"
$crystal = 16000000
Config Lcdpin = Pin , Db4 = Pind.0 , Db5 = Pind.1 , Db6 = Pind.2 , Db7 = Pind.3 , Rs = Pind.4 , E = Pind.5
Config Adc = Single , Prescaler = Auto
Start Adc
Dim Var As Word
Do
Var = Getadc(0)
Locate 1 , 1
Lcd "Var:"
Lcd Var
Loop
End
خیلی ازتون ممنونم.
$crystal = 16000000
Config Lcdpin = Pin , Db4 = Pind.0 , Db5 = Pind.1 , Db6 = Pind.2 , Db7 = Pind.3 , Rs = Pind.4 , E = Pind.5
Config Adc = Single , Prescaler = Auto
Start Adc
Dim Var As Word
Do
Var = Getadc(0)
Locate 1 , 1
Lcd "Var:"
Lcd Var
Loop
End
دیدگاه