Upload
lammien
View
233
Download
0
Embed Size (px)
Citation preview
Guía de operación y aplicaciones prácticas de los microcontroladores
Freescale MC68HC908JK1, MC68HC908JK3 y MC68HC908JL3
Julián Rolando Camargo López
Agradecimientos
A mis hermosas hijas, Valeria y Valentina.
A mi amada esposa, Liz.
© 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
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
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
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
Í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
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
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
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
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
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
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.
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
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.
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
#
#
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
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.
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
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
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.
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
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á
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
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
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
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
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Ω.
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
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.