LCDInfo.com http://forum.lcdinfo.com/ |
|
Can not control S1D13305 (SED1335-Controller) With ATmega32 http://forum.lcdinfo.com/viewtopic.php?f=9&t=2479 |
Page 1 of 1 |
Author: | sbrathod [ Fri Jul 04, 2008 12:45 ] |
Post subject: | Can not control S1D13305 (SED1335-Controller) With ATmega32 |
hi, I am trying to control S1D13305 (SED1335-Epson Controller) based Graphic LCD with using AVR ATmega32 microcontroller. I have written the demo code in assembly language for it in AVRStudio4. The problem is i am not getting any output on LCD. I have read the datasheet of SED1335 many times but i can not understand in details how to initialize LCD, about delay of LCD, contrast port values etc. Please help me with this. Regards, Sachin Rathod, India. My code looks like this: .include "m32def.inc" .equ RD = 0 .equ WR = 1 .equ A0 = 2 .equ CS = 3 .equ RST = 4 .equ FS1 = 5 .equ DataPort = PORTC .equ CtrlPort = PORTD .equ DataDDR = DDRC .equ CtrlDDR = DDRD .equ SystemSet = 0x40 .equ SleepIn = 0x53 .equ DispOff = 0x58 .equ DispOn = 0x59 .equ Scroll = 0x44 .equ CurForm = 0x5D .equ CGRAMAddr = 0x5C .equ CurRight = 0x4C .equ CurLeft = 0x4D .equ CurUp = 0x4E .equ CurDown = 0x4F .equ HdotScr = 0x5A .equ Overlay = 0x5B .equ SetCurAddr = 0x46 .equ ReadCurAddr = 0x47 .equ MemWrite = 0x42 .equ MemRead = 0x43 .def Temp = r16 .def Dly1 = r17 .def Dly2 = r18 .def LcdCommand = r19 .def LcdData = r20 Reset: LDI Temp, 0x5F OUT SPL, Temp LDI Temp, 0x08 OUT SPH, Temp RCALL IOInit RCALL Dly50ms RCALL Dly50ms RCALL LcdInit RCALL Dly50ms RCALL Dly50ms RCALL ZPtrInit RCALL InstructionSet LDI LcdCommand, SetCurAddr RCALL SendLcdCommand LDI LcdData, 0x00 RCALL SendLcdData LDI LcdData, 0x00 RCALL SendLcdData LDI LcdCommand, CurRight RCALL SendLcdCommand LDI LcdCommand, MemWrite RCALL SendLcdCommand RCALL DisplayData Forever: RJMP Forever IOInit: LDI Temp, 0xFF OUT DataDDR, Temp LDI Temp, 0x3F OUT CtrlDDR, Temp RET LcdInit: SBI CtrlPort, RD SBI CtrlPort, WR CBI CtrlPort, CS CBI CtrlPort, FS1 CBI CtrlPort, RST RCALL Dly200us RCALL Dly200us SBI CtrlPort, RST RET SendLcdCommand: SBI CtrlPort, A0 OUT DataPort, LcdCommand CBI CtrlPort, WR NOP NOP NOP SBI CtrlPort, WR RET SendLcdData: CBI CtrlPort, A0 OUT DataPort, LcdData CBI CtrlPort, WR NOP NOP NOP SBI CtrlPort, WR RET Dly1ms: PUSH Temp PUSH Dly1 PUSH Dly2 LDI Temp, 0x08 Dly1msL1: LDI Dly1, 0xA6 LDI Dly2, 0xA6 Dly1msL2: DEC Dly1 BRNE Dly1msL2 Dly1msL3: DEC Dly2 BRNE Dly1msL3 DEC Temp BRNE Dly1msL1 POP Dly2 POP Dly1 POP Temp RET Dly200us: PUSH Temp PUSH Dly1 PUSH Dly2 LDI Temp, 0x02 Dly200usL1: LDI Dly1, 0x83 LDI Dly2, 0x83 Dly200usL2: DEC Dly1 BRNE Dly200usL2 Dly200usL3: DEC Dly2 BRNE Dly200usL3 DEC Temp BRNE Dly200usL1 POP Dly2 POP Dly1 POP Temp RET Dly50ms: LDI Temp, 50 Dly50msL1: RCALL Dly1ms DEC Temp BRNE Dly50msL1 RET ClearText: LDI LcdCommand, SetCurAddr RCALL SendLcdCommand LDI LcdData, 0x00 RCALL SendLcdData LDI LcdData, 0x00 RCALL SendLcdData LDI LcdCommand, CurRight RCALL SendLcdCommand LDI LcdCommand, MemWrite RCALL SendLcdCommand RCALL SendSpace RET ClearGraphics: LDI LcdCommand, SetCurAddr RCALL SendLcdCommand LDI LcdData, 0x00 RCALL SendLcdData LDI LcdData, 0x10 RCALL SendLcdData LDI LcdCommand, CurRight RCALL SendLcdCommand LDI LcdCommand, MemWrite RCALL SendLcdCommand RCALL SendBlank RET WrSpace: LDI LcdData, 0x20 RCALL SendLcdData RET WrBlank: LDI LcdData, 0x00 RCALL SendLcdData RET SendSpace: LDI Dly1, 30 SendSpaceL1: LDI Dly2, 40 SendSpaceL2: RCALL WrSpace DEC Dly2 BRNE SendSpaceL2 DEC Dly1 BRNE SendSpaceL1 RET SendBlank: LDI Dly1, 240 SendBlankL1: LDI Dly2, 40 SendBlankL2: RCALL WrBlank DEC Dly2 BRNE SendBlankL2 DEC Dly1 BRNE SendBlankL1 RET InstructionSet: LDI LcdCommand, SystemSet RCALL SendLcdCommand LDI LcdData, 0x32 RCALL SendLcdData LDI LcdData, 0x87 RCALL SendLcdData LDI LcdData, 0x07 RCALL SendLcdData LDI LcdData, 0x27 RCALL SendLcdData LDI LcdData, 0x2B RCALL SendLcdData LDI LcdData, 0xEF RCALL SendLcdData LDI LcdData, 0x28 RCALL SendLcdData LDI LcdData, 0x00 RCALL SendLcdData LDI LcdCommand, Scroll RCALL SendLcdCommand LDI LcdData, 0x00 RCALL SendLcdData LDI LcdData, 0x00 RCALL SendLcdData LDI LcdData, 0xEF RCALL SendLcdData LDI LcdData, 0x00 RCALL SendLcdData LDI LcdData, 0x10 RCALL SendLcdData LDI LcdData, 0xEF RCALL SendLcdData LDI LcdCommand, Overlay RCALL SendLcdCommand LDI LcdData, 0x01 RCALL SendLcdData LDI LcdCommand, DispOff RCALL SendLcdCommand LDI LcdData, 0x00 RCALL SendLcdData RCALL ClearText RCALL ClearGraphics LDI LcdCommand, DispOn RCALL SendLcdCommand LDI LcdData, 0x14 RCALL SendLcdData LDI LcdCommand, SetCurAddr RCALL SendLcdCommand LDI LcdData, 0x00 RCALL SendLcdData LDI LcdData, 0x00 RCALL SendLcdData LDI LcdCommand, CurForm RCALL SendLcdCommand LDI LcdData, 0x04 RCALL SendLcdData LDI LcdData, 0x86 RCALL SendLcdData RET ZPtrInit: LDI ZL, Low (Message<<1) LDI ZH, High(Message<<1) RET LoadProgMem: LPM LcdData, Z+ RCALL SendLcdData RET DisplayData: LDI Temp, 40 DisplayDataL1: RCALL LoadProgMem DEC Temp BRNE DisplayDataL1 RET Message: .DB [".. LCM-3202401 GRAPHIC LCD .."] |
Page 1 of 1 | All times are UTC + 2 hours |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |