logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Atmega8] + wyświetlacz lcd

everm 16 Sty 2011 19:38 1710 5
REKLAMA
  • #1 9015416
    everm
    Poziom 10  
    Jak wyświetlić jakiś znak, tzn w którym miejscu w kodzie trzeba to zastosować korzystając z takiej tabelki?

    np. jak wyświetlić 123



    [Atmega8] + wyświetlacz lcd

    Cytat:
    .include "m8535def.inc"

    ;-----------------------------------------------
    .def TMP = R16
    ;-----------------------------------------------
    .org $000
    RJMP RESET
    ;-----------------------------------------------
    RESET:
    LDI TMP,LOW(RAMEND)
    OUT SPL,TMP
    LDI TMP,HIGH(RAMEND)
    OUT SPH,TMP

    LDI TMP,$FF
    OUT DDRA,TMP
    NOP
    OUT DDRB,TMP

    RCALL INIT

    RCALL DELAY

    RCALL WRITE

    MAIN:
    RJMP MAIN
    ;-----------------------------------------------
    DELAY:
    LDI R21,$FF
    L1: LDI R20,$FF
    L: DEC R20
    BRNE L
    DEC R21
    BRNE L1
    RET
    ;-----------------------------------------------
    S_T:
    CBI PORTB,0
    CBI PORTB,1
    SBI PORTB,2
    OUT PORTA,TMP
    CBI PORTB,2
    RET
    ;-----------------------------------------------
    DANE:
    CBI PORTB,0
    SBI PORTB,1
    CBI PORTB,2
    OUT PORTA,TMP
    SBI PORTB,2
    RET
    ;-----------------------------------------------
    WRITE:
    LDI TMP,0b0100_1101
    RCALL DANE
    RCALL DELAY
    ;itd
    RET
    ;-----------------------------------------------
    INIT:
    LDI TMP,0b0000_1111
    RCALL S_T
    LDI TMP,0b0000_0110
    RCALL S_T
    LDI TMP,0b0011_1000
    RCALL S_T
    LDI TMP,0b0000_0001
    RCALL S_T
    RET
  • REKLAMA
  • #2 9018334
    asembler
    Poziom 32  
    Bez schematu ani rusz.
    Dziwny sposób wyświetlania niczego.
  • REKLAMA
  • #3 9018694
    LordBlick
    VIP Zasłużony dla elektroda
    Dopóki nie popełnisz inicjalizacji wyświetlacza i albo nie zastosujesz opóźnień, albo testowania flagi zajętości, dopóty wyświetlacz nie będzie wiedział, czego od niego chcesz... Generalnie pogooglaj za tym, jak to zrobili inni, obojętnie czy w C, czy w asm...
  • REKLAMA
  • #4 9019359
    asembler
    Poziom 32  
    Tu masz procedurki.
    pp10,pp11,pp12,pp13 deklaracja pinów szyny danych
    RSLCD PIN RS W LCD
    ENABLE PIN E

    
    ALCDR     CBI RSLCD
              LD R0,R16
    ALCD	CBI PP10
             	JNB R0,0
             	SBI PP10
              CBI PP11
    	JNB R0,1
             	SBI PP11
    	CBI PP12
             	JNB R0,2
             	SBI PP12
    	CBI PP13
             	JNB R0,3
             	SBI PP13
    
    INCLUDE LCD20
    
             	LD R8,Y+KY
             	JB R8,1
             	JR W41
          	SBI ENABLE1
             	CALL ALRET
              CALL ALRET
             	CBI ENABLE1
             	JB R8,2
    	JR DELAY
    
    W41	SBI ENABLE
              CALL ALRET
              CALL ALRET
             	CBI ENABLE
    
    
    DELAY    	PUSH R16
    	WDR
    	LD R16,KWARZ/60000
    D1L      	DEC R16
             	JNZ D1L
             	POP R16
    ALRET    	RET
    
    
    
    
    
    BEGLCD    LD R16,6
    	LD Y+KY,R16
    	LD R16,3
    
             	CALL ALCDR
             	CALL DADA
    
           ;  LD R16,3
    	CALL ALCDR
    
             	CALL DADA ;OPOZNIENIE
    
            ; LD R16,3
             	CALL ALCDR
             	LD R16,2
             	CALL ALCDR
             	LD R16,$28
             	CALL CODE
             	LD R16,$10
             	CALL CODE
             	LD R16,$0C     
    ;DISPAY ON/OFF 0000 1DCB D=CALY LCD,C=KURSOR, B=MIGANIE KURSORA
             	CALL CODE
             	LD R16,$06
             	CALL CODE
    
    CLRLCD    LD R16,6
    	LD Y+KY,R16
    	LD R16,1
    	CALL CODE
    
    DADA     	PUSH R16
    	CLR R16
    DED      	CALL DELAY
             	DEC R16
             	JNZ DED
             	POP R16
             	RET
    
    
    
    CODE     	CBI RSLCD
    	LD R0,R16
             	JR COD
    
    NALCD    	SBI RSLCD
    COD    	SWAP R0
             	CALL ALCD
             	SWAP R0
             	JR ALCD
    
  • REKLAMA
  • #6 9019579
    asembler
    Poziom 32  
    Sorry ale nie chciało mi sie poprawiać. Moj komplilator nie protestuje. Stwierdziłem ze dla autora postu to i tak będzie duża podpowiedź patrząc jak sie zabrał do tego.
REKLAMA