Peri odo Enero 2010 UTU.ITS 4'año C.l.T ElectrotecniaElectrónica Examen de lnformática Nombre: Grupo: Cedula de ldentidad N": Tipo de examen: Libre tr Reglamentado tr Problema Nota: l. Se cuenta con un PIC16F690 funcionando a 4 MHz, con dos display de 7 segmentos, conectados a la puerta C, refrescándose los mismos 200 veces por segundo; Se utilizará un multiplexado de 2.5 milisegundos para desplegar los números de 0 a 9; (el retardo de 2.s mirisegundos será calculado aplicando la técnica del TMRI ). Se pide escribir un programa para el cual el contador empezará su cuenta ascendente desde 00 a ds en decimal, llegado a éste número se pondrán a cero ros 2 display y se reiniciará el programa, uno de los display representa las unidades y el otro las decenas. Se brindará parte del programa principal, el cual se deberá completarlo, validarlo y ajustarlo a la aplicación de programa solicitada. \_") Problema 2. Se desea mostrar en un display de siete segmentos de cátodo común conectado al puerto C de un microcontrolador P|C16F690 la palabra "febrero", mostrando cada letra en secuencia (f)e)b)r)e)r)o)f...) a razón de 1 letra por segundo, refrescando el display S0 veces por segundo. Se pide escribir el programa para el P1C16F690, considerando el uso del temporizador TMRI para realizar el retardo y la siguiente disposición de los segmentos: . o o o o . . . I ) ) ) ) ) ) ) seg. E RP1 seg. D RP2 seg. C RP3 seg. B RP4 seg. A RPS seg. F RP6 seg. G RP7 enciende el display en "1". RPO Problema 3. (LIBRES) Se dispone de un P|C16F690 funcionando a 4 MHz. se pide activar a través de un pulsador en Ia puerta B, bit 5, un LED que permanecerá encendido 4 segundos en el puerto B, bit 7. Además, deberá permanecer 1 segundo apagado después de cada encendido. La resolución del problema deberá fundamentarse en el manejo de interrupciones, el temporizado se deberá calcular utilizando el registro TMR1. NOTAS: '/ / Para que se corrijan los problemas, deberán estar totalmente documentados y es parte de la solución la realización del diagrama de flujo del programa. En este examen se empleara el PIC 16F628A paraaquellos alumnos de años anteriores. Página 1 de f C : ;M''Rl PROGRFTMA , 1 5F690 \CoNTADOR 0 0 66. ASM (E,rERCrCro 1, E){A}..ÍEN E',EBRERO 2010) ETCHA:17/O2/2OLA DE OO A 99 C¿DA UN SEGUNDO, USA}¡DO EL TTMPORIZ¿DOR Y DESPI.EGÁNDOLO EN DOS DISPIAY DE ? SEGMENTOS DE CÁIOOO COI.¿T¡I.I ;pRoGRAr,fA CONTADOR OO ;ESIT \USERS\NELSON\DOCUMENTS\PRoYEgTOS {aesU ]NdETñN"A U}iTA VARTABI,E ,'SEGUNDOS ,TGVISIÓN: 2. PROGR,AMA PARA PIC1 6T690 RELO.T INSTRUCCIóN: lMHz O ,I¡EI"OCIDID DEL RELOü: 4MlIz ; PERRO GUARDIÁTi¡ ;STATUS ;PORTA ,.TRISA ,.PORTC ;TRISC ,ANSEL ;AIISELH ,.ADCON0 ,ADCON1 ,.CMICONo : ,PCT ;Tt'fRlt ;II"íR1H ;PIR1 ; PIEl UNIDAD DECENA CONTA *DEFINE *DEFI}fE 1mS 0x07 oxB7 0x118 0x11F 0x1F 0x9r' 0x119 0x11A EQU EQU EQU EQU ;CM2CON1 = DE CóDIGO: APAGADA 0x03 oxo5 0x8s EQU EQU EQU EQU EQU EQU EQU EQU EQU ;Ct'l2COt¡to ,T1CON PROTECCIÓN DESIIABITITADO EOU EQU EOU EQU EQU EQU EQU EQU 0x118 0x02 0x10 0x0E 0x0F 0x0c 0x8c 0x20 0x21 ox22 DISP-I.INIDAD PORTAI S DISP DECE}IA PORTC,T (-rNrRc_osc_NoclJ(our _"oitig _fiDT_oFF & _PI{RTE_OEE e _r'fCLRE_OrE e _CP_O5'F & & BOR-OFT & _IESO-OFE & _ECMEN-OFF) LIST P=16F690 rNcf,uDE,P16r690.rNC' RESET INICIO ORG 0x00 GOTO INICIO BSF STATUS,RPO l'¡OVLYI B' 00000000 BUCT.E II{DEC TRISC t'foww B' 11011111, lrÍOw{§ IRI§A CtRF ADCONl ,.RELO,J BCF STATUS,RPO ,BAIiICO DE REGISTRO 2 BSF STATUS,RPl Cf,RE CLRP BCE CLRF NiTSEL ,PIN RAs SATIDA ;TODOS vD ESTAT.IDAR (Eoes/2) LoS PINE§ DIGITALES AI\¡SET"H STATUS, RP1 ;BANco DE REGISTRO ADCONO PÓRTA PORTC ,coNvERsoR A/D DESACTMDO ,. INICI"AT,I ZAR PT.,ERTOS UNIDAD DECEIiIA ;0 -> ;0 -> CALI, INCF DESPI,E ;},!oSfRAR EN PAI{TAILA UNIDAD, F D'10' ;UNIDAD+I MO\ITW ST,BWF T'NIDAD, BTESS STATUS, Z ;Z=1? GOTO CHECK ;NO, REVISAR LÍMITE CI,RF UNIDAD DECENA,E ;DECENA+1 CI.RF CI,RF CI,RF INCP CTIECI( 1 ,TODo PUERTO C SALIDA l'lovr{F CLR.E. NEliCONT ;BAlICo DE REGISSRO , il#4 UNIDAD DECEIiIA -> ;10 -> IÍ O e{r ST'BTIF uNrD*D,0 UNIDAD -> ;1O-UNIDAD W (ITNIDAD=10) ;SI, 0 -> ,9->W BTFSS 0 UNIDAD -> ;tNIDAD-9 -> DECE}iIA W ,z-1? (UNIDAD=9) VOLVER AI CICTO GOTO STATUS, BUCLE MOVLIí D'1' SUBYi:F DECE}iIA, BTTSS sTArus, z ;Z=1? GOTO CALL BUCI,E DESPI,E ;NO, ;SI , LLEeA¡'{os AL LÍMIlt GOTO NEWCONT ,.EMPEZ¿R Z ,NO, ;SIr 1 -> O ;DECEIiIA-1 W -> W (DECEI{A=1} VOLVER AL CICLO DE O c : \USERS\NELSoN\DOCTJMENTS\PROYECTOS MOVLW I,{OV}IF I,ooP_DESPLE I'fo118 CA],L MOVWP BSE BCF CATL l,fgt/F CAJ,L r.rowlF BSF BCF CALI, DECESZ @TO REIIJRN DESPLE TABLA_DEC_7SEG RET 51.{S LOP ESP IF ADDfiF REfLfl RETLII RETLW REÍLI{ RETLÍi RETTW RETLW RETLI{ REILI{ RETTW RETLI{ BCF BcF lllO\¡LW MOVI{F t'o\ltl{ lrovlsF BCF BStr' BTESS G¡OTO BCr BCF RETT.,RN E}¡D Dr100' CONTA INIDAD,o ;100 -> ,100 -> 1 68690 \CONTADOR 0 66. A.SM Yl CONTADOR (100X[5ms*21=1s) ;UNIDAD -> W T}BIA-DEC-7SEG ;TJ[BI,A DE CONI/ERSIóN (OSC -> PORTC ;C¿RGAR DISPLAY DISP_TJNIDAD ;DISPI.AY DE UNIDAD ENCENDIDO DISP_DECENA TDISPLAY DE DEqENA APAGADO RET-5I.IS' DECEl,itA,g 0 ? SEE{ENTOS) ,RETARDO DI,T{ACIóN=5Í¡S ;DECENA, _> W TABLA"-DEC*?SEG ;TABIA DE CON\¡ERSIóN PORTC ;CARGAR DISPLAY DISP_DECENA ;DISPIAY DE UNIDAD APAGADO DISP*T,NIDAD ;DISPI,AY DE DECENA ENCENDIDO RET_s}IS ,RETARDO DURACIÓN=5mS CONTA,E ;CONTA*1 -> CONTA, CONTA=o? (100 REPETICIONES) IOOP_DESPI.E ;NOr REPETTR ;ST, VOLVER AT PRINCIPIO PcL,f ;W+PCL 8'00111111 ' ;¡e0 B' 00001100 ' B' 0101101f B' 01011110 ' B'OX1OX100' 8'01110110 I B'01110111' 8'00011100' B' 01111111 ' B'01111L10' B' 00000000 ' -> PCL ;f{=1 iÍÉ2 ;le3 ;I¡=4 ;TÉ5 ;IÉ5 ;W7 ;IEe ;¡É9 ;Iiu10 1:1 (Ftm¡1-Fosc/4lil.,lHzl) T1CON,4 ,'PRE-ESCAIADOR DE REI.O,J T1CON,s HrECr ;CARGAR TEMPORf ZADOR PARA 5ms=5000us I!ÍR1H ;tIA)< 1!lR0=65535/Et¡81=0 .0 ' -> II'íRIH, H' 78 ' ;BA¡IAR BAI¡DERA DE Tl,lR1 -> PIR1, iH I EC O T1CON,o PIR1,O LOP ESP T1CON,o PIR1, 65536s=65536uS ;65536-5000=50536, D' 60536' *> H'EC78' H, 78 t III{R1L O IF ;ACTMR ;SI,BIó TEMPORIZADOR BAIiIDERA DE T!!R1? IT\áR1I (lEMPoRIzAcIóN Co,IPI,ETA) ;NO, COI(I.INIIAR ;SI, DETENER ,BA¡,AR BA}{DERA DE IMR1 ,.VOLVER AL SUBPROGRJAI{A ANTERIOR F I a- I \Users\ne1son\Documents\exauen. asn C: LTST F16[.690 INCLT]DE , P16F690. CONTADOR EQU EQU oxo21 oxo22 #DEFf}IE DT§P-ON PORTC, T DIGITC) INICIO ORG 0x0000 G¡OTO INICIO rNc" ORtr 0x0004 BSr. STATUS,RPO CT.RI' lRISC BCF BSF SILTUS,RPo STATUS,RPl CI.RF CI,RF A}{SELH BCr A}¡SEL - CI,RE STLTUS,RPl CONTADOR CI,R}T BCE T1CON, T1CKPSl BCI. T1@N,Tle(Pso NUE1IO CT,RF DIGTTO SIq'TENTE CALL REI}RDO I}¡CE DIGITO,tr IIP\TF DIGITO,W I -, I XORLW ,7 BTFSS STAÍUS, @TO SIq'IENlT @TC¡ NUEVO Z REIARDO l.ro\rLtf .50 I¿ZO }PVIIF t'p\tF CENI¡DOR DTGITO,W T]ABIA PORIC CAI,L tPwlE BSt EAI.L BCE' DISP-ON EMPO DISP-ON c¿tL IEMPO DECFSZ CONTADOR @TO I.AZO RETT'RN ADDIIF RETLI| RETLúI B' 011L0011 RETI.¡I B'01100111' b Br01000001' ¡ RETLW RETLIT RETLII RETLII REI['RN ü *"" MC\tLIf !&rr¡fF IOVLfl BA}¡DERA PCL, F B'O111oOO1' F '. B'01110011' t B' 01000001, r Br 01000111' r" 0>o8 EA,1S 0xr0 TOVWE n{RlL BCP PIR1 , XtrlRlIE' BSI. BTESS T1CON, lttRlON PIR1;11(R1rF GOTO BAI{DERiL BCE BCF RE[{JRH PrR1,I}!R1Ir ORG 0x2007 DLT]]A 0x30D4 EttD E ?ICON,I!,R1ON F ¡ t Ir C : \Ugers\nelgon\Doer¡¡nentg\examen. asn I LIST F15F690 INCLI'DE , P16F690. rNC', EQU EQU 0x021 C§NT¡DOR *DEI'INE DISP_ON PORTC, T ORG 0x0000 @TO INICIO DIGITO INICIO axo22 ORG 0x0004 BSF CLRF BCF STATUS,RPO ÍRTSC STATUS,RPo Bf9F STATUS,RPl ANSEL ANSELH NT'E\}O CI.RF CLRF BCF CI.RF CLR}f BCF BCF CI.RF SIq'IEN?E CAI¿ RETARDO INCF DIGITO,F !,0VF DIGITO,TT LJ'' RETARDO STATUS,RPl CONTADOR T1CON,T1CKPS1 T1CON,T1CKPSo DICITO XORLII .7 Btrss sTAlus,z GOTO GOTO NI'EVO SIGT'IENS I.ÍO\ILW .50 MOVWF CONTADOR l,!O\rf CALL DIGITO,¡f TABI.A !4ovlfr. PORTC BSF DISP_ON cAI,¿ IEMPO BCE' DISP_ON CAI¿ rEMPO DECFSZ CONTADOR @to I.AZO REN'RN ADDIIF PCL,F RETLIT B'01000001' RETLIÍ RETLI{ RETLI{ B' B' B' B' B' B' RETLTT REÍLIT REILTI REfl,RN B¡}iDERA I OOO00100 ' 01000011 01100101 ' ' 01111101' 01000001' 01001111' l'fo\rl.ÍÍ 01(D8 I'to\rIlF 11r{R1H l¡rc,Vl.ll oxF0 !¡0\¡IiF I'¡dR1L BCE' PIRI,ftRlrr BSF BTFSS PIRI.,I5,RLIF @TO BAilDERJA BCF BCF REM'RN T1CON,II{RION ORG 0x2007 DATA 0x30D4 E}TD T1CON,TMRION PIR1 , nrR1IF bwv 5o ul)h/ *Wota Ao6orOao u"4t /no 9 \Jr-¡ nryO v\_/ / ! 5c **l \ )o Mg d Áo¿",n| J sl5e6 + [p--.-I uWYq j et "6# iJ u-