Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
68hc11
:
EE 308 Lecture Outline.htm
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- saved from url=(0054)http://www.ee.nmt.edu/~rison/ee308_spr98/lectures.html --> <HTML><HEAD><TITLE>EE 308 Lecture Outline</TITLE> <META http-equiv=Content-Type content="text/html; charset=utf-8"> <SCRIPT language=javascript src="EE 308 Lecture Outline_fichiers/js"></SCRIPT> <META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD> <BODY><B> <H2>EE 308</H2> <P>Lecture Outline for Spring 1998</B><BR> <P> <OL> <LI> <P>Wednesday 1/14 <UL> <LI>Sections 1.1-1.3, Huang: Introduction to Microprocessors and Microcontrollers. <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_14/cruise_control.gif">Cruise Control Block Diagram</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_14/cruise_flow.gif">cruise control flow chart</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_14/simple_uc.gif">simple microcontroller</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_14/harvard.gif">harvard architecture microprocessor</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_14/princeton.gif">princeton architecture microprocessor</A> </LI></UL></LI></UL> <P></P> <LI> <P>Friday 1/16 <UL> <LI>Sections A.1 - A.8, Huang: binary and hexadecimal numbers. <LI>figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_16/dec_hex_bin.gif">binary, hex and decimal numbers</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_16/unsigned_numbers.gif">unsigned number wheel</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_16/signed_numbers_1.gif">signed number wheel (first attempt)</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_16/signed_numbers_2.gif">signed number wheel (final attempt)</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_16/bin_hex_sign_unsign.gif">binary, hex, signed and unsigned numbers</A> </LI></UL></LI></UL> <P></P> <LI>Monday 1/19 <UL> <LI>Appendix a, Huang: addition and subtraction of hexadecimal numbers. <LI>Section 1.4, Huang: the 68hc11 programming model. <BR>Section 6.1, <B>68hc11 reference manual</B>: programmer's model. <LI>Section 1.7, Huang: 68hc11 instructions. <LI>figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_19/prog_model.gif">68hc11 programmer's model</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_19/mem1.gif">simple memory map</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_19/mem2.gif">example of memory location inside memory map</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_19/mem_system.gif">68hc11 available memory</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_19/simple_rtl.gif">simplified logic for aba instruction</A> </LI></UL></LI></UL> <P></P> <LI>Wednesday 1/21 <UL> <LI>Sections 1.5-1.6, Huang: addressing modes. <BR>Section 6.2, <B>68hc11 reference manual</B>: addressing modes. <TT> <UL> <LI>inh inherent <LI>ext extended <LI>dir direct <LI>imm immediate <LI>ind indexed </TT></LI></UL> <LI>Sections 2.2-2.4, Huang: introduction to assembly language <LI>figure <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_21/psuedo.html">some assembler directives for the as6811 assembler</A> </LI></UL></LI></UL> <P></P> <LI>Friday 1/23 <UL> <LI>Sections 1.7-1.8, Huang: 68hc11 instructions and machine code <LI>figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_23/op_codes.html">assembler-generated op codes</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_23/cycles.html">cycle-by-cycle processing of <TT>ldaa 0x1234</TT></A> </LI></UL></LI></UL> <P></P> <LI> <P>Monday 1/26 <UL> <LI>Section 1.8, Huang: 68hc11 machine code and execution cycles. <LI>Sections 2.1-2.4 Huang: basic assembly language programming <LI>figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_26/jump_branch.html">assembler-generated op codes for jump and branch instructions</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_26/divide_table_1.gif">flow chart to divide table by 2 (first attempt)</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_26/divide_table_1_code.gif">flow chart to divide table by 2 with code (first attempt)</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_26/divide_table.gif">flow chart to divide table by 2 (second attempt)</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_26/divide_table_code.gif">flow chart to divide table by 2 with code (second attempt)</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_26/lab02_op_codes.html">code and cycle-by-cycle execution of program to divide table by two</A> </LI></UL></LI></UL> <P></P> <LI> <P>Wednesday 1/28 <UL> <LI>Sections 2.1-2.6, 2.8, Huang: basic assembly language programming <UL> <LI>assembly language program structure <LI>assembler directives <LI>flow charts <LI>program loops - while, do while, if then else <LI>branch instructions <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_28/flow_if_then.gif">if-then flowchart structure</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_28/flow_if_then_else.gif">if-then-else flowchart structure</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_28/flow_while.gif">while flowchart structure</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_28/flow_do_while.gif">do-while flowchart structure</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_28/huang_ex_2_17_ab.html">flow chart and programs to add odd entries in a table (Huang example 2.17)</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_28/huang_ex_2_17_c.html">another flow chart and program to add odd entries in a table (Huang example 2.17)</A> </LI></UL></LI></UL></LI></UL> <P></P> <LI> <P>Friday 1/31 <UL> <LI>more examples of assembly language programming, including further discussion of branching <LI>figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_31/swap_1.gif">flowchart for problem e2.11 of Huang - swap elements of an array -- using a counter</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_31/swap_2.gif">flowchart for problem e2.11 of Huang - swap elements of an array - comparing addresses</A> </LI></UL></LI></UL> <P></P> <LI> <P>Monday 2/03 <UL> <LI>Sections 3.1-3.3, 3.6-3.10, Huang: the stack, stack pointer and subroutines <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_2/stack1.gif">Stack Pointer and the HC11 Programming Model</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_2/stack.gif">Simple Program Using Stack Pointer</A> </LI></UL></LI></UL> <P></P> <LI> <P>Wednesday 2/04 <UL> <LI>More on Stacks and Subroutines <LI>Parallel I/O on the 68HC11 -- Ports B and C </LI></UL> <P></P> <LI> <P>Friday 2/06 <UL> <LI>Parallel I/O on the 68HC11 -- Ports B and C <LI>Introduction to the C programming Language <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_6/assembly_C.html">Comparison of Assembly and C Directives</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_6/assembly_c_program.html">Comparison of Programs in Assembly and C</A> </LI></UL></LI></UL> <P></P> <LI> <P>Monday 2/9 <UL> <LI>C Programming: Data Types and Operators <LI>C Programming: Flow Control <UL> <LI><B><TT>if ( ) { } else { } </TT></B>statement <LI><B><TT>while ( ) { } </TT></B>statement <LI><B><TT>for ( ; ; ) { } </TT></B>statement <LI><B><TT>do { } while ( ) </TT></B>statement </LI></UL> <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_9/binary_counter_c.html">C Program to Display Binary Counter on Port B</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_28/flow_if_then.gif">if-then flow control in C</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_28/flow_if_then_else.gif">if-then-else flow control in C</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_28/flow_while.gif">while flow control in C</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/jan_28/flow_do_while.gif">do-while flow control in C</A> </LI></UL></LI></UL> <P></P> <LI> <P>Wednesday 2/11 <UL> <LI>More on C programming <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_11/C_ops.html">Some basic C operators</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_11/lab4_1.gif">Flow Chart of Lab 4</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_11/up_cnt.gif">Flow Chart of Up Counter for Lab 4</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_11/tbird_2.gif">Flow Chart of Tbird Pattern for Lab 4</A> </LI></UL></LI></UL> <P></P> <LI> <P>Friday 2/13 <UL> <LI>Exam 1 </LI></UL> <P></P> <LI> <P>Monday 2/16 <UL> <LI>Pointers in C <LI>Introduction to Interrupts on the HC11 <BR>(Huang, Section 5.2; <BR>Motorola Reference Manual, Section 5.3) <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_16/pointers.html">Pointers in C</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_16/count_negs.html">C Program to Count Number of Negative Numbers from 0xE000 to 0xEFFF</A> </LI></UL></LI></UL> <P></P> <LI> <P>Wednesday 2/18 <UL> <LI>HC11 Main Timer, Timer Overflow Interrupts, and Real Time Interrupts <BR>(Huang, Sections 7.1-7.3, 7.9; <BR>Motorola Reference Manual, Sections 10.1-10.2) <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_18/int_addr.gif">Interrupt Vector Table in BUFFALO</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_18/tof_int.gif">Timer Overflow Interrupt Hardware</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_18/tof_int.html">Assembly and C Code for Timer Overflow Interrupt</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_18/prescaler.gif">Prescaler to Main Timer</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_18/rti_int.gif">Real Time Interrupt Hardware</A> </LI></UL></LI></UL> <P></P> <LI> <P>Friday 2/20 <UL> <LI>Review of Timer Overflow and Real Time Interrupts <LI>Input Capture Function of the HC11 Timer Subsystem <BR>(Huang, Section 7.4-7.5; <BR>Motorola Reference Manual, Section 10.3) <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_20/interrupts.html">Using Interrupts on the HC11</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_20/tof_rti_int.gif">Timer Overflow and Real Time Interrupt Hardware in the HC11</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_20/tof_rti_int_table.gif">Using Timer Overflow and Real Time Interrupts</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_20/timer_ints.html">Considerations when using Timer Interrupts</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_20/input_capture.gif">The HC11 Input Capture Hardware</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_20/ic_prog.html">Programs Using Input Capture Functions</A> </LI></UL></LI></UL> <P></P> <LI> <P>Monday 2/23 <UL> <LI>Output Compare Function of the HC11 <BR>(Huang Sections 7.6-7.7, <BR>Motorola Reference Manual, Section 10.4) <LI>Using Output Compare to Generate a Square Wave <LI>Using TOC1 to Generate a Pulse Width Modulated Signal <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_23/output_compare.gif">The HC11 Output Compare Hardware</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_23/toc2_sw.gif">Using TOC2 to generate a square wave</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_23/toc1.gif">Using TOC1 to control OC2-5</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_23/pwm.html">Using TOC1 and TOC2 to generate a pulse width modulated signal</A> </LI></UL></LI></UL> <P></P> <LI> <P>Wednesday 2/25 <UL> <LI>Using BUFFALO routines to interact with the terminal <LI>Introduction to Microprocessor Address, Data and Control Busses <BR>(Huang, Sections 4.1-4.3, 4.6; <BR>Motorola Reference Manual, Section 2.6) <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_25/buff_print.html">Using BUFFALO routines to interact with the terminal</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_25/bus.gif">Address and data bus contents for a simple program</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_25/output_e.gif">A simplified output port for the HC11</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_25/input_e.gif">A simplified input port for the HC11</A> </LI></UL></LI></UL> <P></P> <LI> <P>Friday 2/27 <UL> <LI>The HC11 in Expanded Mode <BR>(Huang, Chapter 4; <BR>Motorola Reference Manual, Sections 7.3.2 - 7.3.4; <BR>Motorola Technical Data Manual, Section 4.1.2) <UL> <LI>Port B and Port C in Expanded Mode <LI>Address Latching and Decoding </LI></UL> <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_27/modes2.gif">Mode selection for the HC11</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_27/tristate.gif">Simplified description of tristate logic</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_27/bus_time.gif">Simplified bus timing for the HC11</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_27/demux.gif">Address/Data demultiplexing for the HC11</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/feb_27/mem_map.gif">Memory map for the MC68HC11E9</A> </LI></UL></LI></UL> <P></P> <LI> <P>Monday 3/2 <UL> <LI>More on the HC11 in Expanded Mode <BR>(Motorola Reference Manual, Sections 7.3.2 - 7.3.4; Motorola Technical Data Manual, Section 4.1.2, Appendix A) <UL> <LI>A Simple Input Port <LI>A Simple Output Port <LI>Address Decoding <LI>Timing Requirements for I/O Ports </LI></UL> <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/mar_2/output.gif">A simple output port at 0xB000 for the HC11</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/mar_2/input.gif">A simple input port at 0xB000 for the HC11</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/mar_2/timing.gif">Bus timing for the HC11</A> </LI></UL></LI></UL> <P></P> <LI> <P>Wednesday 3/04 <UL> <LI>Review for Exam <LI>Discussion of memory and port expansion of <A href="http://www.ee.nmt.edu/~rison/ee308_spr98/labs/lab08/lab08.html">Lab 8</A>. <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/mar_4/timers.html">Summary of HC11 Timer Subsystem</A> </LI></UL></LI></UL> <P></P> <LI> <P>Friday 3/06 <UL> <LI>Exam 2 </LI></UL> <P></P> <LI> <P>Monday 3/16 <UL> <LI>Memory decoding using a 74HC138 decoder chip. <BR>(Huang, Section 4.6.2) <LI>Simple I/O Ports <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/mar_16/74138_mem_decode.gif">Using a 74HC138 for memory decoding</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/mar_16/simple_io.gif">Simple input and output ports using standard 74HC logic chips </A></LI></UL></LI></UL> <P></P> <LI> <P>Wednesday 3/18 <UL> <LI>Motorola MC6821 Peripheral Interface Adapter <BR>(Motorola MC6821 Data Sheet) <BR>(Huang, Section 6.12) <UL> <LI>6821 Ports A and B <LI>6821 Registers -- Data, Data Direction and Control <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/mar_18/new_mem.gif">Memory map with expanded memory and PIA</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/mar_18/pia_regs_access.gif">How to access the 6821 Data Direction Registers and Data Registers</A> </LI></UL></LI></UL> <LI>Address and Data Bus Timing <BR>(Huang, Section 4.7) <BR>(Motorola M68HC11 Reference Manual, Sections 7.3.2.2 & 7.3.4.2) <BR>(Motorola M68HC11 E Series Technical Data Manual, Table A-7, Figure A-14) <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/mar_18/read_write_timing.gif">Critical bus times</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/mar_18/input_port_timing.gif">Bus timing for a simple input port</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/mar_18/output_port_timing.gif">Bus timing for a simple output port</A> </LI></UL></LI></UL> <P></P> <LI> <P>Friday 3/20 <UL> <LI>More on memory decoding and bus timing. <LI>Introduction to parallel port handshaking. </LI></UL> <P></P> <LI> <P>Monday 3/23 <UL> <LI>More on the Motorola MC6821 Peripheral Interface Adapter <BR>(Motorola MC6821 Data Sheet) <UL> <LI>Control Lines CA1, CA2, CB1 and CB2 <LI>Handshaking with the Control Lines </LI></UL> <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/mar_23/6821_control.html">Setup of control lines CA1, CA2, CB1 and CB2 for the 6821</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/mar_23/6821_handshake_pulse.gif">Pulse mode handshaking for the 6821</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/mar_23/6821_handshake_interlock.gif">Interlock mode handshaking for the 6821</A> </LI></UL></LI></UL> <P></P> <LI> <P>Wednesday 3/25 <UL> <LI>More on the Motorola MC6821 Peripheral Interface Adapter <BR>(Motorola MC6821 Data Sheet) <UL> <LI>More on Handshaking with the Control Lines <LI>Introduction to Interrupts with the 6821 </LI></UL> <LI>Figure <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/mar_25/hand.html">Program for parallel communications using interrupts on the MC6821</A> </LI></UL></LI></UL> <P></P> <LI> <P>Friday 3/27 <UL> <LI>Serial Communication with the HC11 - The Serial Peripheral Interface (SPI) <BR>(Motorola Reference Manual, Chapter 8) <BR>(Huang, Sections 9.1-9.3) <UL> <LI>Introduction to Synchronous Serial Communications </LI></UL> <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/mar_27/async_serial.gif">Asynchronous serial data transfers on the HC11</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/mar_27/sync_serial_2.gif">Synchronous serial data transfers on the HC11</A> </LI></UL></LI></UL> <P></P> <LI> <P>Monday 3/31 <UL> <LI>More on the Serial Peripheral Interface: The SPI Control, Status and Data Registers <BR>(Motorola Reference Manual, Chapter 8) <BR>(Huang, Sections 9.4-9.5) <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/mar_30/sync_serial_clock.gif">SPI Clock Setup</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/mar_30/sync_serial_setup.gif">Communications between two HC11's using the SPI</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/mar_30/sync_serial_MOSI.html">Simple programs to send data from Master HC11 to Slave HC11 using the SPI</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/mar_30/sync_serial_MISO.html">Simple programs to send data from Slave HC11 to Master HC11 using the SPI</A> </LI></UL></LI></UL> <P></P> <LI> <P>Wednesday 4/01 <UL> <LI>The Motorola MC68HC68T1 Real Time Clock <BR>(Motorola MC68HC68T1 Data Sheet) <BR>(Huang, Section 9.11) <UL> <LI>Registers in the Real Time Clock <LI>Setting and Reading the Time from the Real Time Clock <LI>Using Interrupts on the RTC <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_1/rtc_regs.gif">Registers in the 68HC68T1 RTC</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_1/set_read_rtc.html">Simple program to read from and write to the RTC</A> </LI></UL></LI></UL></LI></UL> <P></P> <LI> <P>Friday 4/03 <UL> <LI>Asynchronous Serial Communications and the HC11 SCI <BR>(Motorola Reference Manual, Section 9; Huang, Sections 8.1-8.5) <LI>Basics of Asynchronous Serial Communications <LI>The HC11 SCI Subsystem <UL> <LI>SCI Registers, Flags and Interrupts <LI>Programming the SCI </LI></UL> <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_3/async_serial.gif">Asynchronous Serial Overview</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_3/async_noise_detect.gif">Noise Detection on the SCI Subsystem</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_3/async_regs.gif">SCI Registers</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_3/async_hardware.gif">Double-buffering of TxD and RxD</A> </LI></UL></LI></UL> <P></P> <LI> <P>Monday 4/06 <UL> <LI>The HC11 A/D Converter Subsystem <BR>(Motorola Reference Manual, Section 12; Huang, Chapter 10) <LI>D/A Converters <LI>Slope A/D Converters <LI>Successive Approximation A/D Converters <LI>Successive Approximation State Machine (see flow chart in Figure~10.3 of Huang) <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_6/opamp.gif">Amplifier using an Op Amp</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_6/da.gif">Simple D/A Converter using Op Amps</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_6/slope_ad.gif">Ramp A/D Converter using a D/A Converter</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_6/sa_ad.gif">Successive Approximation A/D Converter using a D/A Converter</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_6/sa_sm.gif">State Machine for Successive Approximation Register</A> </LI></UL></LI></UL> <P></P> <LI> <P>Wednesday 4/08 <UL> <LI>Review for the exam on Friday </LI></UL> <P></P> <LI> <P>Monday 4/13 <UL> <LI>Exam 3 </LI></UL> <P></P> <LI> <P>Wednesday 4/15 <UL> <LI>More on the HC11 A/D converter <BR>(Motorola Reference Manual, Section 12) <LI>Programming the A/D registers: OPTION, ADCTL <LI>Interrpreting the results: ADR1-4 <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_15/ad_regs.gif">HC11 Registers Affecting A/D Converter</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_15/ad_refs.gif">Reference Voltages and Calculating V<SUB>in</SUB> from ADR1-4 </A></LI></UL></LI></UL> <P></P> <LI> <P>Friday 4/17 <UL> <LI>Introduction to <A href="http://www.ee.nmt.edu/~rison/ee308_spr98/labs/lab13/lab13.html">Lab 13, Motor Control with the HC11</A> <UL> <LI>Speed control with pulse width modulation. <LI>Measuring motor speed with optical encoder and Input Capture interrupt. <LI>Use of Schmidtt trigger on optical encoder output. <LI>Setting desired speed with potentiometer and A/D converter. </LI></UL></LI></UL> <P></P> <LI> <P>Monday 4/20 <UL> <LI>Further discussion of <A href="http://www.ee.nmt.edu/~rison/ee308_spr98/labs/lab13/lab13.html">Lab 13</A> <UL> <LI>Use of floating point numbers with the ICC11 C compiler. <LI>Use of <CODE>printf()</CODE> with the ICC11 C compiler. <LI>Control algorithm -- proportional feedback control. </LI></UL> <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_20/final.html">Outline of program for Lab 13</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_20/use_printf.html">Use of <CODE>printf()</CODE> with the ICC11 compiler</A> </LI></UL></LI></UL> <P></P> <LI> <P>Wednesday 4/22 <UL> <LI>Guide for programming an EPROM HC11 in the EVBU. <LI>Figure <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/labs/lab13/eprom.html">Programming your EPROM HC11</A> </LI></UL></LI></UL> <P></P> <LI> <P>Friday 4/24 <UL> <LI>Final details of the 68HC11 <UL> <LI>The WAI instruction <LI>The STOP instruction and the S bit of the Condition Code Register <LI>The Computer Operating Properly interrupt <LI>The Clock Monitor interrupt <LI>The Pulse Accumulator <LI></LI></UL> <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_24/wait_c.html">Program using WAI instruction</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_24/rain_gage.gif">Sample circuit using STOP instruction: Rain Gauge</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_24/stop_c.html">Program fragment for rain gauge logger using STOP instruction</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_24/cop_c.html">Program fragment using Computer Operating Properly interrupt </A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_24/cme_c.html">Program fragment using Clock Monitor interrupt </A></LI></UL></LI></UL> <P></P> <LI> <P>Monday 4/27 <UL> <LI>More on C Programming <UL> <LI>Defining register bits in header files <LI>Writing and debugging often-used routines to set up and use HC11 hardware <LI>Adding functions to a library with the ICC11 C compiler <LI>Examples using the SPI and MC68HC68T1 Real Time Clock </LI></UL> <LI>Figures <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_27/spi_h.html">Header file for use with the Serial Peripheral Interface </A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_27/spi_c.html">Functions for using the Serial Peripheral Interface </A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_27/rtc_h.html">Header file for use with the Real Time Clock </A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_27/rtc_c.html">Functions for using the Real Time Clock </A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_27/rtc_test_c.html">Sample program to use SPI and RTC functions </A></LI></UL></LI></UL> <P></P> <LI> <P>Wednesday 4/29 <UL> <LI>Review for Final Exam <LI>Figure <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/apr_29/review.html">Review for Final Exam</A> </LI></UL></LI></UL> <P></P> <LI> <P>Friday 5/01 <UL> <LI>Review of Interrupts, Masks and Flags <LI>Figure <UL> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/may_1/Interrupts_1.html">HC11 Internal Interruts</A> <LI><A href="http://www.ee.nmt.edu/~rison/ee308_spr98/supp/may_1/Interrupts_2.html">Interrupts from EVBU Peripherals</A> </LI></UL></LI></UL></LI></OL><BR> <HR> <P> <ADDRESS><I><A href="http://www.ee.nmt.edu/~rison/homepage.html">Bill Rison</A>, <<A href="mailto:rison@ee.nmt.edu">mailto:rison@ee.nmt.edu</A>> </I></ADDRESS> <SCRIPT language=javascript>postamble();</SCRIPT> </BODY></HTML>