//Getting data from 8 DIP SW of PORTB and sending it 8 LEDs on PORTA //with HCS12 MCU Module using Freescale Student Project board //HCS12 MCU Moduless come with USB-BDM and ready to be used with CodeWarrior IDE //The lower 4 bits of PA3-PA0 are connected to LEDs(LED1-LED4 on J10) permanently //and must be enabled by clearing bit P4 of PORTP. Also set the LED jumper on UFEA jumpers next to Buzzer //We also need to connect 4 wires from LED5-LED8 (J10) to pins PA7-PA4 via J6 connector //See Toggling PORTA sample code for Student project Board on this website. //On Project Board, //a)We need to connect 8 wires from SW1-1,2,3,3 and SW2-1,2,3,4 (on J10) to pins PORTB7-PORTB0 (via J6 connector) //b)Notice on J6 of Project Board PORTB7-PORTB0 are pins 41,43,45,47,49,51,53,55 //On HCS12 MCU Module itself, //a)MAKE SURE ALL the jumpers for PORTB are removed.(SW3-1...SW3-4 and LED1-LED4) //b)The 8 Jumpers (SW3-1...SW3-4 and LED1-LED4) on HCS12 MCU module connect the PORTB to SW and LEDs of the Module itself. //c)The PORTB can be either used by the HCS12 MCU Module itself or the Project Board, but not both of them at the same time. //Written and Modified by Mazidi from examples in Chap 7 of HCS12 textbook by Mazidi & Causey //In Codewarrior,MAKE sure you are in TBDML Mode before downloading //Press F7 (to Make), then F5(Debug) to downLOAD,and F5 once more to start the program execution #include /* common defines and macros */ #include "derivative.h" /* derivative-specific definitions */ void MSDelay(unsigned int); void main(void) { /* put your own code here */ unsigned char x; DDRA = 0xFF; //PORTA as output since LEDs are connected to it DDRP = DDRP | 0b00010000; //on Project Board, the lower 4 bits of PA3-PA0 are connected to LEDs(LED1-LED4) permanently PTP = PTP & 0b11101111; //and must be enabled by clearing bit P4 of PORTP //on Project Board,we need to connect 4 wires from LED5-LED8 (J10) to pins PA4-PA7 via J6 connector (pins 25,27,29,31) PORTB=0x0; //port B as input for(;;) { x=PORTB; //Get data from PORTB and send it to PORTA PORTA = x; MSDelay(1); //optional } } //The HCS12 MCU Module works with XTAL=4MHz //Freq. for Instruction Clock Cycle (Bus Freq.) is 2MHz (1/2 of 4MHz). void MSDelay(unsigned int itime) { unsigned int i; unsigned int j; for(i=0;i