//Testing Push Button (PB5-PB8) Switches on Student Project Board. //This program gets status of Push Button SW of PB5-PB8 and sends it to LEDs on PORTA //Using HCS12 MCU Module with Freescale Student Project Board //HCS12 MCU Modules 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 Student Project Board, We need to //a)connect 4 wires from push button PB5-PB8(on J10) to pins PORTB3-PORTB0 of J6 connector (pins 47,49,51,53 of J6) //b)Notice on J6 of Project Board PORTB3-PORTB0 are pins 47,49,51,53,55 //On HCS12 MCU Module itself //a)MAKE SURE ALL jumpers for PORTB are removed (LED1-4 and SW3-1 to SW3-4). //b)The 8 Jumpers (SW3-1 to 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 tested by M. Mazidi using 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