Puertos de entrada / salida ( I/O PORTS )
DDRE DDRB CPU REGISTERS M68HC08 CPU ARITHMETIC/LOGIC UNIT (ALU) MC68HC908GP32 Diagrama en Bloques INTERNAL BUS COMPUTER OPERATING PROPERLY DDRA PORTA PTA7 / PTA0 KBD7/ KBD0 CONTROL AND STATUS REGISTERS 64 BYTES MONITOR SINGLE BRKPT BREAK PORTB PTB7 / PTB0 AD7 / AD0 USER EPROM 32,256 BYTES USER RAM 512 BYTES MONITOR ROM 307 BYTES USER FLASH VECTOR SPACE 36 BYTES OSC1 OSC2 CGMXFC RST IRQ1 /V PP IRQ2 VDDAD / VREFH VSSA / VREFL V SS V DD V DDA VssA GENERATOR CLOCK PHASE-LOCKED LOOP 24 INTR SYSTEM INTEGRATION SINGLE EXTERNAL IRQ 8 BITS A/D CONV. POWER-ON RESET POWER DUAL V. LOW-VOLTAGE INHIBIT 8 BIT KEYBOARD INTERRUPT 2 CHANNELTIMER INTERFACE 1 2 CHANNEL TIMER INTERFACE 2 SERIAL COMMUNICATIONS INTERFACE SERIAL PERIPHERAL INTERFACE DATA BUS SWITCH MEMORY MAP MASK OPTION REGISTER1 MASK OPTION REGISTER 2 DDRC PORTC PORTE DDRD PORTD PTC7 PTC0 PTC4 / PTC0 HIGH I PTE1 / RXD, PTE0 / TXD PTD7/T2CH1 PTD6/T2CH0 PTD5/T1CH1 PTD4/T1CH0 PTD3/SPSCK PTD2/MOSI PTD1/MISO PTD0/SS SECURITY MONITOR MODE ENTRY
Pines del I/O Port Hasta 33 pines bidireccionales de Entrada/Salida (input/output) Para el GP32, ver capacidades para c/u. de los distintos derivativos En 5 diferentes I/O ports: A, B, C, D, E PortA - 8 pines PortB - 8 pines PortC - 7 pines PortD - 8 pines PortE - 2 pines Los puertos I/O de la familia HC908, conservan todas las características de facilidad y flexibilidad de uso de los I/O de los distintas flias. de MCUs de Motorola. Los puertos I/O como es característico en Motorola, estan mapeados como espacios de memoria, por lo general siempre en las primeras posiciones del mapa, y con dichos espacios pueden realizarce todas las operaciones lógicas disponibles como si se trataran de espacios de memoria estandard. Por medio del Registro DDR (Data Direction Register) para c/u de los puertos, se pueden establecer las direcciones (Input o Output), uno por uno de c/u de los pines de los mismos. No se requieren instrucciones especiales para manejar los puertos I/O!!!!!
Diagrama en Bloques de un I/O PIN INTERNAL DATA BUS Registro de Direccion de Datos del Puerto (Salida o Entrada) Read Data Direction Register Write Data Direction Reg. RESET DDRXn Write Port Register PTXn PTXn Read Port Register Pin Físico Registro del Puerto (Datos I/O) Compuertas internas de Direccionamiento del PIN (Input / Output)
Configurando los pines del Port DDRx READ: WRITE: DDRx7 DDRx6 DDRx5 DDRx4 DDRx3 DDRx2 DDRx1 DDRx0 RESET: 0 0 0 0 0 0 0 0 x = A, B, C, D, o E Nota: Algunos puertos no tienen 8 bits en sus registros. Ver reference manual. Data Direction Registers (DDRx) Determina la dirección, input o output, de c/u de los pines del port. 1 = Configura al pin correspondiente como output 0 = Configura al pin correspondiente como input Todos los pines son configurados como inputs luego de un reset
Leyendo y Escribiendo Datos PTx READ: WRITE: PTx7 PTx6 PTx5 PTx4 PTx3 PTx2 PTx1 PTx0 RESET: NO AFECTADO POR EL RESET x = A, B, C, D, o E Nota: Algunos puertos no tienen 8 bits en sus registros. Ver reference manual. Port Data Register Pin Configurado como Input (entrada) Read - Lee el nivel de tensión sobre el pin ( 1 o 0 ) Write - Memoriza (latch) un nuevo valor, pero no afecta al del pin Pin Configurado como Output (salida) Read - Lee el último valor memorizado (latched) Write - Cambia la salida al nivel indicado ( 1 o 0 ) Para impedir data glitches los Ports data registers deben ser escritos antes de que cualquier pin sea configurado como output en el Data Direction Register
Pines Compartidos Algunos pines comparten funciones con otros módulos del sistema Pines del PortA compartidos con el módulo de KBI (GP32) Todos los pines Enable/disabled en forma individual Pines del PortB compartidos con el módulo de A/D (GP32) Todos los pines Enable/disabled en forma individual Pines del PortD compartidos con el módulo de SPI y los de TIMER Enable/disabled por módulos Cuando no son usados por un submodulo, pueden ser usados como I/O Ver manual de datos de c/u de los derivativos para mayor detalle del uso de cada puerto con otros módulos.
SUMARIO DE REGISTROS HC908GP32 Port A Data Register (PTA) Port B Data Register (PTB) Port C Data Register (PTC) Port D Data Register (PTD) Port A Data Direction Register (DDRA) Port B Data Direction Register (DDRB) Port C Data Direction Register (DDRC) Port D Data Direction Register (DDRD) Port E Data Register (PTE) Port E Data Direction Register (DDRE) Port A Input Pullup Enable ( PTAPUE) Port C Input Pullup Enable ( PTCPUE) Port D Input Pullup Enable ( PTDPUE ) FIN CAPITULO 9!!