Teaching and Curriculum Development of Microprocessor Classes

Similar documents
UNIVERSITY OF HONG KONG DEPARTMENT OF ELECTRICAL AND ELECTRONIC ENGINEERING

UNIVERSITY OF HONG KONG DEPARTMENT OF ELECTRICAL AND ELECTRONIC ENGINEERING. Principles of Computer Operation

68HC12 Training Lab Student Exercise Book

Introduction to Microcontrollers

Microprocessors/Microcontrollers

EB301. Motorola Semiconductor Engineering Bulletin. Programming EEPROM on the MC68HC811E2 during Program Execution. Freescale Semiconductor, I

EE 5340/7340 Motorola 68HC11 Microcontroler Lecture 1. Carlos E. Davila, Electrical Engineering Dept. Southern Methodist University

Experiments in a Microprocessors and Microcontrollers Course

Ryerson University Department of Electrical and Computer Engineering ELE 538 Microprocessor Systems Final Examination December 8, 2003

Serial Communication Through an Asynchronous FIFO Buffer

Programming the Motorola MC68HC11 Microcontroller

MC68HC11 Portable Lab Unit -- A Flexible Tool for Teaching Microprocessor Concepts. Pamela J. Neal, George W. P. York U.S.

History of the Microprocessor. ECE/CS 5780/6780: Embedded System Design. Microcontrollers. First Microprocessors. MC9S12C32 Block Diagram

AN1745. Interfacing the HC705C8A to an LCD Module By Mark Glenewinkel Consumer Systems Group Austin, Texas. Introduction

PUSH BUTTON. Revision Class. Instructor / Professor LICENSE

ME4447/6405. Microprocessor Control of Manufacturing Systems and Introduction to Mechatronics. Instructor: Professor Charles Ume LECTURE 7

MT2 Introduction Embedded Systems. MT2.1 Mechatronic systems

Chapter ELEVEN 8255 I/O PROGRAMMING

Microcontrollers. Microcontroller

TEMPERATURE SENSOR. Revision Class. Instructor / Professor LICENSE

Parallel-to-Serial and Serial-to-Parallel Converters

Computer Organization I. Lecture 28: Architecture of M68HC11

1. Memory Mapped Systems 2. Adding Unsigned Numbers

ME 6405 Introduction to Mechatronics

AC : DESIGN OF DATA ACQUISITION SYSTEM FOR COMPUTER ENGINEERING EDUCATION

EE4390 Microprocessors. Lessons 2, 3 68HC12 Hardware Overview, Subsystems, and memory System

Computer Hardware Requirements for Real-Time Applications

Y = (A + C) (A + B) (B + C)

BASIC INTERFACING CONCEPTS

Introduction to Microcontrollers II

Real Time Operating Systems Application Board Details

Goal: We want to build an autonomous vehicle (robot)

)8-,768'HY.LW 2YHUYLHZ. )XMLWVX0LNURHOHNWURQLN*PE+ Am Siebenstein Dreieich-Buchschlag, Germany

SEVEN SEGMENT DISPLAY LAB EXPERIMENT

SYLLABUS UNIT - I 8086/8088 ARCHITECTURE AND INSTRUCTION SET

CHAPTER 8. Solutions for Exercises

Lab 8: Debugging Embedded Devices and Software

Table of Contents. Introductory Material

Introduction to Microcontrollers

Go Gators! Relax! May the Schwartz be with you!

Chapter 1. Microprocessor architecture ECE Dr. Mohamed Mahmoud.

ECE331 Handout 3- ASM Instructions, Address Modes and Directives

PROGRAMMING AND CUSTOMIZING

EasyPIC5 Development System

Lab 2 Part 1 Assembly Language Programming and 9S12 Ports

BLACK BOX FOR CAR ACCIDENT


Input and Output Ports. How do you get data into a computer from the outside?

CHALMERS Lindholmen 1. Compare (a) a sand hour glass, (b) a pocket mechanical watch (c) a wrist quartz watch and (d) the Big

Microcontrollers and the Freescale/Motorola HC11

CET335 Microprocessor Interfacing Lab 5: LCD Interface (Bus Attached Peripheral)

538 Lecture Notes Week 5

538 Lecture Notes Week 5

Decimal, Hexadecimal and Binary Numbers Writing an assembly language program

Roberto Muscedere Images and Text Portions 2003 Prentice Hall 1

Mark II Aiken Relay Calculator

CMS-8GP32. A Motorola MC68HC908GP32 Microcontroller Board. xiom anufacturing

Introduction to Microcontrollers II

Lab 7: Asynchronous Serial I/O

PCI bit Digital Input/ Output Card for PCI Bus. User s Manual

MICROCONTROLLER BASED SMART FAN SYSTEM

ITT Technical Institute. ET2640 Microprocessors and Microcontrollers Onsite and Online Course SYLLABUS

Session 1520 EXPERIENCE OF TEACHING THE PIC MICROCONTROLLERS

Introduction to Embedded Systems and Chapter 1: Introduction to HCS12/MC9S12. EE383: Introduction to Embedded Systems University of Kentucky

DESIGNING A MODULAR-APPROACH OF MULTI-MICROCONTROLLER BASED EDUCATIONAL TRAINING SYSTEM WITH IDE. R.S.K. Selvakumar*, K.H. Ghazali, N.M.K.

Microcontrollers. Principles and Applications. Ajit Pal +5 V 2K 8. 8 bit dip switch. P2 8 Reset switch Microcontroller AT89S52 100E +5 V. 2.

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

ECE L A B 1 Introduction ASSEMBLY PROGRAMMING WITH MINIIDE

EEE3410 Microcontroller Applications Department of Electrical Engineering Lecture 4 The 8051 Architecture

Development of a digital instrument as a motivational component in teaching embedded computers

Sample Problem Set #1

Microcontroller Overview

EB193. Motorola Semiconductor Engineering Bulletin. Replacing 68HC11A Series MCUs with 68HC11E Series MCUs. Freescale Semiconductor, I.

Summer 2003 Lecture 1 06/09/03

PCI-1751U. 48-bit Digital Input/Output Card with Universal PCI Bus. User Manual

POTENTIOMETER. Revision Class. Instructor / Professor LICENSE

AN1239. HC05 MCU Keypad Decoding Techniques Using the MC68HC705J1A. Introduction

Environmental Data Acquisition Using (ENC28J60)

Overview of Embedded Systems in Medical Applications

Mechatronics and Measurement. Lecturer:Dung-An Wang Lecture 6

Microprocessor (COM 9323)

Mega128-DEVelopment Board Progressive Resources LLC 4105 Vincennes Road Indianapolis, IN (317) (317) FAX

Bolt 18F2550 System Hardware Manual

SH67K93/90 EVB ROM H ROM L. Application Notices for SH67K93/90 EVB SH69V93 SH67K93/90 EVB J2 GND. Port & CID interface Tele Line Plug.

CMD711-EX Development Board

PROGRAMMABLE POWER SUPPLY

MC68HC12 Parallel I/O

LECTURE #21: G-CPU & Assembly Code EEL 3701: Digital Logic and Computer Systems Based on lecture notes by Dr. Eric M. Schwartz

Interfacing Memory Chips on the 6812 Processor Bus. Student's name & ID: Partner's name & ID: Your Section number / TA's name

AN-HK-32. In-Circuit Programming of FLASH Memory in the MC68HC908GP32. nc... Freescale Semiconductor, I. PART 1 Introduction

B.C.A 2017 MICROPROCESSOR AND ASSEMBLY LANGUAGE MODULE SPECIFICATION SHEET. Course Outline

TUG Combo Board

CONTENTS. dspicpro4 KEY FEATURES 4 CONNECTING THE SYSTEM 5 INTRODUCTION 6

THE MICROCOMPUTER SYSTEM CHAPTER - 2

University of Florida EEL 4744 Fall 1998 Dr. Eric M. Schwartz

Introduction to a Typical PC. Freedom High School

AN1742. Programming the 68HC705J1A In-Circuit By Chris Falk CSG Product Engineering Austin, Texas. Introduction. Overview

Using the stack and the stack pointer

Microprocessors And Microcontrollers (Practical)

Technical Specifications

Transcription:

Session 2559 Teaching and Curriculum Development of Microprocessor Classes Roman Stemprok University of North Texas Abstract This paper addresses teaching and curriculum development for several microprocessor classes in the Engineering Technology Department at the University of North Texas. Fundamentals of computer hardware and assembly language were presented in undergraduate and graduate courses with emphasis on a processor to control external devices. Students studied microprocessor structure, became proficient in assembly language programming techniques, developed basic microprocessor interfacing techniques, designed simple memory systems, and investigated basic data communications. Special care was taken in organizing labs for these hands-on undergraduate and graduate courses. Students were assigned projects of increasing complexity from a simple control circuit to Digital Pet powered by the Motorola microprocessor (a semester project). Successful student teams demonstrated working hardware models at the end of each semester. Introduction This paper describes projects and laboratory assignments for courses in the Electronics Division of the Engineering Technology Department. After completion of the digital logic introductory course students learned to utilize microcontroller technology through hands-on assignments. Class curricula integrated the Motorola 68HC11 microcontroler and the xx86 Intel processor, which are available on PCs. Courses involved included Introduction to Microprocessors, Digital Systems, and Embedded Controllers. The MC68HC11A8 microcontroller was used in a variety of lab assignments and projects at the undergraduate and graduate levels to interface output commands from the microcontroller to relays, motors, displays and ICs. The Motorola microcontroller offers high-speed in control-related embedded operations. The 8K bytes of on-chip memory (ROM), 256 bytes of RAM, 512 bytes of EEPROM and an 8-bit analog-todigital converter were used with several I/O ports [1]. Students designed process controls using, for example, the A/D converter input from a variety of sensors or transducers. System I/O design issues were taught in the upper division course where a PC interface, using an ISA expansion slot, was built by each student team. The Intel xx86 processor was programmed using assembly code (MASM compiler), or the DOS Debug program. The wire-wrap PC bus extender accessed the signals through the ISA Page 5.578.1

expansion slot. This PC card extender was used to interface devices such as converters, sensors, motors and actuators. Laboratory Assignments using MC68HC11 Students were introduced to microcontoller technology in the lower division undergraduate course utilizing the Motorola EVB (Evaluation Board) with the MC68HC11A8 processor [2,3]. Students studied Motorola assembly language programming and connecting I/Os. The basic evaluation board (MC68HC11EVB) was connected to a PC through a communication software (Procomm) program. The basic laboratory sequence is shown below [3]: 1. Block move. 2. Parallel output an 8-bit value that will turn ON/OFF LEDs. 3. Input a binary code through the Port C and output the code to 8-bit LEDs. 4. Attach the A/D on-board converter with a temperature sensor through an interface. 5. Output compare the square wave generation. 6. Measure a signal frequency utilizing the "on-board" programmable timer.. 7. Generate sound using a speaker attached through an interface to a port of HC11. 8. Incorporate EEPROM programming. 9. Initiate event counting using a pulse accumulator. Project Applications using MC68HC11 The graduate course included three semester projects constructed by each student. Students in the lower division undergraduate course were assigned end-of-semester projects using the HC11 microcontroller. The EVB, with a 60-pin header, was used to interface the required sensors, actuators and other I/Os through conditioning circuits. Appendix I includes a programming sample of an EEPROM that was used for these projects. Project applications included: Collision Alert System Project Gasoline Pumping Station Key Card Reader Digital Pet or Moving Roach Temperature Room Control Traffic Lights Control System Figure 1 shows the Collision Alert System project. Recent studies indicate that most traffic accidents are a result of poor driving habits. Using an on-board microcontroller (M68HC11), accidents can be avoided by determining distance and speed. This project includes sensors connected to the car s accelerator, brake, and speedometer. The indicator light is lit when these sensors are activated and the traffic situation calls for a control action (accelerating, breaking and measuring speed.) The project included recommendations to avoid hazardous situations. Page 5.578.2

LCD MCU PC0 09 PC1 10 PC2 11 PC3 12 PC4 13 PC5 14 PC6 15 PC7 16 01 Vss 02 Vdd 03 Vo 04 RS 05 R/W 06 E 07 DB0 08 DB1 09 DB2 10 DB3 11 DB4 12 DB5 13 DB6 14 DB7 10 K Resistive Bank PB7 35 PB6 36 PB5 37 PB4 38 PB3 39 PB2 40 PB1 41 PB0 42 PA1 33 PA0 34 PE2 47 PE3 49 PE6 48 PE7 50 VRL 51 VRH 52 VDD 26 GND 01 Reset Switch 1.0µF Brake LED Accelerator LED Alarm LED 10K 10K Range Sensor Break Pedal Accelerator Pedal Speed Sensor Figure 1: Car Control Peripherals and MCU Digital pet was a successful design completed by several independent student groups. The animal body was constructed from LEGO parts with actuators powered by servomotors. The pet had eyes (sensors), its tail moved, and the animal emitted a sound when pulled. Some designs were able to navigate around objects. A room temperature control project utilized the D/A converter included in the HC11 microcontroller. Outputs controlled the blower, air-conditioner and heater. Laboratory Assignments using x86 Intel Modified laboratory assignments, listed in Mazidi's lab manual [4], were given to students in the upper level undergraduate course to learn the general parts. They wrote assembly codes in Debug, performed data area calculations, and explored the BIOS Page 5.578.3

functions of an Intel manufactured processor involving parallel and serial ports. The laboratory sequence, each including several lab sessions, is shown below [5]: 1. Assembly language programming using MASM and Debug 2. Assembly language application and program computations 3. PC system programming such as the mouse, video and memory 4. Serial and parallel port interfacing. The next level of assignments was to connect the hardware I/Os to a computer. A test board [6] was connected through an ISA PC slot at 300H 31FH address. Lab assignments included the following: 1. Output - Intel 8255 to control LEDs 2. Output - Intel 8255 to control stepping motor 3. Input/output from keypad to a monitor 4. Output Intel 8253 to play music Project Assignments using x86 Intel An interface card using a ISA PC bus was constructed by each two-member student team. An empty JDR prototype card was supplied to each group [6]. The 16-bit prototyping board, with I/O decode logic, is for students who like to design their own cards. This card has plated through holes, silk screen legends, and gold plated edge card connectors and is compatible with soldertail or wire-wrap sockets. The examples use conventional addresses in the hex 300 through 31F range, and are expected to be 16 bits wide. The card was stuffed with buffers to access the bus signals. Figure 2 is a design of such an ISA card interface with I/Os. Students used the 8255 Programmable Peripheral Interfacing chip. When a dynamic change was not required on the JDR card, a hardwired 74LS373 and 74LS244 chips were used. The projects were: 1. Automatic Guitar Tuner 2. Constant Tire Pressure Regulator 3. Music Player Conclusions The laboratory assignments, leading to semester projects using the computer hardware and assembly language, were presented. Emphasis was on a processor that would control external devices. Students studied microprocessor structure, became proficient in assembly language programming techniques, developed basic microprocessor interfacing techniques, designed simple memory systems, and investigated basic data communications. Special care was taken in developing labs for undergraduate and graduate level courses. Students enjoyed these hands-on courses and were assigned the building of projects of increasing complexity from a simple control circuit to a Page 5.578.4

Digital Pet semester project powered by the Motorola microprocessor. Successful student teams demonstrated their working hardware models at the end each semester. PC Bus Actuator: (stepping motor) Interface (74LS245) (74LS244) 8255 8253 Data display: (LCD, LEDs) Sound System: Interface (74LS244) Decoding circuitry (74LS138) Figure 2: The 80x86 ISA PC Bus Controller Bibliography 1. Driscoll, Coughlin, Villanucci, Data Acquisition and Process Control with the M68HC11 Microcontroller, Prentice Hall, 1994. 2. Motorola, Inc., M68HC 11 Reference Manual, 1991. 3. Motorola Inc, Motorola Technical Training MC68HC11 Course, 1993. 4. M.A Mazidi, The 80x86 IBM PC and Compatible Computers, Volumes I & II, Prentice Hall, 1998. 5. M.A Mazidi, Lab Manual for The 80x86 IBM PC and Compatible Computers, Volumes I & II, Prentice Hall, 1998. 6. JDR Microdevices, 16 Bit Prototype Board, JDR-PR10, user manual, 1998. 7. Jefferey Royer, Intergface Tutor, Student user Manual V1.0, 1989. Roman Stemprok Roman Stemprok is an Assistant Professor of Electronics Engineering Technology at the University of North Texas. He also serves as Director of the Center for Transportation Study. Dr. Stemprok is actively involved in research for industry. Dr. Stemprok received a M.E. in Electrical Engineering from McGill University in Montreal in 1989 and a Ph.D. from the Department of Electrical Engineering at Texas Tech University in 1995. Page 5.578.5

Appendix I Example of using MC68HC11 for a control operation Concept of EEPROM programming that was used in various projects PPROG EQU $103B ;index for PPROG register for EEPROM control ORG $C100 ;start of FCC memory away from user code memory NAME FCC code to burn ;this is a code/data of your choice FCB 0 ;form constant byte, fill that with zero FCB 0 ;form constant byte, fill that with zero ORG $C000 ;starting address of the user code ROW ERASE MODE step one LDAB #$0E ;set register $103B to ROW erase ($0E) ;EELAT, ERASE, ROW = 1 STAB PPROG ;store ACCB at $103B LDY #$B600 ;pointer to start of EEPROM array, EEPROM location is ;$B600 to $B7FF (512 bytes) STAB 0,Y ;Store 'Don't Care' Data LDAB #$0F ;turn on program voltage EEPGM = 1, EELAT = 1, ;ERASE = 1 STAB PPROG ;write the contents of accumulator B to address $103B, turn ;charge pump on, can not read from EEPROM BSR DELAY ;make a 10 ms delay CLR PPROG ;turn-off program voltage, enable READ turn off latch, ;ERASE = 0 PROGRAM MODE, ROW into EEPROM Starting at $B600 step two LDX #NAME ;load X as pointer to NAME table LDY #$B600 ;load Y as pointer for EEPROM location PRB LDAA 0,X ;load data from table BEQ EXIT ;exit PRB loop upon detecting 0 in NAME table LDAB #$02 ;set EELAT bit in PPROG register STAB PPROG ;store ACCB at $103B STAA 0,Y ;store data to LATCH LDAB #$03 ;turn-on EEPGM bit - voltage on, EELAT = 1 STAB PPROG ;store ACCB at $103B BSR DELAY ;delay about 10 ms CLR PPROG ;turn-off EEPGM voltage, READ enable INY ;increment index register Y by one INX ;increment index register X by one BRA PRB ;run loop SUBROUTINE DELAY about 10 ms = #2860 DELAY LDD #2860 LOOP SUBD #1 ;subtract one from accumulator D inside the loop BNE LOOP RTS EXIT STOP END Page 5.578.6