Sunteți pe pagina 1din 8
ina Status fer retardo decre control dato aatoz tablaz requ equ equ equ eau eau equ equ equ equ equ equ equ org goto org noviw nowt dectsz goto. Pettw bef goto bse bse novet alt bet calt retlw oddwt retlw Fetlw retlw Fetlw retlw Fetlw retlw Fetlw reelw retlw retlw retlw retlw retlw reelw retlw retlw retlw retlw retlw retlw ret retlw Fetiw retlw retlw retlw retlw retlw ret Fetlw Fetlw retiw rettw retlw retlw retlw retlw retiw rettw Este prograna hace que un mensaje circule en la pantalla ide un nodule led eh 13h {nteto sn orf r13 F13,r decte o ptoasrs Gated ptoa,rs btoaye tod Fetardo i pet6res, osc xt, mdt~ off ipara diréceionamients indirecto, Feontador de tiempo real’ Heontador de programa [registro de estados y bits de control jselecect6n de boncos de menoria y registros jpuertos. Jpara almacenar en el mismo registro svector de reset jesta rutina genera las sehales de control. Jy entrega el dato correspondiente ol modulo Huettize interface a8 bits jmensaje a ser rotado Nota: Las comillas que} posee cada letra le indi can al ensamblador que el dato requerido es el valor ASCII del caracter inicio progranacién de puertos Segue el circuito begin “yimteta display a 8 bits y 1 linea iselecetona el modo de desplozamiento ictive display muestra e sinicia el envio de caracteres fat modulo ciclo Shace barrido de La tabla sretardo entre caracteres Fetardo Petardo rod, retat recy sigue con el proximo caracter del mensaje 2h rec,w pregunta si termind el mensaje para volver feotus,2 a: empezar eieto muestra Figura 2.31. Programa para la conexién a 8 bits yeste programa hace que un mensaje se repita indefinidanente jen un modulo 1cd de 2 Lineas con 16 caracteres ind equ Oh spara direccionamiento indirecto tmro equ th Scontador de tiempo real po equ 2h jeontador de programa status equ 3h iregistro de estados y bits de control fer equ 4th iselecccion de boncos de memoria y registros ptoa equ Sh Spuertos equ 6h equ ch equ dh equ eh equ 13h equ 2h ‘bandera de cero equ Oh bandera de carry equ Oh jpara almacenar en w equ th $para almacenar en el mismo registro equ ih ; equ Oh ; org 00. ivector de reset goto inicio 3va a iniciar programa principal org 5h retardo moviw OFfh mowf 13 decre decfsz 13,7 goto decre retlw 0 Limpia clrf roc Limi moviw * * call dato incf — rOc,r movin 50h xormf rc, controt dato datoz tabla inicio begin btfss goto retlw bef goto bsf bsf novin andw? mov andiw torwé call bef. call bsF. movin andwf swapf ‘ondiw tornt call bef calt retlw add rettw retin retln retw retin retin retin retin retlw retw retln retlw etn retin retlw retln retln retlw retin retin retin retln retin retin retln retin retln retln retlw retin retlw retln retln retlw noviw tris rnovin tris movin status,z Limi @ ptob.rs datoz ptobyrs, ptob,e ree efn ptob,r Poem Fah. ptob,F Fetardo ptob,e retardo ptob,e ef ptob,r rOe,w efah ptob,r retardo ptob,e retardo oFfh ptoa ‘ch ptob e2n jesta rutina genera las sehales de control $para escribir en el modulo lcd y ntrega el dato a ser mostrado en 1a pontalla jutiliza le interface a 4 bits imensaje que se nuestra imensaje de 1a segunda linea 3programacién de puertos isegun el circuito é sinicia display a 4 bits call control noviw 28h sdisploy a 4 bits y 2 Lineos call’ control moviw Och jectiva display call” control moviw 6h shace que el mensaje permanezca fijo call control blank coll Limpia sborra display muestra clrf dc Hinicia contador de caracteres ciclo movf cw Shace barrido de la tabla call tabla call dato. noviw Offh retardo entre caracteres movef rd, retal call retardo decfsz r0d,r goto retat incf —rOcyr 3sigue con lo tabla moviw ith subwf —rOcyw yregunta si estd mostrando el mensaje de 1a btfss status,c goto ciclo moviw ith xorwf rOc.w btfss status,z i goto line? Linea? movin dcoh jubica puntero de ta ram del modulo led coll control fen la Segunda linea Line? movin 2th regunta si termind 1a segunda linea segunda Tinea regunta si es 1a primera vez que entro a segunda linea para ir a inictar L puntero de la ram del modulo Ica xornf rdciw $para ir a iniciar de nuevo el mensaje o je Defee stotue.2 jpara continuar en la segunda parte del mensaje goto ciclo 5 moviw @80h Jubica puntero de ram en la primera file call control goto blank jva a reiniciar el mensaje en blank en + piclGFEs steeees edt = off oH f 0 omeeeee Osc xt te Paes OSS 1 Oke Figura 2.33. Programa para la conexién a 4 bits } este prograna tona el valor entregado por el sensor de i temperatura y lo muestra en la pontalla del modulo led 7 Stee piclec7d eee : stones dt = OFF Sheena 7 osc = xt s#eeaee #88 deFiniciones *Hensene indf equ Oh ara direccionamiento indirecto tnro equ th contador de tiempo rea pe equ 2h jcontador de prograna status equ 3h jregistro de estados y bits de control fsr equ 4h iselecccién de bancos de menoria ptoa equ Sh Spuertos, ptob equ 6h ‘adcon® equ Bh jregistros del convertidor a/d adcont. equ 88h ‘adres equ 9h trisa equ 35h sprogramacion de los registros trisb equ roc equ ech 7 rod equ dh 7 ree equ eh i lunidad — equ 10h 7 decena equ ith centena equ 12h rit equ 4h rib equ tbh F rp equ Sh }seleccion de pagina 2 equ 2h bandera de cero © equ oh bandera de carry » equ oh para almacenar en w r equ th }pera alnacenar en el mismo registro pefgo equ a sbits del registro adcont pefgl equ 1 adit equ ah sbits del registro adcond go equ 2h e equ an rs equ eh : assesses programa principal sseeseses org 00 vector de reset goto inicio }va a inictar programa principal org 25h retordo movin —@Ffh mow rib decre decfsz_—rbyr goto decre retiw retor2 movin Of fh now? rl éecr2 call retardo call retardo decfszrld,r goto decre retlw jrutina que convierte binario en bed decimal cirt decena jborrar registros de trabajo clrt centena movlw "100" otra SubwF = unidad,r jrestar 100 al valor inicial befss ——status,¢ jverifica el carry goto sum jst es cero deja de restar 100 Anct centena }st_es 1 increnenta centena goto otra jyolver a restar sum addwf = nidad jsumarle 100 moviw 10" repite subwf ——_unidad jrestar 10 al valor btfss ——status,c jverifica el carry goto sum jst es 0 deja de restor Anct decena }si es 1 increnenta decena goto repite sul addwf = unidad ssumarle 10 al valor : retlw jel valor de la conversion binario idecinal jse devuelve en los registros centena, jdecena y unidad control bef ptob,rs festa rutina genera las sefales de control goto datod ipara escribir en el modulo Icd y dato bsf ptob,rs Jentrega el dato a ser mostrado en 1a jpantalta dote2 —bsf ptob,e jutiliza la interface a 4 bits movwf re novin fh ‘nde? toby nove roe,W ‘ondly dh torwf pobre catt retardo bef ptob,e call retardo bsf ptob,e movin fh ondwf ——ptob,r snopf ew andi Fh, iorwf ——_ptob,r call retardo bef. ptob,e cat retardo a) tabla begin blank muestra ciclo adant retin etl retin retin retin retln retln etn retin retin retin retin retin retin retln retln retln retln retln retln retlw rettn retlw retin retin retin retin rettn retln retin retin retin retln retln bsf. movin movwe bef bet movin bef. movin call movin call movin call novi cal movin cal oviw ov per oe ae ie oe - status,rp0 offh trisa ‘edcont,pcfgi ‘adcont per go ech trisb stotus,rpd 2h control 28h control Gch control 6h control ean control @ rc cw jmensaje que se muestra jmensaje de 1a segunda linea jseleccionar pagina 1 jonfigura ptoa cono entradas jconfigura ra3 cono voltaje de referencia iy roQ=ra2 como entradas analogas Jeonfigura ptob ‘vuelve @ pagina 0 inicia display a 4 bits display a 4 bits y 2 Lineas jactiva display y desactiva cursor sseleccione €1 modo de desplazomiento sonra display y cursor a casa sinicia contedor de caracteres jhace barrido de la tablat retat Uinea2 Vine side dec ez att feat rnovln owt feat decfsz goto net novln ‘Soba? bers goto Rovin Sorwt berss goto sovln eat novia xorw? berss goto movin nowt bet movin mown? ects goto bee movin own? ects goto ‘0p betes goto ber bet ot UL _ wrovin cat att rovln call ov? ‘oddin colt call ert goto end table dato ost roa retordo 0d, Feta Foe, ‘oh roc Status, eiclo {oh recy Tine? coh control 20h Pec Stavus,7 cielo brox010000" adcore adcone, ofn rib Fiber dee ‘adcone go orn rib fbr ez adcond,adif ‘adcone 0 ‘adcond adi adres.n aa I ‘decimal ‘cbn' control ccentenayn Son dato aceh ‘control decena,w 30h dato can control nidad,w 30h. dato retar2 adres mide jretardo entre coracteres sigue con 1a table pregunta si esta mostrando el mensoje dela Segunda Linea regunta si es 1a primera vex que entra ‘Ye segunda linea para ira inicier " puntero de 1a ram del modulo ted ubica puntero de le ram del modulo Led fen To Segunda Lines regunta st termine Le segunda lines ara ir a iniciar de nuevo el mensaje 0 }pora continuar en 1a segunda Tinea ise hace 1a conversién andlogo a digital fonfigure el conver. selecciona condl,, locidad de conver."y To active Jadifed antes de empezar a conversion {empezar 1a conversion pregunta fin de conversion Hehehe terminode sigue esperando riner digito = centenas yubiee puntero de rom donde va el nusero segundo digito = decenas jubico puntero de ram donde va el nurero segundo digito - unidedes termine Figura 4.3, Programa completo del termémetro digital

S-ar putea să vă placă și