Advertisement
Dark-Show

PIC12F675 OLED12864

May 14th, 2014
385
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MPASM 3.23 KB | None | 0 0
  1. ;*******************************************************
  2. ;12864 OLED Commands
  3. ;Programmer: Gregory Michalik
  4. ;Email: gregory954(a)gmail.com
  5. ;*******************************************************
  6. ;**************************
  7. ;Fonts:
  8. ;0,6,10,18,51,120,123
  9. ;**************************
  10.  
  11.  UDATA_SHR
  12. font    res 1                   ; Set Font (0 default)
  13.  
  14.  global OLED_Init
  15.  global OLED_Orgin
  16.  global OLED_StartScreen
  17.  global OLED_Clear
  18.  global OLED_ClearScreen
  19.  global OLED_Rotate180
  20.  global OLED_StartText
  21.  global OLED_SendNull
  22.  global OLED_NextLine
  23.  global OLED_EEPROM
  24.  global OLED_DMNULL
  25.  global OLED_DMNOT
  26.  global OLED_TextPos
  27.  global OLED_FillRect
  28.  global OLED_DrawRect
  29.  global OLED_DrawLine
  30.  extern Delay1000
  31.  extern Delay125
  32.  extern UART_SendByte
  33.  extern baud
  34.  
  35.  code
  36.  
  37. OLED_Init
  38.         call    Delay1000       ; Delay for Boot Screen
  39.         call    Delay1000
  40.         movlw   0x18            ; 9600bps(4Mhz)
  41.         movwf   baud
  42.         call    OLED_SetBaud19.2k
  43.         movlw   0x0A            ; 19200bps(4Mhz)
  44.         movwf   baud
  45.         call    OLED_Clear
  46.         return
  47. OLED_SetBaud19.2k
  48.         movlw   "S"
  49.         call    UART_SendByte
  50.         movlw   "B"
  51.         call    UART_SendByte
  52.         movlw   "1"
  53.         call    UART_SendByte
  54.         movlw   "9"
  55.         call    UART_SendByte
  56.         movlw   "2"
  57.         call    UART_SendByte
  58.         movlw   "0"
  59.         call    UART_SendByte
  60.         movlw   "0"
  61.         call    UART_SendByte
  62.         call    OLED_SendNull
  63.         return
  64. OLED_FillRect   ;FR(X,Y,X2,Y2)
  65.         movlw   "F"
  66.         call    UART_SendByte
  67.         movlw   "R"
  68.         call    UART_SendByte
  69.         return
  70. OLED_DrawRect   ;DR(X,Y,X2,Y2)
  71.         movlw   "D"
  72.         call    UART_SendByte
  73.         movlw   "R"
  74.         call    UART_SendByte
  75.         return
  76. OLED_DrawLine   ;LN(X,Y,X2,Y2)
  77.         movlw   "L"
  78.         call    UART_SendByte
  79.         movlw   "N"
  80.         call    UART_SendByte
  81.         return
  82. OLED_Orgin
  83.         movlw   "T"
  84.         call    UART_SendByte
  85.         movlw   "P"
  86.         call    UART_SendByte
  87.         movlw   0x00
  88.         call    UART_SendByte
  89.         movlw   0x00
  90.         call    UART_SendByte
  91.         return
  92. OLED_TextPos    ;TP(X,Y) (x,y are based on size of font)
  93.         movlw   "T"
  94.         call    UART_SendByte
  95.         movlw   "P"
  96.         call    UART_SendByte
  97.         return
  98. OLED_StartScreen
  99.         movlw   "D"
  100.         call    UART_SendByte
  101.         movlw   "S"
  102.         call    UART_SendByte
  103.         movlw   "S"
  104.         call    UART_SendByte
  105.         movlw   "1"
  106.         call    UART_SendByte
  107.         call    Delay1000
  108.         return
  109. OLED_Clear
  110.         movlw   "C"
  111.         call    UART_SendByte
  112.         movlw   "L"
  113.         call    UART_SendByte
  114.         return
  115. OLED_ClearScreen
  116.         call    OLED_CS
  117.         call    OLED_DMNOT
  118.         call    OLED_CS
  119.         call    OLED_DMNULL
  120.         return
  121. OLED_CS
  122.         movlw   "F"
  123.         call    UART_SendByte
  124.         movlw   "R"
  125.         call    UART_SendByte
  126.         movlw   0x00
  127.         call    UART_SendByte
  128.         movlw   0x00
  129.         call    UART_SendByte
  130.         movlw   0x80
  131.         call    UART_SendByte
  132.         movlw   0x41
  133.         call    UART_SendByte
  134.         return
  135. OLED_DMNOT
  136.         movlw   "D"
  137.         call    UART_SendByte
  138.         movlw   "M"
  139.         call    UART_SendByte
  140.         movlw   "!"
  141.         call    UART_SendByte
  142.         return
  143. OLED_DMNULL
  144.         movlw   "D"
  145.         call    UART_SendByte
  146.         movlw   "M"
  147.         call    UART_SendByte
  148.         movlw   0x00
  149.         call    UART_SendByte
  150.         return
  151. OLED_Rotate180
  152.         call    OLED_Clear
  153.         movlw   "S"
  154.         call    UART_SendByte
  155.         movlw   "D"
  156.         call    UART_SendByte
  157.         movlw   "2"
  158.         call    UART_SendByte
  159.         return
  160. OLED_StartText
  161.         movlw   "T"
  162.         call    UART_SendByte
  163.         movlw   "T"
  164.         call    UART_SendByte
  165.         return
  166. OLED_SendNull
  167.         movlw   0x00
  168.         call    UART_SendByte
  169.         call    Delay125
  170.         return
  171. OLED_NextLine
  172.         movlw   "T"
  173.         call    UART_SendByte
  174.         movlw   "R"
  175.         call    UART_SendByte
  176.         movlw   "T"
  177.         call    UART_SendByte
  178.         return
  179.  END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement