اطلاعیه

Collapse
No announcement yet.

میکرو pic

Collapse
این موضوع بسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    میکرو pic

    سلام
    من با 1 مشکل مواجه شدم و از دوستان تقاضای کمک دارام (اگه ممکنه دریغ نکنید که به شدت نیازمندم :angry
    1 برنامه در محیط C یا Basic میخوام برای اتصال میکرو pic16f84 با یک LCD 2*16 با یک keypad 4*4 ماتریسی.
    هم اکنون نیازمند یاری سبزتان هستم :eek:

    #2
    پاسخ : میکرو pic

    نوشته اصلی توسط Simajoo
    سلام
    من با 1 مشکل مواجه شدم و از دوستان تقاضای کمک دارام (اگه ممکنه دریغ نکنید که به شدت نیازمندم :angry
    1 برنامه در محیط C یا Basic میخوام برای اتصال میکرو pic16f84 با یک LCD 2*16 با یک keypad 4*4 ماتریسی.
    هم اکنون نیازمند یاری سبزتان هستم :eek:
    برنامه مربوط به LCD به زبان BASIC
    -------------------------------------------------------------------------
    define lcd_dreg portb
    define lcd_dbit 4
    define lcd_rsreg portb
    define lcd_rsbit 1
    define lcd_ereg portb
    define lcd_ebit 3
    define lcd_bits 4
    define lcd_lines 2
    main:
    lcdout $fe,1
    lcdout "LCD & PIC16F84"
    pause 2000
    lcdout $fe,1
    lcdout "LCD example"
    lcdout $fe,$c0
    lcdout "Second Line...."
    pause 4000
    goto main
    end
    هرکه خود را یک بار با اشکهایش شستشو دهد تا زنده است پاک و مقدس میماند

    دیدگاه


      #3
      پاسخ : میکرو pic

      نوشته اصلی توسط Simajoo
      سلام
      من با 1 مشکل مواجه شدم و از دوستان تقاضای کمک دارام (اگه ممکنه دریغ نکنید که به شدت نیازمندم :angry
      1 برنامه در محیط C یا Basic میخوام برای اتصال میکرو pic16f84 با یک LCD 2*16 با یک keypad 4*4 ماتریسی.
      هم اکنون نیازمند یاری سبزتان هستم :eek:
      برنامه بالا مربوط به LCD یه برنامه خیلی ساده بود. اگر خواستید می تونم توضیح بیشتری بدم.
      برنامه زیر هم مال keyboard .
      موفق باشید.
      ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      define lcd_dreg portd
      define lcd_dbit 4
      define lcd_rsreg portd
      define lcd_rsbit 2
      define lcd_ereg portd
      define lcd_ebit 3
      define lcd_bits 4
      define lcd_lines 4

      keypress var byte
      oldkey var byte
      flag var bit
      oldkey=15
      lcdout $fe,1

      main:
      lcdout $fe,$80,"KEY PRESS="
      if oldkey=15 then
      lcdout "none"
      else
      lcdout $fe,$c0 , dec oldkey , " "
      endif
      portb = %1000
      gosub column
      if flag=1 then goto result1

      portb = %0100
      gosub column
      if flag=1 then goto result2

      portb = %0010
      gosub column
      if flag=1 then goto result3

      portb = %0001
      gosub column
      if flag=1 then goto result4

      result1:
      lookup keypress,[1,4,7,10] , oldkey
      goto main

      result2:
      lookup keypress,[2,5,8,0] , oldkey
      goto main

      result3:
      lookup keypress,[3,6,9,11] , oldkey
      goto main

      result4:
      lookup keypress,[12,13,14,15] , oldkey
      goto main

      column:
      flag=1
      keypress=0
      if portb.7=1 then exitcolumn
      keypress=keypress+1
      if portb.6=1 then exitcolumn
      keypress=keypress+1
      if portb.5=1 then exitcolumn
      keypress=keypress+1
      if portb.4=1 then exitcolumn
      keypress=keypress+1
      flag=0
      return

      exitcolumn:
      return
      end
      هرکه خود را یک بار با اشکهایش شستشو دهد تا زنده است پاک و مقدس میماند

      دیدگاه

      لطفا صبر کنید...
      X