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 &amp; 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>, 
&lt;<A href="mailto:rison@ee.nmt.edu">mailto:rison@ee.nmt.edu</A>&gt; 
</I></ADDRESS>
<SCRIPT language=javascript>postamble();</SCRIPT>
</BODY></HTML>