home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 April / CHIP4_98.ISO / software / ccconrad / basic.exe / CHIP / Programme.Bas / App-Board / lcd1.bas < prev    next >
Encoding:
BASIC Source File  |  1997-06-16  |  2.8 KB  |  133 lines

  1. '********************************************************************
  2. '
  3. ' C-Control/BASIC       LCD1.BAS
  4. '
  5. ' Systemvoraussetzungen:
  6. '
  7. ' - Application Board mit angeschlossenem Display
  8. '
  9. ' Schwerpunkt:
  10. '
  11. ' - Ausgeben von Text am Display
  12. '
  13. '********************************************************************
  14.  
  15.  
  16. ' *** Daten-Definition ***
  17. define lcd_buf byte
  18. define lcd_param byte
  19.  
  20. ' *** Definition LCD-Ports ***
  21. define lcd_port byteport[2]
  22. define lcd_rs port[14]
  23. define lcd_rw port[13]
  24. define lcd_e port[15]
  25.  
  26. '*** ASCII-Codes ***
  27. define A_ &H41
  28. define B_ &H42
  29. define C_ &H43
  30. define D_ &H44
  31. define E_ &H45
  32. define F_ &H46
  33. define G_ &H47
  34. define H_ &H48
  35. define I_ &H49
  36. define J_ &H4A
  37. define K_ &H4B
  38. define L_ &H4C
  39. define M_ &H4D
  40. define N_ &H4E
  41. define O_ &H4F
  42. define P_ &H50
  43. define Q_ &H51
  44. define R_ &H52
  45. define S_ &H53
  46. define T_ &H54
  47. define U_ &H55
  48. define V_ &H56
  49. define W_ &H57
  50. define X_ &H58
  51. define Y_ &H59
  52. define Z_ &H5A
  53.  
  54. '*** Programmoperationen  ***
  55.  
  56.   gosub LCD_INIT
  57.   pause 10
  58.  
  59. ' Ausgabe von Application Board  am Display
  60.   lcd_param = A_ : gosub LCD_WRITECHAR       ' APPLICATION
  61.   lcd_param = P_ : gosub LCD_WRITECHAR
  62.   lcd_param = P_ : gosub LCD_WRITECHAR
  63.   lcd_param = L_ : gosub LCD_WRITECHAR
  64.   lcd_param = I_ : gosub LCD_WRITECHAR
  65.   lcd_param = C_ : gosub LCD_WRITECHAR
  66.   lcd_param = A_ : gosub LCD_WRITECHAR
  67.   lcd_param = T_ : gosub LCD_WRITECHAR
  68.   lcd_param = I_ : gosub LCD_WRITECHAR
  69.   lcd_param = O_ : gosub LCD_WRITECHAR
  70.   lcd_param = N_ : gosub LCD_WRITECHAR
  71.  
  72.   lcd_param = 2 : gosub LCD_GOTOLINE        ' Wechsel in die zweite Zeile
  73.  
  74.   lcd_param = B_ : gosub LCD_WRITECHAR      ' BOARD
  75.   lcd_param = O_ : gosub LCD_WRITECHAR
  76.   lcd_param = A_ : gosub LCD_WRITECHAR
  77.   lcd_param = R_ : gosub LCD_WRITECHAR
  78.   lcd_param = D_ : gosub LCD_WRITECHAR
  79.  
  80.   end
  81.  
  82.  
  83. '*** LCD_Interface ***
  84. '( muss in jedes Programm mit LCD-Ausgabe eingefuegt werden)
  85.  
  86. #LCD_INIT
  87.  
  88. ' alle ports 0
  89.   lcd_port = OFF
  90.  
  91. ' 8-Bit-Modus aktivieren
  92.   lcd_param=&H38 : gosub LCD_WRITECMD
  93.  
  94. ' mit 8-Bit-Command in 4-Bit-Modus umschalten
  95.   lcd_port=&B00000010
  96.   tog lcd_e
  97.   tog lcd_e
  98.  
  99. ' ab jetzt 4-Bit-Modus
  100.   lcd_param = &H28 : gosub LCD_WRITECMD
  101.   lcd_param = &H0C : gosub LCD_WRITECMD
  102.  
  103. ' Display loeschen
  104. #LCD_CLS
  105.   lcd_param = &H02 : gosub LCD_WRITECMD
  106.   lcd_param = &H01 : gosub LCD_WRITECMD
  107. return
  108.  
  109. ' Zeilenwechsel
  110. #LCD_GOTOLINE
  111.   if lcd_param = 1 then lcd_param = &H80
  112.   if lcd_param = 2 then lcd_param = &HC0
  113.   goto LCD_WRITECMD
  114.  
  115. ' LCD-Kommando
  116. #LCD_WRITECMD
  117.   lcd_buf = OFF
  118.   goto LCD_WRITE
  119.  
  120. ' Zeichenausgabe
  121. #LCD_WRITECHAR
  122.   lcd_buf = &B00100000
  123.  
  124. ' Kommando oder Zeichen an Display senden
  125. #LCD_WRITE
  126.   lcd_port = lcd_buf or (lcd_param shr 4) ' Hi-Nibble
  127.   tog lcd_e
  128.   tog lcd_e
  129.   lcd_port = lcd_buf or (lcd_param and &H0F)  ' Lo-Nibble
  130.   tog lcd_e
  131.   tog lcd_e
  132. return
  133.