میخوام یه lcd کارکتری رو راه اندازی کنم
تو Proteus همه چیز درست کار میکنه ولی تو واقعیت میکرو درست کار نمیکنه (چند تا از پین هاش کار نمیکنه ، d0 تا d4 رو set میکنم ولی فقط d1 کار میکنه!!!) lcd هم کار نمیکنه
با دو میکروی مخطلف هم این کار رو انجام دادم
جالب اینجاست وقتی قسمت های مربوط به lcd رو از برنامه حذف میکنم همه چیز درست کار میکنه!!!
از میکرو mega8 استفاده کردم
با winavr هم تست کردم نتیجه همین بود!!!
اینم برنامش که برای تست کردن نوشتم:
تو Proteus همه چیز درست کار میکنه ولی تو واقعیت میکرو درست کار نمیکنه (چند تا از پین هاش کار نمیکنه ، d0 تا d4 رو set میکنم ولی فقط d1 کار میکنه!!!) lcd هم کار نمیکنه
با دو میکروی مخطلف هم این کار رو انجام دادم
جالب اینجاست وقتی قسمت های مربوط به lcd رو از برنامه حذف میکنم همه چیز درست کار میکنه!!!
از میکرو mega8 استفاده کردم
با winavr هم تست کردم نتیجه همین بود!!!
اینم برنامش که برای تست کردن نوشتم:
کد:
$regfile = "m8def.dat" $crystal = 8000000 $baud = 19200 ' use baud rate $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 ' default use 10 for the SW stack $framesize = 40 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 _ , Db7 = Portb.7 , Rs = Portb.1 , E = Portb.3 Config Portd = Output '**************************************************************************** Set Portd.0 Locate 1 , 1 Lcd "mjs" Waitms 600 Cls Locate 2 , 1 Lcd "mjs1990s" Do Cls Set Portd.0 Set Portd.1 Set Portd.2 Set Portd.3 Set Portd.4 Waitms 600 Locate 2 , 1 Lcd "mjs1990s" Reset Portd.0 Reset Portd.1 Reset Portd.2 Reset Portd.3 Waitms 600 Loop End
دیدگاه