Advertisement
Guest User

Untitled

a guest
Nov 28th, 2018
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. KEY EQU 0000001B
  3. LINE EQU P3.5
  4.  
  5.     LJMP START
  6.     ORG 100H
  7. START:
  8.     LCALL LCD_INIT
  9.     ; ustawienie wskaznika
  10.     MOV R0,#CSDS
  11.     MOV A, #KEY
  12.     MOVX @R0,A
  13.    
  14.     MOV R5, #0ffH  ;high
  15.     MOV R2, #0      ; 0-normal modes, 1-mode3
  16.     LCALL WAIT_KEY
  17.     MOV B, #2
  18.     DIV AB
  19.    
  20.     JZ MODES_0X
  21.     MOV A, B
  22.     JZ MODE_10
  23.    
  24. MODE_11:    ;tryb 3
  25.     MOV TMOD, #01110000B
  26.     MOV R6, #0faH
  27.     MOV R2, #1
  28.     SJMP AFTER_SETUP
  29.    
  30. MODE_10:    ;tryb 2
  31.     MOV TMOD, #01100000B
  32.     MOV R5, #0faH
  33.     MOV R6, #0faH
  34.     SJMP AFTER_SETUP
  35.    
  36. MODES_0X:
  37.     MOV A, B
  38.     JZ MODE_10
  39.  
  40. MODE_01:    ;tryb 1
  41.     MOV TMOD, #01010000B
  42.     MOV R6, #0faH
  43.     SJMP AFTER_SETUP
  44.  
  45. MODE_00:    ; tryb 0
  46.     MOV TMOD, #01000000B
  47.     MOV R6, #01aH
  48.    
  49. AFTER_SETUP:   
  50.     LCALL LCD_CLR
  51.     MOV A, #00
  52.     LCALL WRITE_HEX
  53.    
  54.     MOV A, R6
  55.     MOV R1, A
  56.    
  57.     MOV TH1, R5
  58.     MOV TL1, R6
  59.     SETB TR1 ; start timera
  60.    
  61. LOOP:
  62.     MOV A, R2
  63.     JZ NORMAL
  64. MODE3:
  65.     JNB LINE, MODE3
  66.     MOV A, #10
  67.     LCALL DELAY_MS
  68.     JNB LINE, MODE3
  69. WAITFORIT:
  70.     JB LINE, WAITFORIT
  71.     MOV A, #10
  72.     LCALL DELAY_MS
  73.     JB LINE, WAITFORIT
  74.    
  75.     INC TL1
  76.     MOV A, TL1
  77.     JZ PRZEP
  78.     ;end of mode3
  79.    
  80. NORMAL:
  81.     JB TF1, PRZEP
  82.     MOV A, TL1
  83.     CLR C
  84.     SUBB A, R1
  85.     JZ LOOP
  86.    
  87. AFTER_PRZEP:
  88.     LCALL LCD_CLR
  89.     MOV R1, TL1
  90.     MOV A, R1
  91.     CLR C
  92.     SUBB A, R6
  93.     LCALL WRITE_HEX
  94.    
  95.     MOV A, #10
  96.     LCALL DELAY_100MS
  97.     SJMP LOOP
  98.    
  99. PRZEP:
  100.     CLR TF1
  101.    
  102.     MOV TH1, R5
  103.     MOV TL1, R6
  104.     INC TL1
  105.    
  106.     SJMP AFTER_PRZEP
  107.     NOP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement