Skip to main content
lcd_clear() is just a test case, not required
Source Link
Abdul Rehman
  • 411
  • 1
  • 5
  • 15

Do following things,

  • Call lcd_init() function outside the while(1) loop,
  • Call lcd_clear() before re-writing on same position (e.g. xy(1,1), just a test case, not required, you can overwrite any character of the lcd, but by clearing the lcd is just can be a test case if your gotoxy() function is working properly or not)
  • Most importantly verify your crystals frequency

Try removing capacitors across the crystal, try changing the crystal, and if you can try using 4Mhz crystal. Using capacitors with high frequency crystal some time causes problems there check for datasheet for proper capacitors value to attach, better to use some lower frequency crystal or by removing capacitors with same crystal

  • Also make sure you do not change the fuse bits at the time of flash burning, make them same as you mentioned in your code, brown out detect and power up timer will be preferable to use.

Do following things,

  • Call lcd_init() function outside the while(1) loop,
  • Call lcd_clear() before re-writing on same position (e.g. xy(1,1))
  • Most importantly verify your crystals frequency

Try removing capacitors across the crystal, try changing the crystal, and if you can try using 4Mhz crystal. Using capacitors with high frequency crystal some time causes problems there check for datasheet for proper capacitors value to attach, better to use some lower frequency crystal or by removing capacitors with same crystal

  • Also make sure you do not change the fuse bits at the time of flash burning, make them same as you mentioned in your code, brown out detect and power up timer will be preferable to use.

Do following things,

  • Call lcd_init() function outside the while(1) loop,
  • Call lcd_clear() before re-writing on same position (e.g. xy(1,1), just a test case, not required, you can overwrite any character of the lcd, but by clearing the lcd is just can be a test case if your gotoxy() function is working properly or not)
  • Most importantly verify your crystals frequency

Try removing capacitors across the crystal, try changing the crystal, and if you can try using 4Mhz crystal. Using capacitors with high frequency crystal some time causes problems there check for datasheet for proper capacitors value to attach, better to use some lower frequency crystal or by removing capacitors with same crystal

  • Also make sure you do not change the fuse bits at the time of flash burning, make them same as you mentioned in your code, brown out detect and power up timer will be preferable to use.

Do following things,

  • call lcd_init()Call lcd_init() function out side while(1)outside the while(1) loop,
  • Call lcd_clear()lcd_clear() before re-writing on same position (e.g. xy(1,1)xy(1,1))
  • Most importantly verify your crystals frequency

Try removing capacitors across the crystal, try changing the crystal, and if you can try using 4Mhz crystal. Using capacitors with high frequency crystal some time causes problems there check for datasheet for proper capacitors value to attach, better to use some lower frequency crystal or by removing capacitors with same crystal

  • Also make sure you do not changedchange the fuse bits at the time of flash burning, make them same as you mentioned in your code, Brownbrown out detect and power up timer will be preferable to use.

Do following things,

  • call lcd_init() function out side while(1) loop,
  • Call lcd_clear() before re-writing on same position (e.g. xy(1,1))
  • Most importantly verify your crystals frequency

Try removing capacitors across the crystal, try changing the crystal, and if you can try using 4Mhz crystal. Using capacitors with high frequency crystal some time causes problems there check for datasheet for proper capacitors value to attach, better to use some lower frequency crystal or by removing capacitors with same crystal

  • Also make sure you do not changed fuse bits at time of flash burning, make them same as you mentioned in your code, Brown out detect and power up timer will be preferable to use.

Do following things,

  • Call lcd_init() function outside the while(1) loop,
  • Call lcd_clear() before re-writing on same position (e.g. xy(1,1))
  • Most importantly verify your crystals frequency

Try removing capacitors across the crystal, try changing the crystal, and if you can try using 4Mhz crystal. Using capacitors with high frequency crystal some time causes problems there check for datasheet for proper capacitors value to attach, better to use some lower frequency crystal or by removing capacitors with same crystal

  • Also make sure you do not change the fuse bits at the time of flash burning, make them same as you mentioned in your code, brown out detect and power up timer will be preferable to use.
Source Link
Abdul Rehman
  • 411
  • 1
  • 5
  • 15

Do following things,

  • call lcd_init() function out side while(1) loop,
  • Call lcd_clear() before re-writing on same position (e.g. xy(1,1))
  • Most importantly verify your crystals frequency

Try removing capacitors across the crystal, try changing the crystal, and if you can try using 4Mhz crystal. Using capacitors with high frequency crystal some time causes problems there check for datasheet for proper capacitors value to attach, better to use some lower frequency crystal or by removing capacitors with same crystal

  • Also make sure you do not changed fuse bits at time of flash burning, make them same as you mentioned in your code, Brown out detect and power up timer will be preferable to use.