Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf ·...

35

Transcript of Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf ·...

Page 1: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres
Page 2: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres
Page 3: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Guía de operación y aplicaciones prácticas de los microcontroladores

Freescale MC68HC908JK1, MC68HC908JK3 y MC68HC908JL3

Julián Rolando Camargo López

Page 4: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres
Page 5: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Agradecimientos

A mis hermosas hijas, Valeria y Valentina.

A mi amada esposa, Liz.

Page 6: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

© Universidad Distrital Francisco José de Caldas© Facultad de Ingeniería© Julián Rolando Camargo López ISBN: 978-958-8782-83-6

Dirección Sección de PublicacionesRuben Carvajalino C.

Coordinación editorialMaría Elvira Mejía

Corrección de estiloNadia Rojas

DiagramaciónLena Teresa Pardo González

ImpresiónTalleres Editorial UDPrimera edición: Bogotá D.C., agosto de 2013

Sección de PublicacionesEditorial UDCarrera 19 # 33-39Teléfono: 3239300 ext. 6203Correo electrónico: [email protected]

Camargo López, Julián Rolando Guía de operación y aplicaciones prácticas de los micro-controladores Freescale MC68HC908JK1, MC68HC908JK3y MC68HC908JL3 / Julián Rolando Camargo López. -- Bogotá : Universidad Distrital FranciscoJosé de Caldas, 2013. 226 p. ; cm. ISBN 978-958-8782-83-6 1. Microcontroladores 2. Circuitos integrados - Aplicaciones3. Ecuaciones lineales 4. Matrices (Matemáticas) I. Tít.004.165 cd 21 ed. A1406142

CEP-Banco de la República-Biblioteca Luis Ángel Arango

Todos los derechos reservados. Esta obra no puede ser reproducida sin el permiso previo escrito de la Sección de Publicaciones de la Universidad Distrital.Hecho en Colombia

Page 7: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Contenido

Presentación 17

Capítulo 1. Microcontroladores Freescale MC68HC908JK1, MC68HC908JK3 y MC68HC908Jl3 19

Características 19Distribución y manejo de pines 22Distribución y manejo de la memoria 28

Capítulo 2. Modos de direccionamiento y set de instrucciones 37

Modos de direccionamiento 37Set de instrucciones 42Instrucciones lógicas 56Instrucciones de transferencia de datos 63Instrucciones de salto o bifurcación 75Instrucciones de bifurcación especial 89Instrucciones para manejo de subrutinas 92Instrucciones para manipulación de bits 96Otras instrucciones 98

Capítulo 3. Registros CONFIG1, CONFIG2 y módulos configurables 119

Registro CONFIG2 119Registro CONFIG2 Dir. 001EH 119Módulo LVI (Low Voltage Inhibit) 120

Page 8: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Registro CONFIG1 121Registro CONFIG1 Dir. 001FH 121Módulo COP (Computer Operating Properly) 122Registro COPCTL 125Registro COPCTL Dir. 0FFFFH 125El módulo COP en los modos de bajo consumo 125

Capítulo 4. Software de desarrollo WinIDE 127

Programa ensamblador 127Programa fuente 128Programa objeto 129El software WinIDE 130Inicio de una aplicación con el WinIDE 131Simulación con el software WinIDE 135Programación el microcontrolador con el WinIDE 139Otros módulos del WinIDE 142

Capítulo 5. Puertos de entrada y salida E/S 145

Configuración y operación de los puertos de E/S 145Manejo de un display de siete segmentos con un microcontrolador JK1 150Implementación de un contador BCD de 2 dígitos con el microcontrolador 153

Capítulo 6. Interrupción externa IRQ 161

Registros de estado de las interrupciones en el microcontrolador 163Funcionamiento y configuración del módulo IRQ 165Implementación de un contador de objetos en una banda transportadora 167

Capítulo 7. Módulo TIM 175

Operación del módulo TIM en modo temporizador 176Implementación de un tacómetro digital con el microcontrolador 179Operación del módulo TIM en modo de captura de entrada (input capture) 188

Page 9: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Operación del módulo TIM en modo de salida comparada (output compare) 189Registros del TIM en los modos input capture y output compare 195

Capítulo 8. Conversor analógico a digital (ADC) 201

Operación del módulo ADC interno 202Registro ADICLK Dir. 003EH (ADC input clock register) 206Voltímetro digital con el microcontrolador 206

Capítulo 9. Memoria Flash como memoria de datos 217

Registros de operación de la memoria Flash 218Borrado y programación de la memoria Flash 219

Page 10: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres
Page 11: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Índice de tablas y figuras

Tabla1.MapadememoriamicrocontroladoresMC68HC908JK1/JK3/JL3 30 Tabla2. Registrosdepropósitoespecíficodelosmicrocontroladores

MC68HC908JK1,MC68HC908JK3yMC68HC908JL3 32 Tabla3. VectoresdeInterrupcióndelostresmicrocontroladores 32 Tabla4. Requerimientosyopcionesparaingresaralmodomonitor 35 Tabla5. VariantesdelainstrucciónADD 43 Tabla6. VariantesdelainstrucciónADC 44 Tabla7. VariantesdelainstrucciónAIS 44 Tabla8. VariantesdelainstrucciónAIX 45 Tabla9. VariantesdelainstrucciónSUB 45 Tabla10. VariantesdelainstrucciónSBC 46 Tabla11. VariantesdelainstrucciónCMP 47 Tabla12. VariantesdelainstrucciónCPHX 48 Tabla13. VariantesdelainstrucciónCPX 49 Tabla14. VariantesdelainstrucciónASL 50 Tabla15. VariantesdelainstrucciónASR 50 Tabla16. VariantesdelainstrucciónDAA 51 Tabla17. VariantesdelainstrucciónDEC 52 Tabla18. VariantesdelainstrucciónDIV 52 Tabla19. VariantesdelainstrucciónINC 53 Tabla20. VariantedelainstrucciónMUL 54 Tabla21. VariantedelainstrucciónNSA 54 Tabla22. VariantesdelainstrucciónNEG 55 Tabla23. VariantesdelainstrucciónTST 56 Tabla24. VariantesdelainstrucciónAND 57 Tabla25. VariantesdelainstrucciónBIT 57 Tabla26. VariantesdelainstrucciónCOM 58 Tabla27. VariantesdelainstrucciónEOR 59

Page 12: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Tabla28. VariantesdelainstrucciónORA 60 Tabla29. VariantesdelainstrucciónLSL 61 Tabla30. VariantesdelainstrucciónLSR 61 Tabla31. VariantesdelainstrucciónROL 62 Tabla32. VariantesdelainstrucciónROR 63 Tabla33. VariantesdelainstrucciónLDA 64 Tabla34. VariantesdelainstrucciónLDHX 65 Tabla35. VariantesdelainstrucciónLDX 66 Tabla36. VariantesdelainstrucciónCLR 66 Tabla37. VariantesdelainstrucciónMOV 67 Tabla38. VariantesdelainstrucciónPSH 68 Tabla39. VariantesdelainstrucciónPUL 68 Tabla40. VariantedelainstrucciónRSP 69 Tabla41. VariantesdelainstrucciónSTA 69 Tabla42. VariantedelainstrucciónSTHX 70 Tabla43. VariantesdelainstrucciónSTX 71 Tabla44. VariantedelainstrucciónTAP 71 Tabla45. VariantedelainstrucciónTAX 72 Tabla46. VariantedelainstrucciónTPA 73 Tabla47. VariantedelainstrucciónTSX 73 Tabla48. VariantedelainstrucciónTXA 74 Tabla49. VariantedelainstrucciónTXS 75 Tabla50. VariantesdelainstrucciónJMP 76 Tabla51. VariantedelainstrucciónBRA 76 Tabla52. VariantedelainstrucciónBRN 77 Tabla53. VariantesdelainstrucciónBCC 78 Tabla54. VariantedelainstrucciónBCS 78 Tabla55. VariantedelainstrucciónBEQ 79 Tabla56. VariantedelainstrucciónBGE 80 Tabla57. VariantedelainstrucciónBGT 80 Tabla58. VariantedelainstrucciónBHCC 80 Tabla59. VariantedelainstrucciónBHCS 81 Tabla60. VariantedelainstrucciónBHI 81 Tabla61. VariantedelainstrucciónBHS 82 Tabla62. VariantedelainstrucciónBIH 83 Tabla63. VariantedelainstrucciónBIL 83 Tabla64. VariantedelainstrucciónBLE 84

Page 13: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Tabla65. VariantedelainstrucciónBLO 84 Tabla66. VariantedelainstrucciónBLS 84 Tabla67. VariantedelainstrucciónBLT 85 Tabla68. VariantedelainstrucciónBMC 85 Tabla69. VariantedelainstrucciónBMI 86 Tabla70. VariantedelainstrucciónBMS 86 Tabla71. VariantedelainstrucciónBNE 87 Tabla72. VariantedelainstrucciónBPL 87 Tabla73. VariantedelainstrucciónBRCLR 88 Tabla74. VariantedelainstrucciónBRSET 89 Tabla75. VariantesdelainstrucciónCBEQ 89 Tabla76. VariantedelainstrucciónCBEQX 91 Tabla77. VariantesdelainstrucciónDBNZ 91 Tabla78. VariantedelainstrucciónDBNZX 92 Tabla79. VariantedelainstrucciónBSR 92 Tabla80. VariantesdelainstrucciónJSR 94 Tabla81. VariantesdelainstrucciónRTS 95 Tabla82. VariantesdelainstrucciónRTI 96 Tabla83. VariantedelainstrucciónBCLR 96 Tabla84. VariantedelainstrucciónBSET 97 Tabla85. VariantedelainstrucciónCLC 97 Tabla86. VariantedelainstrucciónSEC 98 Tabla87. VariantedelainstrucciónCLI 98 Tabla88. VariantedelainstrucciónSEI 98 Tabla89. VariantedelainstrucciónNOP 99 Tabla90. VariantedelainstrucciónSTOP 99 Tabla91. VariantedelainstrucciónSWI 100 Tabla92. VariantedelainstrucciónWAIT 100 Tabla93. Resumengeneraldelasinstruccionesdelos

microcontroladoresHC08deFreescale 116 Tabla94. VectoresdeInterrupcióndelosmicrocontroladores

MC68HC908JK1/JK3/JL3 162 Tabla95. Bitsdeseleccióndelpreescalizadordeltemporizador 178 Tabla96. Bitsdeseleccióndelmododeoperacióndelcanal

delmóduloTIM 196 Tabla97. BitsdeseleccióndelcanalADC 205 Tabla98. BitsdeseleccióndelpreescalizadorADC 206

Page 14: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Figura1.Diagramadebloquesdelosmicrocontroladores MC68HC908JK1,MC68HC908JK3yMC68HC908JL3. 21

Figura2.Distribucióndepinesdela)MC68HC908JL3y b)MC68HC908JK1/JK3paralosencapsuladosPDIPySOIC 22

Figura3. Conexionesexternasdelosciladorconcristal 23 Figura4.DiagramadebloquesdelaCPU08 27 Figura5.DetalledelatemporizacióninternadelaCPU08 28 Figura6. Circuitoparaingresaralmodomonitor 34 Figura7.DiagramadebloquesdelmóduloLVI 120 Figura8.DiagramadebloquesdelmóduloCOP 124 Figura9. VentanadeedicióndelWinIDE 133 Figura10. Seleccióndelaherramientaparacompilar 134 Figura11. Ventanadeerroralcompilar 134 Figura12. Seleccióndelaherramientaparasimular 135 Figura13. VentanadelsimuladordelWinide 136 Figura14. VentanaemergenteparacambiodeestadoenelregistroCCR 137 Figura15. Seleccióndeherramientaparalaprogramación

delmicrocontrolador 139 Figura16. Ventanadeseleccióndealgoritmo

deprogramacióndelmicrocontrolador 140 Figura17. Ventanadeconfiguraciónparaingreso

alsoftwaredeprogramación 141 Figura18. Barradeherramientasdelsoftware

deprogramacióndelmicrocontrolador 142 Figura19. SeleccióndelaherramientaparaSimulaciónIn-Circuit 143 Figura20. Seleccióndelaherramientaparadepurarin-circuit 143 Figura21. Ventanadetrabajodeldepuradorencircuito. 144 Figura22.DiagramadebloquesdeunalíneadeE/S

enelmicrocontrolador 145 Figura23.Diagramacircuitalparamanejodedisplay

de7segmentosconunmicrocontrolador 150 Figura24.Diagramadeflujoparaelmanejodeundisplay

desietesegmentosconunmicrocontrolador 151 Figura25.DiagramacircuitaldecontadorBCDde2dígitos 155 Figura26.DiagramadeflujoparaelcontadorBCDde2dígitos 156 Figura27.DiagramadebloquesdelmóduloIRQ 165 Figura28.Diagramacircuitaldeuncontadordeobjetos 168Figura29a.Diagramadeflujodelprogramaprincipal

paraelcontadordeobjetos 169

Page 15: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Figura29b.Diagramadeflujodelarutinadeinterrupción paraelcontadordeobjetos 169

Figura30.DiagramadebloquesdelmóduloTIMenmodotemporizador 176 Figura31.Diagramacircuitaldeuntacómetrodigital 180 Figura32. a)Diagramadeflujodelprogramaprincipal

paraeltacómetrodigital 181 Figura32. b)Diagramadeflujodelarutina

deinterrupciónparaeltacómetrodigital 182 Figura33.DiagramadebloquesdelmóduloTIM

enmododecomparaciónodecaptura19 189 Figura34. SeñalPWMcondiferentesciclosútiles 190 Figura35. CaracterísticasdeunaseñalPWM

generadaconelmóduloTIM 191 Figura36.ActualizacióndelanchodelpulsodelaseñalPWM

pordesbordamientodelcontador 192 Figura37.ActualizacióndelanchodelpulsodelaseñalPWM

porsalidacomparada 193 Figura38.Diagramacircuitaldelreguladordevelocidad

paraunmotorDCconPWM 198 Figura39.Diagramadeflujodelprogramaprincipalydelarutina

deinterrupciónparaelreguladordevelocidaddeunmotor DCconPWM 198

Figura40. ConversordigitalaanalógicoporescaleraR-2R 201 Figura42. Conversoranalógicoadigitaltiporampa 202 Figura43.DiagramadebloquesdelmóduloADC 203 Figura44.Diagramacircuitaldeunvoltímetrodigital 207 Figura45.A)Diagramadeflujodelprograma

principalparaelvoltímetrodigital 208 Figura45. B)Diagramadeflujodelasrutinas

deinterrupciónparaelvoltímetrodigital 209 Figura46.UbicacióndelregistroFLPRparalaproteccióndelamemoria 219

Page 16: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres
Page 17: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Existenunagranvariedaddetextosparalaenseñanzadelasdiversasfa-milias demicrocontroladores presentes en elmercado, estos cuentan

conbuenacalidadyextensión,peroningunodeelloshasidorealizadoporautorescolombianos,porloquenoestánadecuadoscompletamenteaesteentorno.Sinembargo,antelosrápidoscambiosenlaelectrónicadigitalyes-pecíficamenteenelcampodelosmicrocontroladores,sedestacalaausenciadeuntextoguíaespecíficodelaúltimafamiliademicrocontroladoresfabri-cadosporFreescale,llamadaHC08.Estosmicrocontroladoresfueroncono-cidoshastael2004comomicrocontroladoresMotorola.Todalainformaciónqueactualmentepuedeencontrarsesobredichafa-

milia,estálimitadaalaquepresentaelfabricanteensusmanualesdeusua-rio (data sheets) y a algunas notasde aplicación. Sobre ellos también esposibleencontrarinformaciónenunaspocaspáginaseninternetconconte-nidosquenosondecaráctertécnico,nitecnológicoyacadémico.Aquísurge lapregunta, ¿porquéesta familiademicrocontroladoresy

nootra (porejemplo,PICdeMicrochip)?Larespuestaessimple: funcio-nalidad.Estafamiliademicrocontroladorespresentatodaslascaracterísti-casqueuningenierodedesarrollobusca:bajocosto,softwarededesarrollocompletamentelibre,sistemadeprogramacióntambiéndemuybajocosto,yaquepuedeserconstruidoporeldesarrollador,grancantidaddeperiféri-cos,diversosencapsuladosytamañosdememoriadedatosyprograma,en-treotros.Másalládeun simple texto, loqueproponeeste libroesgeneraruna

completaguíadeoperaciónydeaplicacionesprácticasyrealesdelafami-liademicrocontroladoresHC08deFreescale.Paraello,sebasaendiver-sasexperienciasdelautor,nosoloensuvidacomodocenteenlacátedray

Presentación

Page 18: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

laboratoriosdeelectrónicadigitalenelcampodelosmicrocontroladoresalolargodemásdeonceañosdelaborformativa,sinotambiéndeexperien-ciasenelcampoindustrialyempresarial.Sepresentatantolaparteteóricayconceptual,comolaprácticadelusodelosmicrocontroladoresparalaso-lucióndediversosproblemasenelmundoreal.Enelcampoacadémico, laexperienciaadquiridaporelautorserefle-

jaen lasencillezdeltexto,queestáalalcancede los lectoresquenoten-ganningúnconocimientoprevioenelmanejodemicrocontroladores. Ellibropresentadesdeelconocimientoteóricobásicodelmicrocontroladorpormediodeexplicacionesclarasyconcisasconejemplosqueharánquecualquierdudasearesueltainmediatamente,hastadesarrollodeaplicacio-nesmáscomplejasquemuestrantodoelpotencialdeunmicrocontrolador.Además,conlosejemplosqueseencuentranenestelibro,ellectorestará

encapacidaddedesarrollarotrotipodeaplicacionessimilaresbasándoseenlainformacióndetalladaquesemuestraencadacaso.Cadaejemplodeapli-cacionesreales fuecuidadosamenteseleccionado,productonosolamentedelquehaceracadémicodelautor,sinodesuparticipaciónenproyectosco-mercialesendiversasáreastalescomoubicaciónyvigilanciadevehículos,sistemasdeseguridad,aplicacionesdeautomatizaciónycontrolindustrial.Esdeanotar,quedebidoaloextensodeltema,noesposiblehablardecada

unodelosmiembrosdelafamiliaHC08deFreescale(másde80),asíqueseseleccionaronlosmicrocontroladoresMC68HC908JK1,MC68HC908JK3yMC68HC908JL3,unosdelosmiembrosdebajocostoyaltodesempeño.

Page 19: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

19

Losmicrocontroladoresquepertenecena la familiaHC08de FreescaleutilizanlaCPU08,quecorrespondeaunamejoradelareconocidafami-

liademicrocontroladoresHC05deestemismofabricante,ademásdisponendeunagranvariedaddeencapsulados(8,16,20,28,40pines),tamañosdememoriadedatos(desde128Byteshasta2KB)ydeprograma(desde1.5KBhasta64KB)yperiféricos(timers,ADCdediferentesresoluciones,SCI,SPI,I2C,USB,etc.).LosmicrocontroladoresMC68HC908JK1,MC68HC908JK3yMC68HC908JL3sonmiembrosdebajocostoyaltodesempeñodeestafamilia.

Características Acontinuaciónsepresentanlascaracterísticastécnicasdelosmicrocontro-ladoresMC68HC908JK1,MC68HC908JK3yMC68HC908JL3:

❖❖ ArquitecturaHC08dealtodesempeño.❖❖ CPUde8bits.❖❖ CompatibilidadtotaldelcódigoobjetoconlafamiliaHC05.❖❖ Voltajedeoperaciónde3Vo5V.❖❖ Modosdebajoconsumo:STOPyWAIT.❖❖ Máximafrecuenciadeoperación(frecuenciadelbusinterno)8MHza5V,4MHza3V.

❖❖ Dos opciones de oscilador: con cristal para las versionesMC68HC908JK1/JK3/JL3yRCparalasmismasversiones.

❖❖ Memoria de programa Flash con opción de protección contra lec-turade4,096bytesparaMC68HC908JK3/JL3yde1,536bytesparaMC68HC908JK1.

Estamemoriade programa Flash, permite programación/reprograma-ciónin–circuitsinvoltajesadicionalesyelusodeestacomoEeprom,paraelalmacenamientonovolátildedatostemporales.

Capítulo 1. Microcontroladores Freescale

MC68HC908JK1, MC68HC908JK3 y MC68HC908Jl3

Page 20: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Juliá

n Ro

lando

Cam

argo

Lóp

ez20

❖❖ MemoriadedatosRAMde128bytes.❖❖ Módulo de temporización (TIM) de 2 canales 16 bits, maneja tresmodosdeoperación: temporizador, input captureyoutput compare (PWM).

❖❖ Conversorde señal analógicaadigital (ADC):de 12canales, 8 bitsparaMC68HC908JL3yde10canales,8bitsparaMC68HC908JK1yMC68HC908JK3.

❖❖ VeintidóslíneasdeE/SdepropósitogeneralparaMC68HC908JL3conseisinterrupcionesdetecladoconresistenciasdepull-upinternas,diezdriversparaLED (modosink),dos líneasdesalidade25mAopen-drainconresistenciasdepull-upinternasprogramables.

❖❖ Catorce líneas de E/S de propósito general paraMC68HC908JK1 yMC68HC908JK3concuatrodriversparaLED(modosink)y2líneasdesalidade25mAopen-drainconresistenciasdepull-upinternaspro-gramables.

❖❖ Encapsuladode28pinesPDIP,28pinesSOICy48pinesLQFPparaMC68HC908JL3.

❖❖ Encapsuladode20pinesPDIPy20pinesSOICparaMC68HC908JK1yMC68HC908JK3.

LasoperacionesdeproteccióndelsistemaestándadasporelmóduloCOP(ComputerOperatingProperly)parageneracióndereset,deteccióndebajovoltajeconresetypuntodeoperaciónseleccionablepara3Vy5V,deteccióndecódigosdeoperaciónilegalescongeneracióndereset,deteccióndedirec-cionesnoválidascongeneracióndereset,pinderesetmaestroypower-onresetconresistenciadepull-upinterna,interrupciónexternaIRQ1conen-tradaschmitt-triggeryresistenciadepull-upinternaprogramable.LascaracterísticasdelaCPU08,queeslaqueutilizanestosmicrocontro-

ladoresson:❖❖ ArquitecturaVonNeumanclásicade8bits,queseutilizaampliamenteenelmundodelosmicrocontroladoresymicroprocesadores.

❖❖ CPUdeltipocerrado(single chip).❖❖ ModelodeprogramaciónsimilaraldelafamiliaHC05peroreforzado(elsetdeinstruccionesaumentaen78conrespectoalafamiliaHC05).

❖❖ 16modosdedireccionamiento(ochomásquelafamiliaHC05).❖❖ Lecturaanticipadadelcódigodeoperación (opcode)porsistemadeprebúsquedade instrucciones (instruction prefetch), lo que implicaquenohayciclosdeesperahaciendomásrápida laejecuciónde lasinstrucciones.

❖❖ Registroapuntadordepilade16bitsparamanejodeinstruccionesdemanipulacióndepila.

Page 21: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Guía de operación y aplicaciones prácticas de los m

icrocontroladores Freescale MC68H

C908JK1, MC68H

C908JK3 y MC68H

C908JL321

❖❖ Registroíndice(H:X)de16bits.❖❖ Mapadememoriade64KB.❖❖ Movimientodedatosentreposicionesdememoriasinutilizarelregis-troacumulador(direccionamientodememoriaamemoria).

❖❖ Instruccióndemultiplicaciónrápidade8bits8bits.❖❖ Instruccióndedivisiónrápidade16bits/8bits.❖❖ InstruccionesparamanejodedatosBCD(binarycodedecimal) reforzado.

❖❖ Instruccionesparamanejodeestructurascíclicas.❖❖ SoporteparalenguajedealtonivelcomoelC.

Eneldiagramadebloquesde la figura1, sepresentacadaunode losmódulosybloquesprincipalesdelosmicrocontroladoresMC68HC908JK1,MC68HC908JK3yMC68HC908JL3deFreescale.Enestediagramasedife-rencianclaramentelamemoriaRAM,lamemoriaFlash,losregistrosinter-nos,laALU,elosciladorytodoslosperiféricosinternosyexternos.

1 Diagrama tomado, traducido y modificado página 24 de http://cache.freescale.com/files/microcontrollers/doc/data_ sheet/MC68HC908JL3.pdf?fpsp=1&WT_TYPE=Data Sheets&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_SSET=Documentation

Figura 1. Diagrama de bloques de los microcontroladores MC68HC908JK1, MC68HC908JK3 y MC68HC908JL3.1

CPU HCO8

BUS

INTE

RNO

Módulo de Interrupción por Teclado (KBI)

Registros de la CPU

ALU (Unidad Aritmética y Lógica)

Módulo Conversor Analógico a Digital (ADC)

Registro de Estado y Control – 64 bytesMódulo de Temporización

de dos canales (TIM)

Memoria de Programa (FLASH):MC68HC908JK3/JL3 – 4,096 bytes

MC68HC908JK1 – 1,536 bytes

Módulo BreakMódulo COP

(Computer Operating Properly)

DD

RA

POR

TA

PTA5/KBI5 §Y

PTA4/KBI4 §YMemoria de Datos (RAM) – 128 bytes PTA3/KBI3 §Y

Monitor ROM – 960 bytes PTA2/KBI2 §YVectores de Interrupción en Flash – 48 bytes PTA1/KBI1 §Y

OSC1 Oscilador con Cristal PTA0/KBI0 §Y

OSC2

DD

RB

POR

TB

PTB7/ADC7

* RSTSIM (Módulo de Integración del

Sistema)PTB6/ADC6

§ IRQ1 Módulo de Interrupción Externa PTB5/ADC5Módulo LVI PTB4/ADC4

Módulo Power–ON–Reset PTB3/ADC3Polarización PTB2/ADC2

Referencia deL ADC PTB1/ADC1

* Pin tiene resistencia de pull–up interna§ Pin tiene resistencia de pull–up interna programable Pin open drain 25mA. Si está en modo de salida

Y Pin driver LED (sink)# Pines disponibles únicamente para MC68HC908JL3

PTB0/ADC0

DD

RD

POR

TD

PTB7§ Y

PTB6§ YPTB5/TCH1PTB4/TCH0PTB3/ADC8YPTB2/ADC9YPTB1/ADC10PTB0/ADC11

#

#

Page 22: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Juliá

n Ro

lando

Cam

argo

Lóp

ez22

Distribución y manejo de pinesFísicamente, losmicrocontroladoresMC68HC908JL3yMC68HC908JK1/JK3sondiferentes,yaquemanejanencapsuladosPDIPySOICde28y20pi-nesrespectivamente,perolalógicadefuncionamientodecadaunodeellosesigual,ambosmanejanperiféricossimilarescomopuertosdeE/S,oscila-dor,alimentación,etcétera.

a. b.

2 Diagrama tomado, traducido y modificado página 25 de http://cache.freescale.com/files/microcontrollers/doc/data_sheet/MC68HC908JL3.pdf?fpsp=1&WT_TYPE=Data.Sheets&WT_VENDOR=FREESCALE&WT_FILE_FORMAT= pdf&WT_ASSET=Documentation.

IRQ1 1 28 RST

PTA0/KBI0 2 27 PTA0/KBI5

VSS 3 26 PTD4/TCH0

OSC1 4 25 PTD5/TCH1

OSC2 5 24 PTD2/ADC9

PTA1/KBI1 6 23 PTA4/KBI4

VDD 7 22 PTD3/ADC8

PTA2/KBI2 8 21 PTB0/ADC0

PTA3/KBI3 9 20 PTB1/ADC1

PTB7/ADC7 10 19 PTD1/ADC10

PTB6/ADC6 11 18 PTB2/ADC2

PTB5/ADC5 12 17 PTB3/ADC3

PTD7 13 16 PTD0/ADC11

PTD6 14 15 PTB4/ADC4

IRQ1 1 20 RST

VSS 2 19 PTD4/TCH0

OSC1 3 18 PTD5/TCH1

OSC2 4 17 PTD2/ADC9

VDD 5 16 PTD3/ADC8

PTB7/ADC7 6 15 PTB0/ADC0

PTB6/ADC6 7 14 PTB1/ADC1

PTB5/ADC5 8 13 PTB2/ADC2

PTD7 9 12 PTB3/ADC3

PTD6 10 11 PTB4/ADC4

Figura 2. Distribución de pines del a) MC68HC908JL3 y b) MC68HC908JK1/JK3 para los encapsulados PDIP y SOIC

VDD y VSS2

LospinesVDD(+5Vo+3V)depolarizaciónpositivayVSSdepuestaatierradelmicrocontroladorseutilizanparasuministrarlaalimentaciónalmicro-controlador,porloquesenecesitasolounafuenteparaestatarea.Paraprevenirproblemasdelruido,sesugiereconectaruncondensadorce-

rámicode0.1uFlomáscercaposibledelospinesdepolarizaciónquesirvedebypass.EncasodealtoconsumodecorrienteenlospinesdelospuertosdeE/S,sesugiereelusodeuncondensadorelectrolíticodealrededorde10uF.

RSTElpindeentradaRSTgeneralainicializacióncompletadelaCPUdelmi-crocontroladorcuandoapareceenesteunvalorlógico0.Estepintieneunaresistenciadepull-upinternaqueloaseguraaunnivellógico1.

IRQ1El pin de entrada IRQ1 se utiliza para manejar la función de interrup-ción externa asincrónica; además, selecciona el modo de arranque del

Page 23: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Del móduloSIM

SIMOSCEN

OSC1

RB

X1

C1

Hacia el módulo SIM

2OSCOUT OSCOUTXTALCLK

÷2

MicrocontroladorOSC2

RS

C2

Guía de operación y aplicaciones prácticas de los m

icrocontroladores Freescale MC68H

C908JK1, MC68H

C908JK3 y MC68H

C908JL323

microcontrolador(modomonitoromodoaplicación).Estepintieneunare-sistenciadepull-upinternahabilitableporelusuario,quepermiteasegurarelpinaunnivellógico1.

OSC1 y OSC2Estospinesestánconectadosalosciladordelmicrocontrolador,elpinOSC1correspondealaentradadeloscilador(enestaentradasepuedeingresarlaseñaldeunosciladorexterno),elpinOSC2es lasalidadeloscilador,quegeneralarealimentacióndelmismo.Elosciladorpuedetrabajarconuncristalexternooconunresonadorce-

rámico(véasefigura3),además,permitelaopcióndeunrelojexternoquepuedemanejarsedirectamenteenelpinOSC1,esterelojdebetenerelmis-monivellógicoqueelmicrocontroladoryaseguraruncicloútildel50%.

3 Diagrama tomado, traducido y modificado página 96 de http://cache.freescale.com/files/microcontrollers/doc/data_sheet/MC68HC908JL3.pdf?fpsp=1&WT_TYPE=DataSheets&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation

Figura 3. Conexiones externas del oscilador con cristal3

Losvalorestípicosparaloscomponentesexternosson:❖❖ X1=cristaldehasta32MHz.❖❖ C1yC2=22pF(2veceslacapacitanciadelcristal).❖❖ RB=10MΩ❖◗ RS=0,cuandoseutilizancristalesdealtafrecuencia.

PTA0/KBI0 - PTA5/KBI5Elpuertobidireccional(PORTA)de6bits(PTA0-PTA5)esconfigurablebitabit.Cadapindelpuertotieneunaresistenciadepull-upinternahabilitableporelusuario,cuandoelpintrabajacomoentrada.Además,puedemane-jarsalidadriveparaLED(sink)deaproximadamente16mAporcadapin.

Page 24: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Juliá

n Ro

lando

Cam

argo

Lóp

ez24

Tambiénpuedeserconfiguradoparamanejarelmódulodeteclado(KBI0-KBI5)bitporbit,quetienelacapacidaddegenerarinterrupcionesyaseaporflancoopornivelenelmicrocontrolador.EstepuertoapareceúnicamenteenelMC68HC908JL3.

PTB0/ADC0 - PTB7/ADC7Puertobidireccional(PORTB)de8bits(PTB0–PTB7),configurablebitabit.Tambiénpuedeconfigurarseparamanejarelmóduloconversoranalógi-co-digital(ADC0-ADC7)interno.

PTD0 – PTD7 (ADC9 - ADC11 y TCH0 - TCH1)Puertobidireccional(PORTD)de8bits(PTD0-PTD7)configurablebitabit,losbits6y7delpuertotienenunaresistenciadepull-upinternahabili-tableporelusuario,cuandoelpintrabajacomoentrada.Cuandoestospinestrabajancomosalidatienecaracterísticasopen drainconmanejodecorrien-tedeaproximadamente25mAporcadapin.Estepuerto tambiénpuedeconfigurarseparamanejar loscanalesrestantesdelADC(ADC8-ADC11)yparaelmanejodelosdoscanalesdelmódulodetemporización(TCH0-TCH1).LosbitsPTD0/ADC11yPTD1/ADC10deestepuertoúnicamenteaparecenenelMC68HC908JL3.

Arquitectura de la CPU08LaCPU08es el núcleoprincipalde losmicrocontroladoresde la familiaHC08yesunaversiónmejoradadelaCPU05,almadelafamiliademicro-controladoresHC05.Dentrode laestructura internadeunmiembrode la familiaHC08,el

módulodelaCPUsevinculaconelrestodelosmódulosdelmicrocontrola-dorpormediodeunbusdedatosinternode8bitsyunbusdedireccionesde16bits,quelepermitendireccionarcódigodehasta64KB.Lafrecuenciamáximadelbusinternoesde8MHza5Vdealimentaciónyde4MHza3V.LaCPU08esdeltipocerrado(single chip)porloquenosetieneaccesoalosbusesinternosenningúnmomento.EstaCPUcontieneunopcodeconunmecanismodeprebúsquedaha-

ciaadelante,conelqueseincrementaelrendimientoporlaeliminacióndeciclosmuertos(ciclosdeespera)enelbus.ElflujodeinstruccionesdelaCPU08sedesarrollaparasertaneficientecomoesposibleenunaestructu-radeltipo“pipeline”.

Registros de la CPUTodoslosmiembrosdelafamiliaHC08poseencincoregistrosconfuncio-nesespecíficas,estosnohacenpartedelmapadememoria,sinoqueestán

Page 25: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Guía de operación y aplicaciones prácticas de los m

icrocontroladores Freescale MC68H

C908JK1, MC68H

C908JK3 y MC68H

C908JL325

asociadosa laCPUdelmicrocontrolador. Su funciónes lade interactuarentrelaCPUylamemoriaytodoslosperiféricosdelmicrocontrolador.Seenuncianacontinuaciónlosregistrosysusfunciones.

Acumulador (A)Esunregistrodepropósitogeneralde8bits,queseusaenlamayoríadelasinstruccionesaritméticasylógicasyenmuchasoperacionesdetransferen-ciadedatosconlamemoria.Elcontenidodelregistroesindefinidodespuésdel power-on resetynocambialuegodeunresetenelmicrocontrolador.

Índice (HX)Registrode16bits,queseutilizaparaeldireccionamientoindexado(indirec-to)delamemoriaocomodosregistrosindividualesde8bitsHyXeninstruc-cionesaritméticasdemultiplicaciónydivisión,yparatransferenciadedatosconmemoria,aunqueelusodelregistroHestámuylimitado.Elcontenidodelregistroesindefinidoenlapartebaja(X)yceroenlapartealta(H)despuésdel power-on resetoengeneraldespuésdecualquierfuentedereset.

Apuntador de Pila (SP)Registrode16bitsqueseusaparaapuntarladireccióndememoriadisponi-bleenlapilaLIFOdelmicrocontroladoryenalgunosmodosdedirecciona-mientoindexado.Elcontenidodelregistroes00FFHdespuésdelpower-on resetoengeneral,despuésdecualquierfuentedereset.

Contador de Programa (PC)Registrocontadorde16bitsqueseutilizaparadireccionarlamemoriadeprogramayalmacenarlasiguientedireccióndelamemoriadelcódigoqueseejecutará.Normalmente,elPCseincrementasecuencialmentedeacuerdocon lacantidaddebytesdelcódigodeoperaciónde la instrucciónqueseestáejecutando.Enlasinstruccionesdebifurcaciónosalto,funcionacomounregistroalqueselecargaladireccióndedestinodelabifurcaciónodelsalto.Despuésdelpower-on resetoengeneral,despuésdecualquierfuentede reset,elPCescargadoconelvectorderesetubicadoenlasdireccionesdememoria0FFFEHy0FFFFH,enestevector,seguardaladireccióndeiniciodelprogramaquevaaejecutarse.

Registro de Condiciones de Código (CCR)Registrode8bits,tambiénconocidocomoregistrodebanderas,enelquecadabitalmacenaunabanderaque indicael resultadodeunaoperacióndeterminada.LafamiliaHC08manejacincobanderasqueindicanestados

Page 26: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Juliá

n Ro

lando

Cam

argo

Lóp

ez26

delainstrucciónreciénejecutadayunbitobanderademáscaradeinterrup-ción.Acontinuaciónseilustraesteregistroysepresentansuscomponentes.AquísepresentaelregistroCCRconsusdistintasbanderas.

RESET: X 1 1 X 1 X X XV 1 1 H I N Z Cb7 b6 b5 b4 b3 b2 b1 b0

C: banderadeacarreo(carry)opréstamo(borrow).

Estabanderaindicasisegeneróacarreoopréstamoenelbit7del

resultadodeunaoperaciónaritméticadesumaoresta.Tambiénes

modificadaporoperacionesdedesplazamientoyrotación.

0=Nohayacarreo/préstamodesalidaenelbit7delregistroAcumulador.

1=Acarreo/préstamodesalidaenelbit7delregistroAcumulador.

Z: banderadecero

Estabanderaindicacuándoelresultadodeunaoperaciónaritméti-

ca,lógicaodemanipulacióndedatosesiguala00H.

0=Resultadodiferentedecero.

1=Resultadoigualacero.

N: negativo

Estabanderaindicaelsigno(negativoopositivo)delresultado(7bit)

deunaoperaciónaritméticaodemanipulacióndedatos.

0=Resultado(signo)positivo.

1=Resultado(signo)negativo.

I: máscaradeinterrupción

Bitencargadodelahabilitación/deshabilitaciónglobalde las inte-

rrupcionesenmascarablesdelmicrocontrolador.

0=Interrupcioneshabilitadas.

1=Interrupcionesdeshabilitadas(valorpordefecto).

H: Banderadeacarreointermedio

Estabanderaindicasihayacarreoentreelbit3y4delregistroAcu-

mulador,despuésdeunaoperaciónaritméticadesuma.Seutilizaen

operacionesenformatoBCD.

Page 27: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Guía de operación y aplicaciones prácticas de los m

icrocontroladores Freescale MC68H

C908JK1, MC68H

C908JK3 y MC68H

C908JL327

0=Nohayacarreoentrelosbits3y4delregistroAcumulador.

1=Acarreoentrelosbits3y4delregistroAcumulador.

V: Banderadedesbordamiento(overflow)

Sehace1,siunaoperaciónaritméticaconsigno(sumaoresta)seha

desbordado.Esútilenverificacióndeoperacionesaritméticascon

signo.

0=Nohaydesbordamiento.

1=Haydesbordamiento.

Arquitectura de ejecución de la CPULaCPU08estádivididaendosunidades,ladecontrolyladeejecución.Launidaddecontrolcontieneunamáquinadeestados finitoscon lógicadecontrolytiempoyconstadetresgrandesbloquesquegenerantodaslasse-ñalesdecontrolqueutilizalaunidaddeejecución:

❖❖ Secuenciador,generaelsiguienteestadodelamáquinadeestados.❖❖ Bloquedecontrol,almacenaelcontenidodelregistrodeinstrucciones(IR)yelestadoactualdelamáquinadeestados.

❖❖ Lógicadecontrolaleatoria,seutilizaparaseleccionar lasseñalesdecontroladecuadasquerequierelaunidaddeejecución.

LaunidaddeejecucióncontienelaALU,queseencargadetodaslasope-racionesaritméticasylógicas;todoslosregistros,yelbusdeinterface,busesdedatosydedireccionesinternos.Además,launidaddeejecucióncontienealgunasfuncionesaritméticasespecialescomolamultiplicación,ladivisiónyelajusteadecimal(BCD)delregistroAcumulador.Enlafigura4semuestraeldiagramadebloquesconlainterconexiónen-

trelaunidaddecontrolylaunidaddeejecución,ylosdiferentesbusesdecomunicaciones internosmanejadospor la familiademicrocontroladoresHC08deFreescale.

Figura 4. Diagrama de bloques de la CPU084

UNIDAD DE CONTROL

Señales de Control

UNIDAD DE EJECUCIÓN

Señales de Estado

Bus de Datos Interno

Bus de Direcciones interno

4 Diagrama tomado, traducido y modificado página 19 de http://cache.freescale.com/files/microcontrollers/doc/ref_ manual/CPU08RM.pdf

Page 28: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Juliá

n Ro

lando

Cam

argo

Lóp

ez28

Temporización interna de la CPULaCPU08delafamiliademicrocontroladoresHC08deFreescale,manejasutemporizacióninternaconunrelojdecuatrofases,comosemuestraenlafigura5,allí,cadafaseestáidentificadacomoT1,T2,T3,yT4.UnciclodeejecucióndelaCPUconsisteenunpulsodelrelojdecadaunadelasfa-ses,estopuedeverseclaramenteenestafigura,enlaquesehasimplificadoeldiagrama,alcombinarlasfasesdelrelojenunasolaseñaldenominadaCPU clock.

5 Diagrama tomado, traducido y modificado página 20 de http://cache.freescale.com/files/microcontrollers/doc/ref_manual/CPU08RM.pdf

T1

T2

T3

T4

CICLO 1 CICLO 2

T1 T2 T3 T4 T1 T2 T3 T4RELOJ CPU

BUS DE DATOS INTERNO

BUS DE DIRECCIONES INTERNO CICLO DE DIR. N

CICLO DE DATOS

CICLO DE EJECUCIÓN N

Figura 5. Detalle de la temporización interna de la CPU085

SiunmicrocontroladordelafamiliaHC08estágobernadoporuncristaloporcualquiertipodeosciladorexterno,elciclodeejecuciónesdeuncuar-todelafrecuenciadelcristalodelosciladorexterno(FBUS).Aesteciclosele llama ciclo de bus,ciclo de instrucción o ciclo de máquina(TCM).

TCM=4/FOSCTCM=1/FBUSFBUS=FOSC/4

EnlafamiliaHC08lostiemposdecadainstrucciónseespecificanenci-closdemáquina.Porejemplo,un relojdeentradade32MHzproducirá una frecuenciadebusde8MHzyporconsiguienteunciclodemáquina deunainstrucciónseejecutaráen125nso1divididopor8MHz.

Distribución y manejo de la memoria TodoslosmicrocontroladoresdelafamiliaHC08deFreescalemanejanunmapadememoriade64KB,enelquese incluyen:registrosdepropósitoespecífico(I/Oregisters)paralaconfiguraciónymanejodeperiféricos;lamemoriadedatosRAM,cuyotamañovaríadeunmiembroaotro (el ta-mañomínimoesde128bytes);lapilaLIFOdelmicrocontroladorqueestá

Page 29: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Guía de operación y aplicaciones prácticas de los m

icrocontroladores Freescale MC68H

C908JK1, MC68H

C908JK3 y MC68H

C908JL329

incluidaenlazonaRAMyseutilizaenelmanejodesubrutinasyenelproce-sodeinterrupción;lamemoriadeprogramatipoFlashquevaríaentamañodeunmiembroaotro;otrazonadenominadaMonitorROM,dondeseinclu-yeunprogramamonitorquesirveparalaprogramaciónfísicadelmicrocon-trolador;vectoresdeusuarioquecorrespondenalosvectoresdeinterrupcióndelmicrocontroladoryzonasdememoriareservadasonoimplementadas.

Mapa de memoria de los microcontroladores MC68HC908JK1/JK3/JL3En los microcontroladores MC68HC908JK1, MC68HC908JK3 yMC68HC908JL3,elmapadememoriade64KBestádivididode lasiguienteforma:

❖❖ Registrosdepropósitoespecíficode64bytesqueestánencargadosdelaconfiguraciónyelmanejodetodoslosperiféricosdelmicrocontrolador.

❖❖ MemoriadeprogramaFlash,almacenaelprogramaquevaaejecutar-seypuedeutilizarsecomounamemoriaparaelalmacenamientodedatosde4,096bytesparaMC68HC908JK3/JL3yde1,536bytesparaMC68HC908JK1.

❖❖ MemoriadedatosRAMde128bytes,almacenalosdatostemporales(enformatode8bits)queseusanenunaaplicación,paraquepuedanleerseomodificarseencualquiermomento.

❖❖ MonitorROM960bytes,memoriadesolo lecturaque incluyeruti-nasparaelmanejodelamemoriaFlash,paradepuraciónysimulaciónin_circuitdeunaaplicación.

❖❖ Vectoresdeinterrupción48bytes.❖❖ Lapila,cuyaubicaciónnoesfija,puedeserrelocalizadaencualquierespaciodentrodelaRAM,medianteelusodelregistroapuntadordepila(SP).

0000H003FH

Registros de propósito específico 64 bytes

0040H007FH

Reservado 64 bytes

0080H00FFH

RAM 128 bytes

0100HEBFFH

No implementado 60160 bytes

No implementado 62720 bytes

0100HF5FFH

EC00HFBFFH

Memoria de programa Flash4096 bytes (MC68HC908JK3/JL3)

Memoria de programa Flash1536 bytes (MC68HC908JK1)

F600HFBFFH

Continúa siguiente página

Page 30: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Juliá

n Ro

lando

Cam

argo

Lóp

ez30

FC00HFDFFH

Monitor ROM512 bytes

FE00H Break Status Register (BSR)

FE01H Reset Status Register (RSR)

FE02H Reservado

FE03H Break Flag Control Register (BFCR)

FE04H Interrupt Status Register 1 (INT1)

FE05H Interrupt Status Register 2 (INT2)

FE06H Interrupt Status Register 3 (INT3)

FE07H Reservado

FE08H Flash Control Register (FLCR)

FE09H Flash Block Protect Register (FLBPR)

FE0AH Reservado

FE0BH Reservado

FE0CH Break Address High Register (BRKH)

FE0DH Break Address Low Register (BRKL)

FE0EH Break Status and Control Register (BRKSCR)

FE0FH Reservado

FE10HFFCFH

Monitor ROM448 bytes

FFD0H Vectores de Interrupción48 bytesFFFFH

Tabla 1. Mapa de memoria microcontroladores MC68HC908JK1/JK3/JL36

Zona de registros de propósito específicoEstazonaeslamismaentamañoycontenidoparalostresmicrocontrola-dores,allíseconfiguranycontrolanlasoperacionesdetodossusperiféri-cos.Existenalgunaszonasdememorianoimplementadas(físicamentenoexisten),estapartedelmapadememorianopuededireccionarsedurantelaejecucióndeunaaplicación,yaquesegeneraunresetautomáticoenelmi-crocontroladorpordireccionamientoilegal(illegal address)delamemoria.

6 Tabla tomada, traducida y modificada página 28 de http://cache.freescale.com/files/microcontrollers/doc/data_sheet/MC68HC908JL3.pdf?fpsp=1&WT_TYPE=Data Sheets&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation

Page 31: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Guía de operación y aplicaciones prácticas de los m

icrocontroladores Freescale MC68H

C908JK1, MC68H

C908JK3 y MC68H

C908JL331

DIRECCIÓN NOMBRE SÍMBOLO

0000H Registro de datos del Puerto A PTA

0001H Registro de datos del Puerto B PTB

0002H No implementado

0003H Registro de datos del Puerto D PTD

0004H Registro de direcciones de datos del Puerto A DDRA

0005H Registro de direcciones de datos del Puerto B DDRB

0006H No implementado

0007H Registro de direcciones de datos del Puerto D DDRD

0008H No implementado

0009H No implementado

000AH Registro de control del Puerto D PDCR

000BH No implementado

000CH No implementado

000DH Registro de habilitación de pull–up del Puerto A PTAPUE

000EH

0019H No implementado

001AH Registro de estado y control del módulo de teclado KBSC

001BH Registro de habilitación de interrupción del módulo de teclado KBIER

001CH No implementado

001DH Registro de estado y control del módulo IRQ INTSCR

001EH Registro de configuración 2 CONFIG2

001FH Registro de configuración 1 CONFIG1

0020H Registro de estado y control del módulo TIM TSC

0021H Registro contador de la parte alta del módulo TIM TCNTH

0022H Registro contador de la parte baja del módulo TIM TCNTL

0023H Registro módulo de la parte alta del módulo TIM TMODH

0024H Registro módulo de la parte baja del módulo TIM TMODL

0025H Registro de estado y control del Canal 0 del módulo TIM TSC0

0026H Registro del Canal 0 del módulo TIM, parte alta TCH0H

0027H Registro del Canal 0 del módulo TIM, parte baja TCH0L

0028H Registro de estado y control del Canal 1 del módulo TIM TSC1

0029H Registro del Canal 1 del módulo TIM, parte alta TCH1H

002AH Registro del Canal 1 del módulo TIM, parte baja TCH1L

002BH003CH

No implementado

003CH Registro de estado y control del ADC ADSCR

Continúa siguiente página

Page 32: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Juliá

n Ro

lando

Cam

argo

Lóp

ez32

003DH Registro de datos del ADC ADR

003EH Registro de reloj de entrada del ADC ADICLK

003FH No implementado

Tabla 2. Registros de propósito específico de los microcontroladores MC68HC908JK1, MC68HC908JK3 y MC68HC908JL3

Vectores de interrupciónEnestazonadelmapadememoria,elusuarioasignalaubicación(direcciónde16bits)decadaunadelasrutinasdeinterrupciónqueseutilizaránenlaaplicación,elusodelasinterrupcionesyporconsiguientedeestosvectoresesopcionalydependeespecíficamentede laaplicación,exceptoelvectorubicadoenlasposicionesFFFEH–FFFFHquecorrespondealvectordereset,enelcualsiempredebeindicarseladireccióndeiniciodelaaplicaciónquesevaaejecutarenelmicrocontrolador.

# VECTOR DIRECCIÓN VECTOR

IF15 FFDEH – FFDFH ADC (conversión completa)

IF14 FFE0H – FFE1H Teclado

IF13

IF6No se utiliza

IF5 FFF2H – FFF3H TIM (overflow)

IF4 FFF4H – FFF5H Canal 1 TIM (comparación o captura)

IF3 FFF6H – FFF7H Canal 0 TIM (comparación o captura)

IF2 No se utiliza

IF1 FFFAH – FFFBH IRQ

FFFCH – FFFDH SWI (instrucción)

FFFEH – FFFFH Reset

Tabla 3. Vectores de Interrupción de los tres microcontroladores7

Programa monitor en ROMEsunmóduloexclusivodelafamiliaHC08deFreescalequepuedeforzarelmicrocontroladoraunestadoespecialdecomunicaciónconelexterior(modomonitor)ypermitelagrabaciónin-circuitdelamemoriaFlash,bo-rradodeesta,actualizacionesdeprogramas,etc.Esútilcuandosequieresaberquéestásucediendoenelinteriordelmicrocontroladordurantelaeje-cucióndeunprograma.

7 Tabla tomada, traducida y modificada página 35 de http://cache.freescale.com/files/microcontrollers/doc/data_sheet/MC68HC908JL3.pdf?fpsp=1&WT_TYPE=Data–Sheets&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation

Page 33: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Guía de operación y aplicaciones prácticas de los m

icrocontroladores Freescale MC68H

C908JK1, MC68H

C908JK3 y MC68H

C908JL333

Conestemódulopuedenusarseherramientasdedesarrolloentiemporealapreciosbajosyconprestacionescomparablesaproductosdemayorvalorenotrasmarcasdemicrocontroladores.Estoesmuyimportantealahoradedecidirseporunauotramarca,yaquenoeslomismocontarsola-menteconherramientasdesimulaciónensoftwareohardwaregratuitasodebajocosto,queconherramientasquepermitenloanteriorylaposibili-daddeemulaciónentiemporealdeunaformasencilla,económicayconca-racterísticasdeflexibilidadencuantoalosdispositivosquepuedanemular.Elprogramamonitoresinalterable,yaqueestáubicadoenunazonade

memoria de solo lectura (ROM). Entre las principales características delmodomonitorestán:

❖❖ La funcionalidad normalde todos los pines enelmododeusuariose mantiene. Un solo pin se dedica a la comunicación serial entre elprogramamonitoryelcomputador(PTA0oPTB0segúnelmicro-controlador).

❖❖ Lacomunicaciónserialestándarmarca/espacionotieneretornoacero(NRZ).

❖❖ Velocidad de comunicación con el computador entre 4800 bps y28800bps.

❖❖ EjecucióndecódigoenRAMoenFlash.❖❖ Lamemoriaestáprotegidacontralecturasexternasnodeseadas.❖❖ ProgramaciónyborradodelamemoriaFlash.

Enlafigura6semuestraelcircuitotípicoparaelingresoalmodomonitor,enelqueseincluyeundriverdecomunicacionesserialesRS232(MAX232),encargadode laconversióndenivelesTTLdelmicrocontroladoranivelesRS232delPCyviceversa;unbufferdetresestados(74HC125),seencar-gadeconvertirlainformaciónserialdedoshilosprovenientedelPCenunainterfazdeunsolohilobidireccional.Enestecaso,elpinPTB0seutilizaenunaconfiguraciónORcableada,porloquerequieredeunaresistenciadepull-upde10KΩ.

Page 34: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Juliá

n Ro

lando

Cam

argo

Lóp

ez34

Figura 6. Circuito para ingresar al modo monitor8

Elosciladorqueseutilizópuedeserimplementadoconuncristalounresonadorcerámico,otambiénconunoexternodecicloútildel50%,cuyafrecuenciapuedeserde4,9152MHzo9,8304MHz.Elvoltajeparaingre-saralmodomonitorpuedeserseleccionadodeacuerdoconalgunosestadosinternosyexternosdelmicrocontrolador,asísepuedeseleccionarelmismovalordelapolarizaciónprincipalVDDde+5VoelvalorVDD+VHItípicamen-tede+8.5V.Paraingresarelmicrocontroladoralmodomonitor,debeaplicárseleun

resetporalimentación(power on reset)ycumplirconalgunadelascincoprimerascombinacionesposibles,expresadasenlatabla4.

RST

HC908JL3HC908JK3HC908JK1

Vdd

Vss

OsC1

OsC2

PTB3

IRQ1

PTB0

PTB1

PTB2

0.1µF

Vdd

0.1µF

(NOTA 3)

SW3

Vdd

10 K Ω

SW2

10 K Ω

SW1

(NOTA 1)

(NOTA 2)

Vdd

10 K

10 K Ω

Vdd

4.9152MHz/9.8304MHz

C

DC

D

4.9152MHz/9.8304MHz

22pF

10 K

Ω

22pF

Vdd

10 K Ω

Vdd + VH1

8.5 V1KVdd

10 K74HC125

6 5

474HC125

2 3

1

16

16

?

6

10

9

1

3

4

5

Vdd

++

+

1µF1µF

1µF

1µF+

1µF+

MAX232

2 7

3 8

5

C1+ VCC

C1- GND

C2+ V+

C2- V-

DB9

NOTAS:1. SW1 Ver Tabla para verificar requerimientos de IRQ12. SW2 Posición A: Frecuenciadel bus = OSC1÷4 SW2 Posición B: Frecuenciadel bus = OSC1÷23. SW3 Posición C: Oscilador externo SW3 Posición D: Oscilador con cristal

A

B

8 Diagrama tomado, traducido y modificado página 103 de http://cache.freescale.com/files/microcontrollers/doc/data_sheet/MC68HC908JL3.pdf?fpsp=1&WT_TYPE=Data Sheets&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation

Page 35: Guía de operación y aplicaciones - Editorial UDeditorial.udistrital.edu.co/contenido/c-225.pdf · Contenido. Presentación 17. ... Tabla 3. Vectores de Interrupción de los tres

Guía de operación y aplicaciones prácticas de los m

icrocontroladores Freescale MC68H

C908JK1, MC68H

C908JK3 y MC68H

C908JL335

9 Tabla tomada, traducida y modificada página 104 de http://cache.freescale.com/files/microcontrollers/doc/data_sheet/MC68HC908JL3.pdf?fpsp=1&WT_TYPE=Data Sheets&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation

IRQ1

VECT

OR

DE R

ESET

PTB3

PTB2

PTB1

PTB0 FRECUENCIA

DEL OSCILADOR

FRECUENCIA DEL BUS INTERNO

COMENTARIOS

VDD+VHI X 0 0 1 1 4,9152 MHz 2,4576 MHz Comunicación a 9600 baudios con PTB0. El módulo COP está

deshabilitado.VDD+VHI X 1 0 1 1 9,8304 MHz 2,4576 MHz

VDD+VHI X 1 0 1 1 4,9152 MHz 1,2288 MHz

Comunicación a 4800 baudios con PTB0. El módulo COP está

deshabilitado.

VDDEn blanco

(FFH)X X X 1 9,8304 MHz 2,4576 MHz

Entrada a modo monitor con bajo voltaje. Comunicación

a 9600 baudios con PTB0. El módulo COP está

deshabilitado.

VDDEn blanco

(FFH)X X X 1 4,9152 MHz 2,4576 MHz

Entrada a modo monitor con bajo voltaje. Comunicación

a 4800 baudios con PTB0. El módulo COP está

deshabilitado.

VDDNo está

en blancoX X X X

Dada por el usuario

XTALCLK÷4 Entrada a modo de usuario.

Tabla 4. Requerimientos y opciones para ingresar al modo monitor9

Enlatablaanteriorsepuedeverqueparaingresaralmodomonitorsene-cesitanmáscondicionesqueaplicarelpower on reset(POR)ytenerdesha-bilitadoelmóduloCOP,estasson:

❖❖ ElpinIRQ1debeestaraunniveldevoltajeigualaVDD+VHI(elvalorVHIpuedevariarentre0,7xVDDyVDD),paraqueseexcitelaentradadelosciladorOSC1conunafrecuenciaiguala4.9152MHzo9.8304MHzyseasegureelpinPTB3alnivelcorrespondiente,deacuerdoconlavelocidaddecomunicacionesquesedesea.

❖❖ Oqueelvectorderesetestéenblanco,esdecir,queenlasposicionesdememoriaFFFEH-FFFFHhayaunvalorFFH,seexcitelaentradadelosciladorOSC1conunafrecuenciaiguala4.9152MHzo9.8304MHz,conloquesetendráunavelocidadde4800baudioso9600baudios,respectivamente,sinimportarelestadodelpinPTB3.