File "EE 308 Lecture Outline.htm"
Full Path: /home/analogde/www/68hc11/EE 308 Lecture Outline.htm
File size: 29.69 KB
MIME-type: text/html
Charset: utf-8
<!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>