Diseño de una Calculadora •
Diseño de una Calculadora
•
?on"ále", 'edro C.12 3@3AB39 Duue, ndr0s C.12 3@@
5pción para colocar 6coma7. )ostrar el resultado por pantalla %CD. $e tiene ue al mostrar el resultado se debe mostrar el primer número, sino, el seundo número y su respectivo resultado.
RESUMEN El uso de una calcul calculado adora ra puede puede result resultar ar tan esencia esenciall para para el desa desarr rrol ollo lo de nuest nuestra ra vida vida coti cotidi dian ana. a. Tener ener el resu result ltad ado o de operaciones básicas tales como suma, resta, multiplicación y división entre números de un máximo de 4 díitos enteros y dos decimales! puede resultar alo tan útil como a su ve" provec#oso. $e dispone del uso de un microcontrolador el cual permitirá el desarrollo de todas las operaciones y la interpretación del teclado así como el control para mostrar los resultados por pantalla %CD! permitiendo, mediante una debida proramación, su respectivo &uncionamiento.
III. DIAGRAMA DE FLUJO DE LA OPERACIÓN
PALABRAS CLAVE 'ror 'roram amac ació ión, n, %en %enua ua(e (e C, CC$, CC$, Calc Calcul ulad ador ora, a, )icrocontroladores, )icroprocesadores, %CD, *E+'D. *E+'D.
I.
Dise Diseño ño,,
INTRODUCTION
)
-c#as veces, durante el desarrollo de nuestra vida cotidiana cotidiana,, reuerimo reuerimoss el uso de una calculadora calculadora ue ue nos nos &aci acilit lita la obt obtenci ención ón de alu lunas nas operaciones básicas tales como suma, resta, multiplicación y divisi división! ón! tanto tanto en enter enteros os como como con número númeross decima decimales les.. /ásicamente, se tiene el diseño de una calculadora la cual, basándose en el modelo convencional, se implementan sus operaciones básica así como la disposición de un teclado el cual cual permit permitee introd introduci ucirr los los númer números os así como como tambi0 tambi0n, n, el encendido y apaado de la misma. $e tiene ue para ello, se disponen de ciertos parámetros ue permitirán llevar a cabo la reali"ación de dic#o control. $e tiene ue, mediante un '1C, se real reali" i"ar aráá la simu simula laci ción ón de dic# dic#o o proc proces eso, o, perm permit itie iend ndo o mediante un teclado la interacción de ser #umano con 0l. Esto, a su ve", mostrara los valores inresado mediante una pantalla %CD, la cual a su ve" mostrará el resultado de la operación. Cabe destacar ue se tienen dos botones adicionales los cuales se encaran de borrar y de apaar la calculadora. $e tiene ue para la proramación del '1C, se cuenta con la proramación C, especí&icamente CC$, la cual no es más ue una variación de dic#o lenua(e. )ediante simples líneas de códio y llamado de alunas librerías, se obtiene el contro controll de la pantal pantalla la %CD, %CD, así como el del teclado teclado 4x4 reuerido para la simulación. 11. REQUERIMIENTOS A. Requerimientos para el Proceso Proceso 'ara el diseño de la calculadora, se tienen los siuientes reuerimientos2 1ntroducc 1ntroducción ión de los díitos mediante un teclado teclado 4x4. )áximo de 4 díitos enteros y 3 decimales, por lo ue el número mayor a introducir será .. •
•
8i. 9. :epresentación del del Diarama de 8lu(o 8lu(o del 'roceso En el diara diarama ma de &lu(o, &lu(o, se puede puede apreci apreciar ar el proces proceso o det detalla allado do a cum cumpli plir para ara el cump umplim limient iento o de los los reuerimi reuerimiento entoss estableci establecidos dos para la práctica. práctica. $e tiene tiene ue inicialmente, se #ace declaración de los siuientes parámetros2 ;atc# Do2 se tiene ue el perro uardián estará desact desactiva ivado. do. Consis Consiste te en, al entrar entrar en un ciclo ciclo repetitivo, este resetee el prorama por lo ue, para evitar ello, se declara como apaado. 'uerto 2 se declara como entrada ya ue, en 0l esta estará rán n ubic ubicad ados os los los boto botone ness dest destin inad ados os para para 5<=588 y C%E:. 'uerto /2 se declara como entrada ya ue en 0l, irán conectados los pines correspondientes al teclado. Dic#o Dic#o teclado teclado permitir permitiráá al usuario usuario introduci introducirr los números y la operación ue desea reali"ar. 'uerto C como salida ya ue este se encarará de cumplir el protocolo de salida para la escritura y lectura de la pantalla %CD, así como su #abilitación. '-%% -'2 resistencias internas del '1C, conectadas a >CC. $e encuentran exclusivamente en el puerto /. C%*2 declaración del relo(. Declaración de las di&erentes variables. 'ara e&ectos prácticos, se reali"a la asinación de di&ere di&erente ntess variab variables les las cuales cuales conten contendrá drán n una &unción &unción especí&ica especí&ica y permitir permitirán án el desarroll desarrollo o del proceso de &orma más idónea. •
•
•
•
•
• • •
%ueo %ueo de #aber #aber reali" reali"ado ado la con&i con&iura uració ción n del '1C, '1C, se procede a reali"ar el estado inicial de la calculadora la cual consiste en la iniciali"ación por pantalla dando la bienvenida.
Diseño de una Calculadora $e tiene2 • •
•
•
$e iniciali"a la pantalla y el teclado. 1nicialmente se de&ine una etiueta inicio, donde se declaran todas las variables empleadas en el sistema como A. Esto se #ace para evitar ue #ayan datos carados anteriormente y a&ecte el resultado. $e manda un mensa(e escrito por medio de la pantalla, indicando la bienvenida al sistema y la introducción de los números. $e #ace una toma del botón presionado y se uarda en la variable *.
$e tiene una condición la cual se cumplirá siempre y cuando el valor de >al9A y se #aya presionado aluna tecla, a su ve", tambi0n se cumple si <9 es menor a 4 ya ue esta nos permitirá inresar exclusivamente los 4 díitos reueridos. $e imprimen dic#os valores por pantalla. $e tiene ue a medida ue se presione un número, <9 incrementa su valor y al ser superior a 4, de(a de cumplir la condición. 'osterior a ello, se presiona el sino. $e tienen 4 condiciones las cuales varían dependiendo el sino, sin embaro, estas poseen la misma estructura. %a variación ue estas poseen es ue, dentro de su condición tendrán una variable cuyo nombre posee relación con la operación esto con la &inalidad de posteriormente, dependiendo de la operación, se cumpla de manera satis&actoria y muestre en pantalla el resultado deseado. El espacio en blanco, es utili"ado para la puesta de la coma ue indica ue al ser presionado, el valor de la variable coma 9, permitiendo entrar en una condición. $e tiene ue el número debe contar única y exclusivamente con dos decimales por lo ue para ello, se tiene alo muy parecido con respecto a lo utili"ado para los enteros. $e tiene una variable <3 la cual incrementará con&orme se pulsen los números correspondientes a los decimales. $iempre y cuando esta sea menor a 3. $i sobre pasa, se tiene ue sale de la condición. 'ara la obtención del decimal, se tiene ue emplear la librería matemática la cual permite el uso de potencias. $implemente el número presionado se divide entre 9A y 9AA, siendo el resultado de esto, sumado con el número entero para obtener el decimal. $e imprime en pantalla, pudiendo notar ue se tiene un número tal y como los reuerimientos. $e tiene ue la condición del decimal, se cumple cuando existe un valor entero y cuando ese valor entero es cero, para ello, se emplean otras condiciones las cuales permiten tener número decimal siendo el número entero cero. %isto el número deseado, se tiene ue al presionar el botón iual, dependiendo de la operación seleccionada anteriormente, se reali"a la operación deseada. En lenua(e C, no es más ue simplemente reali"ar una operación y dic#o resultado uardarlo en una variable para lueo ser impreso por pantalla. $e tiene ue a su ve", se imprimen los valores y el sino de la operación y muestra el resultado tal y como es debido. 'or otra parte, se cuenta con un botón de encendido y apaado. $i dic#o botón es presionado, se tiene ue enviará un
cero el cual, mientras eso sea verdad, se mantendrá la pantalla apaada, impidiendo reali"ar alún tipo de operación o mostrar alo en ella. $i, el pin de C%E: llea ser presionado, se sale de dic#a condición y enciende la calculadora. su ve", este botón es usado para enviar al inicio e iniciali"ar nuevamente las variables empleadas.
IV. FUNCIONAMIENTO A. Inicialización del Proceso
8i. 3. 1niciali"ación del 'roceso. $e observa ue al iniciali"ar el prorama, se da la bienvenida a la calculadora, mostrado en la %CD.
8i. F. 1niciali"ación del 'roceso G3H. $e mantiene la &ase inicial del prorama. $in embaro, se muestra un mensa(e ue deben ser inresados los valores. El mensa(e se mantiene en pantalla #asta ue sea introducido alún valor.
B. Se introduce el Valor 1
Diseño de una Calculadora
8i. 4. 'rimer Díito Entero l presionarse aluno de los botones correspondientes a un número, la pantalla se borra y muestra de manera inmediata el número ue &ue presionado.
8i. B. %impia pantalla al presionar cualuiera de las operaciones aritm0ticas a reali"ar. D.
8i. @. $eundo Díito Entero l ir presionando los números ue el usuario desea emplear para e&ectuar la operación, se muestran en pantalla, conservando el número presionado anteriormente.
Se Introduce el valor
l iual ue el valor 9, el valor 3 cuenta con la misma condición y es ue solo cuenta con 4 números enteros. l presionar un botón lueo de #aber presionado la operación a reali"arse, se tiene ue aparecerán en pantalla los valores correspondientes al seundo valor.
8i. . 'uesta en pantalla del dato 3 el cual, se le incluyen directamente los 4 díitos correspondientes al límite aceptado. !. Decimal 8i. . Tercer y Cuarto Díito Entero $e tiene ue al introducir el cuarto díito entero, si se presiona alún otro número, no se mostrará en pantalla. Esto se debe a ue uno de los reuerimientos propuestos para la elaboración de la calculadora es ue, el número límite para los enteros &uera .
C. Selección de Operación %ueo de #aber introducido el valor del número 9 deseado, se procede a pulsar la operación deseada. $e tiene ue al presionar cualuiera de las operaciones, se borra la pantalla esto para ue a continuación, se marue el número correspondiente al valor 3.
-no de los reuerimientos para el debido &uncionamiento de la calculadora, era el uso de dos decimales para ello, al presionar el botón del *E+'D ue dice 65<=C7, se procede a introducir los valores correspondientes a la coma. $e tiene ue al ser presionado dic#o botón, una variable llamada iual a la operación a cumplir, cambia su estado a uno, permitiendo ue entre en la condición y se muestren los decimales ue el usuario desee colocar.
Diseño de una Calculadora
8i. 93. :esultado
de la :esta.
8i. . 'uesta del primer Decimal. $e tiene ue al ser presionado un número, este primeramente será dividido por 9A, lo cual indica el primer díito reuerido para el primer valor del número decimal. l presionarse otro, se tiene ue este es dividido por 9AA ya ue, esto representa el seundo número reuerido para los decimales.
8i. 93. 'roducto de dos números. $e puede observar ue no existe ninún problema si se es presionado el botón para insertar decimal sin antes #aber colocado alún entero.
8i. 9A. 'uesta del seundo Decimal. 1nresado el número deseado por el usuario, se procede a presionar la iualdad.
8i. 9F. División entre dos números.
V. PROGRAMACIÓN DEL PIC A. Pro#ramación en CCS
8i. 99. :esultado de la 5peración $uma. $e tiene ue presionar el botón correspondiente al , se tiene el resultado de la operación seleccionada. 'ara este caso, suma. Cabe destacar ue se muestra el dato9 y el dato3, así como el sino correspondiente a la operación ue se seleccionó, su respectivo resultado.
".
Otras Operaciones
'ara la proramación de cada una de las &unciones del '1C se reuirió del lenua(e C el cual, no es más ue un lenua(e en alto nivel. El códio a emplear, se e&ectúa partiendo del diarama de bloues del proceso, teniendo como resultado lo siuiente $include %1&'(().*+ $use dela,-cloc/02 $include %Pedroo.c+ $include %stdli3.*+ $include %mat*.*+ $de'ine 4CD5!6AB4!5PI6 PI65C $de'ine 4CD5R75PI6 PI65C1 $de'ine 4CD5RS5PI6 PI65C) $de'ine 4CD5DA8A0 PI65C0 $de'ine 4CD5DA8A( PI65C( $de'ine 4CD5DA8A9 PI65C9 $de'ine 4CD5DA8A: PI65C: $include %lcd.c+
9.
Descripción de las líneas de Códio
Diseño de una Calculadora
Iinclude J983@@A.#K2 inclusión de la librería
•
correspondiente al '1C a utili"ar. •
•
•
•
•
•
•
•
•
•
•
•
Iuse delay GclocL4)H2 declaración del relo( oscilador. Iinclude J'edroo.cK librería modi&icada para la inclusión del teclado matricial 4x4. Iinclude Jstdlib.#K librería empleada para introducir caracteres. Iinclude Jmat#.#K inclusión de la librería matemática. Ide&ine %CDME</%EM'1< '1
Ide&ine setMtrisMLbdGxH setMtrisMdGxH Iendi& ==*eypad connection2 G&or example column A is /AH Ide&ine C5%A G9 JJ AH == '1
#define COL3 ( !! 3" PIN$B3 Ide&ine :5;A G9 JJ 4H == Ide&ine :5;9 G9 JJ @H == Ide&ine :5;3 G9 JJ H == Ide&ine :5;F G9 JJ BH ==
'1
Ide&ine %%M:5;$ G:5;AP:5;9P:5;3P:5;FH Ide&ine %%M'1<$ G%%M:5;$PC5%APC5%9PC5%3PC5%FH == *eypad layout2
%&' %)n*+ ,E-S/0/0 1 2245657585 2/595:5;85 25<535=85 2.5>515?88@ Ide&ine */DMDE/5-
Ide&ine useMportbMLbd T:-E
Lc#arUA! i&GVVLbdMcallMcountK*/DMDE/5-
== )aLe sure t#e port used #as pullNup resistors Gor t#e %CDH on == t#e column pins
B.
4i3rer;a Pedroo
De &orma predeterminada, mplab tiene una librería para controlar teclados de 4xF, sin embaro, para la elaboración de la calculadora, se reuirió el uso de un teclado 4x4, para ello, se #ace modi&icación de la librería del teclado, teniendo como resultado lo siuiente2
%'*e 3 *e+$+i*$d(ALL$PINSCOL3"@ d1COL3ALL$PINS@ e'@ S
Ii& de&inedGMM'COMMH Ii& de&ined useMportbMLbd Ibyte Lbd Ax89 == T#is puts t#e entire structure Ielse Ibyte Lbd Ax8F == T#is puts t#e entire structure Iendi& Ielse Ii& de&ined useMportbMLbd Ibyte Lbd == on to port / Gat address H Ielse Ibyte Lbd == on to port D Gat address H Iendi& Iendi&
Ii& de&ined useMportbMLbd Ide&ine setMtrisMLbdGxH setMtrisMbGxH Ielse
i&GLbdMdoQnH R i&GGLbd W G%%M:5;$HHG%%M:5;$HH R LbdMdoQn&alse! Lc#arlastMLey! lastMLeyUA! S S else R i&GGLbd W G%%M:5;$HHYG%%M:5;$HH R i&GGLbd W :5;AHAH roQA! else i&GGLbd W :5;9HAH roQ9! else i&GGLbd W :5;3HAH roQ3!
e*e if((d RO3"11>" )H13@ '*+$e 1,E-S)H0%)0@
Diseño de una Calculadora
d$d)Hn 1 +e@ 8 e*e 2 ??%)@ if(%)11/" %)1>@
9.
Descripción de las líneas de Códio •
S S LbdMcallMcountA!
•
S setMtrisMLbdG%%M'1<$H! returnGLc#arH! S •
$e tiene ue las modi&icaciones empleadas en la librería, están subrayadas en
•
•
lcdMotoxyG9,9H! indica ue el luar donde se va a escribir la pantalla %CD, es en la posición 9,9 print&GlcdMputc,Z/1E<>E<1D5 %UnUr C%C-%D5:ZH! imprime por la %CD el menta(e entre comillas. $e tiene ue las Un sirven para dar salto de línea y Ur para indicar ue el carro &inali"ó. delayMmsG9AAAH! se encara de dar una pausa de 9seundo. print&GlcdMputc,ZU&ZH! se encara de borrar todo lo ue estaba mostrándose en la pantalla %CD. sinación de un cero a todas las variables del sistema para evitar ue estas contenan alo y se pueda a&ectar a un determinado individuo.
C. Cuerpo del Pro#rama !. Ciclo 7*ile , Comienzo de la Pro#ramación void main-2< c*ar =si#no> 'loat m=*=p=val1=val=resultado= ?> int coma=n1=n=mul=div=sum=res> port535pullups-true2> lcd5init-2> 3d5init-2> 9.
Descripción de las líneas de Códio • • • •
• •
C#ar! declara variables del tipo carácter. 8loat2 declara variables del tipo &lotante. 1nt2 declara variables del tipo entero. 'ortMbMpullupsGtrueH2 declara las resistencias a pullNup del puerto /. %cdMinitGH2 iniciali"a la pantalla %CD. *bdMinitGH2 iniciali"a el teclado. D. !tiqueta Inicio
Inicio@ lcd5#oto?,-1=12> print'-lcd5putc=BI!6V!6IDO A 4Anr CA4C4ADORA2> dela,5ms-1)))2> print'-lcd5putc='2> lcd5#oto?,-1=12> print'-lcd5putc=I6R!S! SSnr VA4OR!S2> */)> p/)> ?/)> coma/)> val1/)> val/)> sum/)> res/)> mul/)> div/)> n1/)> n/)>
E*ile-true2 < /3d5#etc-2> i'--val1//)2 FF -n1%02 FF -coma//)2 FF --//G)G2HH -//G1G2HH-//GG2HH-//GG2HH-//G0G2HH-//G(G2HH-//G9G2HH-//G:G2HH -//G&G2HH-//GJG222 < n1/n1K1> m/L0&> print'-lcd5putc='2> lcd5#oto?,-1=12> */*M1)Km> print'-lcd5putc=N'N=*2>
9.
Descripción de las líneas de Códio •
•
•
•
•
•
;#ile GtrueH2 mientras la condición sea verdadera, se cumplirá. *LbdMetcGH2 se encara de tomar los valores obtenidos del teclado y uardarlos en la variable *. %a siuiente instrucción, correspondiente al i&, simboli"a ue sí el val9A, y <9 sea menor ue 4 y se presione aluno de los botones correspondientes a uno de los números, se entrará en dic#a condición. <9<9V92 esta instrucción permite incrementar <9. 1nicialmente es cero y a medida ue se pulsen los números incrementará, permitiendo ue solo se cumpla la condición de ue se muestren tan solo 4 díitos para los números enteros. )LN42 se encara de restarle a 4 a la variable * para llevarlo a códio $C11. O#[9AVm2 #abiendo pasado todo a códio $C11, se procede a llevarlo a int.
Diseño de una Calculadora ".
Operaciones
else i'-//GKG2< n1/)> n/)> coma/)> val1/*> si#no/> sum/1> print'-lcd5putc='2> else i'-//GQG2< n1/)> n/)> coma/)> val1/*> si#no/> div/1> print'-lcd5putc='2> else i'-//G?G2< n1/)> n/)> coma/)> val1/*> si#no/> mul/1> print'-lcd5putc='2> else i'-//GLG2< n1/)> n/)> coma/)> val1/*> si#no/> res/1> print'-lcd5putc='2>
else i'--coma//12 FF -n%2 FF -val1//)2 FF --//G)G2HH-//G1G2HH-//GG2HH-//GG2HH-//G0G2HH-//G(G2HH-//G9G2HH -//G:G2HH-//G&G2HH-//GJG222<
n/nK1> m/L0&> lcd5#oto?,-1=12> */*K-mQ-poE-1)=n222> print'-lcd5putc='=*2>
else i'--val1/)2 FF -n1%02 FF -coma//)2 FF --//G)G2HH-//G1G2HH-//GG2HH-//GG2HH-//G0G2HH-//G(G2HH-//G9G2HH -//G:G2HH-//G&G2HH-//GJG222<
n1/n1K1> m/L0&> print'-lcd5putc='2> lcd5#oto?,-1=12> p/pM1)Km> print'-lcd5putc='=p2>
else i'--coma//12 FF -n%2 FF -val1/)2 FF --//G)G2HH-//G1G2HH-//GG2HH-//GG2HH-//G0G2HH-//G(G2HH-//G9G2HH -//G:G2HH-//G&G2HH-//GJG222<
9.
n/nK1> m/L0&> lcd5#oto?,-1=12> p/pK-mQpoE-1)=n22> print'-lcd5putc='=p2>
Descripción de las líneas de Códio •
•
9.
Descripción de las líneas de Códio
Dependiendo de la operación ue se decida e&ectuar, lueo de #aber introducido el número ue se desea, se tiene ue se reinician los valores para <9, <3 y coma. su ve", el valor introducido, se le asina a la variable >al9 y se crea una variable sino la cual tomará el valor de *, esto para poder uardar el sino ue se presionó en ese momento. $e tiene ue cada operación, tiene una variable interna ue tiene relación con el nombre de su operación, siendo esta iual a 9, esto se debe ya ue mediante esto, se puede separar cada operación y pueda ser e&ectuada sin inter&erir entre sí. .
Decimales
else i'-//G G2< print'-lcd5putc='2> coma / 1>
•
$e tiene ue al ser presionado el espacio en blanco, se borra todo lo ue estaba en pantalla y se establece ue el valor de coma9. 'rimeramente, se tiene la condición la cual establece ue $í coma9, <3 es menor de 3, >al9A, y se presiona aluna de las teclas correspondientes a uno de los números, se entra en la condición la cual imprimirá en pantalla en valor en decimal correspondiente al número ue el usuario desee. Como se uiere ue se muestren solo dos decimales, se tiene ue el valor de <3 será menor a 3 para evitar tener más de la cuenta. ##VGm=GpoQG9A,n3HHH2 se tiene ue la variable #, corresponde al valor # el cual no es más ue el número entero introducido con anterioridad. #ora, el usuario se encarará de introducir los decimales los cuales, ese número pulsado será euivalente a la división de 0l mismo entre 9A Ge&ectos del primer decimalH y 0l mismo entre 9AA Ge&ectos del seundo decimalH. $e utili"a la &unción de potencia ya ue necesitamos elevar nuestra base Gen este caso 9AH al valor de <3, y dependiendo de cuantas veces sea pulsado <3, ue en este caso no será mayor a dos veces, se tiene ue #ará la
Diseño de una Calculadora
•
división trayendo consio el primer y seundo decimal. %as otras dos condiciones, se establecen cuando el valor de >al9 es distinto de cero. $e tiene ue si el usuario al introducir el valor de >al9, en su parte entera, este se debe conservar y colocar a su ve", el número decimal correspondiente al pulsado. 'ara ello, se emplea esta parte del códio y así, tener el resultado tanto en entero y decimal esperado.
I.
i' -input-pin5A)22< E*ile -input-pin5A122< print'-lcd5putc='2> */)> p/)> coma/)> val1/)> val/)> sum/)> res/)> mul/)> div/)> n1/)> n/)>
. Resultado de la Operación else i'--//G/G2 FF -div//122< val/pK)> resultado/ val1 Q val> lcd5#oto?,-1=12> print'-lcd5putc=' c '=val1=si#no=val2> lcd5#oto?,-1=2> print'-lcd5putc='=resultado2> else i'--//G/G2 FF -mul//122< val/pK)> resultado/ val1 M val> lcd5#oto?,-1=12> print'-lcd5putc=' c '=val1=si#no=val2> lcd5#oto?,-1=2> print'-lcd5putc='=resultado2> else i'--//G/G2 FF -sum//122< val/pK)> resultado/ val1 K val> lcd5#oto?,-1=12> print'-lcd5putc=' c '=val1=si#no=val2> lcd5#oto?,-1=2> print'-lcd5putc='=resultado2> else i'--//G/G2 FF -res//122< val/pK)> resultado/ val1 L val> lcd5#oto?,-1=12> print'-lcd5putc=' c '=val1=si#no=val2> lcd5#oto?,-1=2> print'-lcd5putc='=resultado2>
9.
Botón para !ncender , Apa#ar la Calculadora
i' -input-pin5A122< #oto Inicio>
9.
Descripción de las líneas de Códio
$e tiene ue al ser presionado el botón correspondiente al 'inA, se entra en un ciclo ;#ile el cual se cumplirá siempre y cuando lo ue se está leyendo en el 'in9 sea un 9. $e tiene ue se borrará lo ue muestra en pantalla y todas las variables utili"adas, serán iual a cero. )ientras esto sea verdad, la pantalla no mostrará nada, sin importar ue se pulse alún botón del teclado. El siuiente i&,, indica ue a la entrada correspondiente del pin9, ser cero, se devuelve al inicio. Esto se empleó si el usuario no desea introducir ese número y desea reiniciar todo.
VI. SIMULACIÓN
8i. 94. Esuemático de las conexiones del diseño de la calculadora.
Descripción de las líneas de Códio
nteriormente, se #abía declarado una variable, la cual tenía relación con la operación a cumplir, #aciendo su valor iual a 9. $e tiene ue al presionarse la tecla y cumplirse ue dic#a variable mantena un valor iual a 9, se cumple la condición por lo ue, se e&ectuará la operación deseada. $e tiene ue se crea una variable la cual contendrá el resultado de la operación a e&ectuar. $e imprimirá en pantalla primeramente los valores introducidos, separados por el sino. 'osterior, en la seunda &ila se imprime el resultado.
VII.MPLAB IDE 'ara la proramación del '1C, se reuirió del )'%/ 1DE el cual, no más ue un so&tQare empleado para la proramación. $u entorno es bastante básico y sencillo por lo ue la e(ecución de proyectos en 0l, es bastante &ácil. 'ara ello, se deben llevar a cabo, los siuientes pasos2 9.
brir el )'%/
Diseño de una Calculadora
8i. 9@. Entorno principal de )'%/. 3. %ueo de abrir )'%/, notamos ue el entorno mostrado es bastante simple. 'or lo ue, para la creación de un nuevo proyecto, nos diriimos #acia la pestaña ':5\ECT y damos clic sobre la opción ':5\ECT ;1]:D^
8i. 9. $elección del ':5\ECT ;1]:D. F.
%ueo de #aber dado clic sobre 0ste, se tiene ue aparecerá el siuiente entorno2
4.
$elección del dispositivo a utili"ar
8i. 9. $elección del '1C. %ueo de #aber presionado el botón
ue #ay un menú despleable ue contiene cada uno de los dispositivos, a#í nos despla"amos #asta encontrar el reuerido por nosotros. $eleccionamos el '1C y le damos continuar. @.
$elección del %enua(e a utili"ar
8i. 9. $elección del %enua(e CC$. $e puede observar ue el compilador para compilar proramas en C está previamente seleccionado por lo ue, de ser así, cliueamos en el botón
Creación de un nombre de proyecto
8i. 3A. Creación de un nombre para nuestro proyecto. B.
8i. 9B. Entorno lueo de cliuear sobre ':5\ECT ;1]:D. En este entorno, nos da la bienvenida, indicando ue esto nos ayuda a crear o con&iurar un nuevo proyecto en )'%/. 'osterior a ello, nos indica ue pulsemos el botón de
rear arc#ivos existentes a nuestro prorama
Diseño de una Calculadora 8i. 39. $elección de arc#ivos existentes para la creación de nuestro proyecto. .
8inali"ación de la Creación
9A. Escritura y Compilación del códio -na ve" se #ayan con&iurado cada uno de los bits del prorama y se #ayan reali"ado cada una de las con&iuraciones antes mencionadas, se procede a escribir el códio. -na ve" escrito nuestro códio, procedemos a compilarlo, esto, cliueando sobre el botón /-1%D. -na ve", se #aya completado esto, se mostrará un cuadro de diáloo ue nos indicará /%-1D $-CCE$$. Esto indica ue la compilación de nuestro prorama, &ue un 0xito.
8i. 33. $umario. En este paso, se muestra el nombre de nuestro proyecto, la ruta donde será uardado y la #erramienta de compilación. .
'ara la con&iuración de los /1T$ de con&iuración del '1C, seleccionamos en la pestaña ue dice C5<81?-:E y posterior a ello, cliueamos donde dice C5<81?-:E /1T$. %ueo, nos aparecerá una ventana como la siuiente2
8i. 34. Códio Empleado.
VIII.
8i. 3F. Con&iuración de los /1T$ de Con&iuración. uí se muestran todos los bits de con&iuración de nuestro '1C donde, principalmente nos encararemos de desactivar el ;TCO D5? y establecer el cristal de nuestro oscilador. 'ara ello, cliueamos sobre la opción ue dice C5<81?-:T15< /1T$ $ET 1< C5DE. Esto nos permite modi&icar estos bits. /uscamos los ue reuerimos, los a(ustamos y nuevamente, volvemos a seleccionar con clic el recuadro mencionado anteriormente.
CONCLUSIÓN
$e tiene ue para el diseño de la calculadora, uno de las #erramientas en la actualidad, más indispensables para la &ormación de una carrera tal y como lo puede ser ineniería. $e tiene ue para su respectivo diseño, se cuentan con ciertos detalles tales como2 al presionarse el botón para la coma, se apaa la pantalla y al ser presionado el número, aparece nuevamente con lo antes introducido. l iual ue al comen"ar a introducir los números, aparece de una ve" una coma con dos ceros como decimal. 'eueños errores a lo laro de la proramación ue podrían ser me(orados. $e tiene, ue durante el desarrollo, se oriinaron ciertos problemas con respecto al decimal, sin embaro, al #acerse inclusión de la librería matemática, se utili"ó la potencia para poder obtener el resultado deseado ya ue, de lo contrario, se tenía una sucesión de números, múltiplos de .