0 Usuarios y 1 Visitante están viendo este tema.
;=======LCD_Nokia nse1,nse3,nsm1 / Version 1.0====================21/12/02==; cod LPH7366-1, LPH7779, LPH7677 / driver PCD8544; rb6,rb7 sclock,sdata; ra0,ra1,ra2,ra3 d/C,Reset,Vccmd,SCE; internal clock; standard crystal 4.000 MHz XT - 1us pe instructiune/pe aproape; Program realizat de Ing. Bergthaller Iulian-Alexandru ;------------------------------------------------------------ list p=16f84A;f=inhx8m_CP_OFF equ H'3FFF' ;code protect off_PWRTE_ON equ H'3FFF' ;Power on timer on_WDT_OFF equ H'3FFB' ;watch dog timer off_XT_OSC equ H'3FFD' ;crystal oscillator __CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC;------------------------------------------------------------; cpu initporta equ 05portb equ 06count1 equ 0Ccount2 equ 0Dcount3 equ 0Eafisaj equ 0F#DEFINE sclk portb,6#DEFINE sdta portb,7#DEFINE dorc porta,0#DEFINE rset porta,1#DEFINE tens porta,2#DEFINE enab porta,3;------------------------------------------------------------ org 0;;------------------------------------------------------------init movlw 0 tris portb ; set portb as output movwf portb ; all ouput low movlw 0 tris porta ; set portb as output movwf porta ; all ouput lowstart call pause bsf dorc bsf enab bsf tens ;activare tensiune call lcres ;resetare cca. 250ms movlw 21H ;set extins movwf afisaj call lccmd movlw .197 ;Vop movwf afisaj call lccmd movlw 13H ;bias movwf afisaj call lccmd movlw 20H ;afisare orizontala movwf afisaj call lccmd movlw 09H ;mod control all on movwf afisaj call cbild ;resetare DDRAM call lccmd call pause movlw 08H ;mod control blank movwf afisaj call lccmd call pause movlw 0CH ;mod control normal movwf afisaj call lccmd movlw 40H ;x ini movwf afisaj call lccmd movlw 80H ;y ini movwf afisaj call lccmdadata movlw 1FH ;date movwf afisaj call lcdta movlw 05H ;date movwf afisaj call lcdta movlw 07H ;date movwf afisaj call lcdta goto adatalcdta bsf dorc bcf enab ;activare chip si start date call varsa bsf enab retlw 00lccmd bcf dorc bcf enab ;activare chip si start date call varsa bsf enab retlw 00lcres bcf rset ;resetare call pause bsf rset ;dezactivare reset retlw 00varsa bcf sclk btfsc afisaj,7 ;bit0(MSB) bsf sdta btfss afisaj,7 bcf sdta call halta bsf sclk call halta bcf sclk btfsc afisaj,6 ;bit1 bsf sdta btfss afisaj,6 bcf sdta call halta bsf sclk call halta bcf sclk btfsc afisaj,5 ;bit2 bsf sdta btfss afisaj,5 bcf sdta call halta bsf sclk call halta bcf sclk btfsc afisaj,4 ;bit3 bsf sdta btfss afisaj,4 bcf sdta call halta bsf sclk call halta bcf sclk btfsc afisaj,3 ;bit4 bsf sdta btfss afisaj,3 bcf sdta call halta bsf sclk call halta bcf sclk btfsc afisaj,2 ;bit5 bsf sdta btfss afisaj,2 bcf sdta call halta bsf sclk call halta bcf sclk btfsc afisaj,1 ;bit6 bsf sdta btfss afisaj,1 bcf sdta call halta bsf sclk call halta bcf sclk btfsc afisaj,0 ;bit7(LSB) bsf sdta btfss afisaj,0 bcf sdta call halta bsf sclk call halta bcf sclk retlw 00cbild bcf sdta movlw .6 movwf count3c3 movlw .84 movwf count1c1 movlw .8 movwf count2 bsf dorc bcf enab c2 bcf sclk nop nop bsf sclk decfsz count2 goto c2 bsf enab decfsz count1 goto c1 decfsz count3 goto c3 retlw 00pause movlw .7 movwf count3d3 movlw .50 movwf count1d1 movlw .250 movwf count2d2 decfsz count2 goto d2 decfsz count1 goto d1 decfsz count3 goto d3 retlw 00halta movlw 20H movwf count1g1 movlw 40H movwf count2 g2 decfsz count2 goto g2 decfsz count1 goto g1 retlw 00;------------------------------------------------------------ end;============================================================
estuve viendo un programa en Assembler, lo agrege al microcode estudio como ASM pero al compilarlo me dice que el progrma tiene errores (el ASM).. el autor decia que funcionaba perfectoalguien ve algun problema???