Difference between revisions of "CSC270 Weekly Schedule 2016"

From dftwiki3
Jump to: navigation, search
( )
( )
 
(55 intermediate revisions by the same user not shown)
Line 165: Line 165:
  
 
|
 
|
* [[CSC270 Homework 5 2016| Homework 5]]
+
* [[CSC270 Homework 5 2016| Homework 5]] and [[CSC270 Homework 5 Solution 2016|Solutions]]
 
* [[CSC270 Lab 5 2016| Lab 5]]  
 
* [[CSC270 Lab 5 2016| Lab 5]]  
 
|
 
|
Line 257: Line 257:
 
* '''Tuesday/Thursday'''
 
* '''Tuesday/Thursday'''
 
[[Image:6811Motorola.jpg | 200px | right]]
 
[[Image:6811Motorola.jpg | 200px | right]]
:*The 6811 Processor: references
+
* Introduction to the Motorola 6800 Processor
:** The official Motorola [http://cs.smith.edu/~dthiebaut/classes/270/6811/68hc11a8.pdf 68HC11A8 Data Sheet]. Fairly cryptic...
+
* [[CSC270 Assembling 6800 Assembly Programs on OSX/Windows|Assembling 6800 assembly program on your laptop]]
:** A Motorola [[Media:6811Manual.pdf | 6811 Manual]]. It is a nicely written refresher on many concepts of assembly language applied to the 6811.
+
* [[Media:6811CycleByCycle.pdf| Cycle-by-Cycle Instruction Execution (pdf)]]
:*** Check Section 3.2 on addressing modes (inherent, direct, extended, indexed, relative).
+
* [http://www.science.smith.edu/dftwiki/media/CSC270_2016Notes08.pdf Class Notes]
:*** Get a refresher for the different instruction types (arithmetic, shifts, control, etc) in Section 3.4.
 
:*** The condition code register is covered in Section 3.5. Skip Section 4.
 
:** [http://cs.smith.edu/~dthiebaut/classes/270/6811/68hc11ref-2002.pdf M68HC11 Technical Reference], from Motorola.
 
:***Section 6.5 shows the instructions in logical groups.
 
:* [http://cs.smith.edu/~dthiebaut/classes/270/6811/68hc11pocket.pdf M68HC11 Pocket Reference].
 
:**Very useful, on Page 15, a list of all the opcodes supported by the 6811, in numerical (hex) order.
 
:* [http://cs.smith.edu/~dthiebaut/classes/270/6811/68hc11a8ref.pdf 68HC11A8 Technical Reference]: a hardware & engineering description. of the 6811, its ports, and how it operates.
 
:*** See Section 10 for a cycle-by-cycle description of the execution of each instruction.
 
:*** See Appendix A, Figure A-14 for the timing diagram of a typical (multiplexed expansion) memory access.
 
:* [http://www.ele.uri.edu/Courses/ele205/6811-Instructions/index.html 6811 Instruction Set], with hexadecimal opcodes. A reverse map, from hex to instructions can be found [http://home.earthlink.net/~tdickens/68hc11/68hc11_opcode_map.html here.]
 
:* [[Media:CSC270_Assembly_Instructions.pdf | 2-Page List]] of all the 6811 Instructions
 
:* [http://www.aspisys.com/asm11.htm Software] for the 6811
 
:* Concentration on Assembly Language
 
:* [[Image:CSC270_6811_Listing_Format.png | 200 px | right ]] Listing format
 
:** opcodes,  mnemonics, directives, columnar format
 
:* The instructions
 
:* Addressing Modes: inherent, immediate, direct, extended, indexed, relative
 
 
|
 
|
*  
+
* [[CSC270 Lab 7 2016| Lab 7]]
 +
* [[CSC270 Homework 7 2016 | Homework 7]] and [[CSC270 Homework 7 Solution 2016 | solution]]
 
|
 
|
*Read the [[Media:6811Manual.pdf |6811 Manual ]] for this week.
+
* Read this [[CSC270_Introduction_to_the_6811 | introductory page]] for this week.
*[http://cs.smith.edu/~dthiebaut/classes/231_0708/crashcourseCrash course] on Assembly Language
+
* Read this [https://www.clear.rice.edu/elec201/Book/6811_asm.html Introduction to 6811]] programming from Rice U.
 
+
* Read the [[Media:6811Manual.pdf |6811 Manual ]] for this week. 
 
|}
 
|}
  
Line 289: Line 273:
 
----
 
----
 
{| style="width:100%" border="0"
 
{| style="width:100%" border="0"
|width="45%"|'''Week 9'''  Mar 22, 24
+
|width="45%"|'''Week 9'''  Mar 29, 31
 
|width="20%"| ''' '''  
 
|width="20%"| ''' '''  
 
|width="25%"| ''' '''  
 
|width="25%"| ''' '''  
Line 303: Line 287:
 
|
 
|
 
* '''TuesdayThursday'''
 
* '''TuesdayThursday'''
::* Disassembling code
+
::* Timing diagram of an endless loop: E, R/W, Address Bus, Data Bus, LIR
::* Addressing modes
+
::* 6811 and ''address decoding'' in the context of Memory
::* 6811 Address, Data, and Control busses
+
::* Memory mapped I/O: A 1-bit output port
::* Timing of the busses
+
:::* Design
::* Condition code: HINZVC
+
:::* Programming
::* Using an oscilloscope
+
::* 3-bit output port
 +
:::* Design
 +
:::* Programming
 +
::* [[Image:6811MemoryMappedIO.png|150px]] [[Image:6811ROMServices.png|150px]]
 +
::* [http://www.science.smith.edu/dftwiki/media/CSC270_2016Notes09.pdf Class Notes]
 
|
 
|
*  
+
* [[CSC270 Lab 8 2016| Lab 8]]
 +
* [[CSC270 Homework 8 2016| Homework 8]] and [[CSC270 Homework 8 Solution 2016| solution]]
 
|
 
|
 
*  
 
*  
Line 318: Line 307:
 
----
 
----
 
{| style="width:100%" border="0"
 
{| style="width:100%" border="0"
|width="45%"|'''Week 10'''  Mar 29, 31
+
|width="45%"|'''Week 10'''  Apr 5, 7
 
|width="20%"| ''' '''  
 
|width="20%"| ''' '''  
 
|width="25%"| ''' '''  
 
|width="25%"| ''' '''  
Line 326: Line 315:
 
{| class="mw-collapsible " style="width:100%" border="1"
 
{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
|width="60%"| '''Topics''': Condition codes, displacement computation
+
|width="60%"| '''Topics''': 6811 Input Port
 
|width="15%"| '''Lab/Hw'''
 
|width="15%"| '''Lab/Hw'''
 
|width="25%"| '''Reading'''  
 
|width="25%"| '''Reading'''  
Line 332: Line 321:
 
|
 
|
 
* '''Tuesday/Thursday'''
 
* '''Tuesday/Thursday'''
::* Condition codes
+
::* Exercises: Designing a 3-bit output port for the 6811
::* Computing the displacement of instructions in hex
+
::* Designing an Input Port for the 6811.
 +
::* Good rules of I/O Design
 +
::* Programming an I/O port (Input + Output)
 +
::* [http://www.science.smith.edu/dftwiki/media/CSC270_2016Notes10.pdf Class Notes]
 
|
 
|
*  
+
* [[CSC270 Lab 9 2016 |  Lab 9]]
 +
* [[CSC270 Homework 9 2016 | Homework 9]] and [[CSC270 Homework 9 Solution 2016| Solution]]
 
|
 
|
*  
+
* [https://en.wikipedia.org/wiki/Memory-mapped_I/O Memory-Mapped I/O] in Wikipedia.
 
|}
 
|}
  
Line 343: Line 336:
 
----
 
----
 
{| style="width:100%" border="0"
 
{| style="width:100%" border="0"
|width="45%"|'''Week 11'''  Aprl 5, 7
+
|width="45%"|'''Week 11'''  Apr 12, 14
 
|width="20%"| ''' '''  
 
|width="20%"| ''' '''  
 
|width="25%"| ''' '''  
 
|width="25%"| ''' '''  
Line 357: Line 350:
 
|
 
|
 
* '''Tuesday/Thursday'''
 
* '''Tuesday/Thursday'''
::* Memory-Mapped I/O
+
::* Tuesday: Continuation of Lab 9
::* Designing an Input Port
+
::* Reviewing the last homework.  A very fast way to send 100 bits!
::* Hardware + Software Driver = Port
+
::* Learning C
 +
::* [http://www.science.smith.edu/dftwiki/media/CSC270_2016Notes11.pdf Class Notes]
 +
 
 
|
 
|
*  
+
* [[CSC270 Lab 10 2016| Lab 10]]
 +
* [[CSC270 Hw 10 2016| Homework 10]] and [[CSC270 HW 10 Solution 2016| Solution program]]
 
|
 
|
 
*  
 
*  
Line 369: Line 365:
 
----
 
----
 
{| style="width:100%" border="0"
 
{| style="width:100%" border="0"
|width="45%"|'''Week 12'''  Apr 12, 14
+
|width="45%"|'''Week 12'''  Apr 19, 21
 
|width="20%"| ''' '''  
 
|width="20%"| ''' '''  
 
|width="25%"| ''' '''  
 
|width="25%"| ''' '''  
Line 377: Line 373:
 
{| class="mw-collapsible " style="width:100%" border="1"
 
{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
|width="60%"| '''Topics''': Output Port
+
|width="60%"| '''Topics''': C & Arduino
 
|width="15%"| '''Lab/Hw'''
 
|width="15%"| '''Lab/Hw'''
 
|width="25%"| '''Reading'''  
 
|width="25%"| '''Reading'''  
Line 383: Line 379:
 
|
 
|
 
* '''TuesdayThursday'''
 
* '''TuesdayThursday'''
::* Designing an Output Port
+
::* Learning C (cont'd)
::* Memory-Mapped vs. Dedicated I/O
+
::* Introduction to the  Arduino
 +
::* [http://www.science.smith.edu/dftwiki/media/CSC270_2016Notes12.pdf Class Notes]
 +
::* [[Comparing_Different_Computers_with_N_Queens_Program| N-Queens on the Arduino]]
 +
<center><videoflashright type="vimeo">18539129</videoflashright></center>
 +
 
 
|
 
|
*  
+
* [[CSC270 Lab 11 2016 | Lab 11]]
 +
* [[CSC270 Homework 11 2016| Homework 11]]
 
|
 
|
 
*  
 
*  
Line 394: Line 395:
 
----
 
----
 
{| style="width:100%" border="0"
 
{| style="width:100%" border="0"
|width="45%"|'''Week 13'''  Apr. 19, 21
+
|width="45%"|'''Week 13'''  Apr. 26, 28
 
|width="20%"| '''&nbsp;'''  
 
|width="20%"| '''&nbsp;'''  
 
|width="25%"| '''&nbsp;'''  
 
|width="25%"| '''&nbsp;'''  
Line 402: Line 403:
 
{| class="mw-collapsible " style="width:100%" border="1"
 
{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
|width="60%"| '''Topics''': The Arduino Microcrontroller
+
|width="60%"| '''Topics''': TBA
 
|width="15%"| '''Lab/Hw'''
 
|width="15%"| '''Lab/Hw'''
 
|width="25%"| '''Reading'''  
 
|width="25%"| '''Reading'''  
Line 408: Line 409:
 
|
 
|
 
* '''TuesdayThursday'''
 
* '''TuesdayThursday'''
::* Introduction to the Arduino
+
::* Use the Arduino to "express" a computer algorithm.
::* Programming in C
+
:::* Step 1: Review algorithms that could be fun to express
|
+
:::* Step 2: Review sensors and output devices
*
+
:::* Step 3: Watch some videos below (mostly "visual" demos), some sound
 +
:::* Step 4: Formulate Project #1
 +
:::* Step 5: Start on Project #1
 +
----
 +
::* For inspiration:
 +
::* <videoflash>es2T6KY45cA</videoflash>
 +
::* <videoflash>kPRA0W1kECg</videoflash>
 +
::* <videoflash>8oJS1BMKE64</videoflash>
 +
::* <videoflash>WPJHJz5bvaw</videoflash>
 +
:::(More info on above video: [http://earthzine.org/2013/07/23/sonification-data-like-youve-never-heard-before/ http://earthzine.org/2013/07/23/]
 +
::* [https://bost.ocks.org/mike/algorithms/ Visualizing Algorithms]
 +
::* <videoflash type="vimeo">42353230</videoflash>
 +
::* <videoflash>DzOIYzWLaew</videoflash>
 +
<br />
 +
<br />
 +
----
 +
<br />
 +
:* [[CSC270_Final_Exam_2016 | Final Exam]]
 +
<br />
 +
----
 +
<br />
 +
<br />
 
|
 
|
*  
+
* No lab or homework
 +
|
 +
* No reading
 
|}
 
|}
  
 
====&nbsp;====
 
====&nbsp;====
----
+
 
{| style="width:100%" border="0"
 
|width="45%"|'''Week 14'''  Apr 26, 28
 
|width="20%"| '''&nbsp;'''
 
|width="25%"| '''&nbsp;'''
 
|-
 
|}
 
<br />
 
{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|width="60%"| '''Topics''': Arduino and custom I/O Devices
 
|width="15%"| '''Lab/Hw'''
 
|width="25%"| '''Reading'''
 
|-valign="top"
 
|
 
* '''Tuesday/Thursday'''
 
::* Adding I/O Devices & Sensors to the Arduino.
 
|
 
*
 
|
 
*
 
|}
 
 
<br />
 
<br />
 
<br />
 
<br />
Line 477: Line 480:
 
<br />
 
<br />
 
If you need to refer to the data sheets of various chips during the lab, you can click on any of the links below:
 
If you need to refer to the data sheets of various chips during the lab, you can click on any of the links below:
If the datasheets haven't been printed yet, print a set from these links: [http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls00rev5.pdf 74LS00]
+
If the datasheets haven't been printed yet, print a set from these links: [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls00rev5.pdf 74LS00]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls01rev5.pdf 74LS01]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls01rev5.pdf 74LS01]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls02rev5.pdf 74LS02]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls02rev5.pdf 74LS02]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls03rev5.pdf 74LS03]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls03rev5.pdf 74LS03]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls04rev5.pdf 74LS04]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls04rev5.pdf 74LS04]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls05rev5.pdf 74LS05]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls05rev5.pdf 74LS05]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls08rev5.pdf 74LS08]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls08rev5.pdf 74LS08]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls09rev5.pdf 74LS09]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls09rev5.pdf 74LS09]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls10rev5.pdf 74LS10]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls10rev5.pdf 74LS10]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls12rev5.pdf 74LS12]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls12rev5.pdf 74LS12]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls13rev5.pdf 74LS13]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls13rev5.pdf 74LS13]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls15rev5.pdf 74LS15]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls15rev5.pdf 74LS15]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls20rev5.pdf 74LS20]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls20rev5.pdf 74LS20]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls21rev5.pdf 74LS21]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls21rev5.pdf 74LS21]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls22rev5.pdf 74LS22]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls22rev5.pdf 74LS22]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls26rev5.pdf 74LS26]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls26rev5.pdf 74LS26]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls27rev5.pdf 74LS27]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls27rev5.pdf 74LS27]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls28rev5.pdf 74LS28]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls28rev5.pdf 74LS28]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls30rev5.pdf 74LS30]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls30rev5.pdf 74LS30]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls32rev5.pdf 74LS32]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls32rev5.pdf 74LS32]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls33rev5.pdf 74LS33]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls33rev5.pdf 74LS33]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls37rev5.pdf 74LS37]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls37rev5.pdf 74LS37]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls38rev5.pdf 74LS38]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls38rev5.pdf 74LS38]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls40rev5.pdf 74LS40]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls40rev5.pdf 74LS40]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls42rev5.pdf 74LS42]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls42rev5.pdf 74LS42]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls47rev5.pdf 74LS47]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls47rev5.pdf 74LS47]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls48rev5.pdf 74LS48]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls48rev5.pdf 74LS48]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls51rev5.pdf 74LS51]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls51rev5.pdf 74LS51]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls54rev5.pdf 74LS54]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls54rev5.pdf 74LS54]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls55rev5.pdf 74LS55]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls55rev5.pdf 74LS55]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls74arev5.pdf 74LS74]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls74arev5.pdf 74LS74]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls75rev5.pdf 74LS75]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls75rev5.pdf 74LS75]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls76arev5.pdf 74LS76]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls76arev5.pdf 74LS76]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls83arev5.pdf 74LS83]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls83arev5.pdf 74LS83]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls85rev5.pdf 74LS85]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls85rev5.pdf 74LS85]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls86rev5.pdf 74LS86]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls86rev5.pdf 74LS86]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls90rev5.pdf 74LS90]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls90rev5.pdf 74LS90]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls95brev5.pdf 74LS9]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls95brev5.pdf 74LS9]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls138rev5.pdf 74LS13]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls138rev5.pdf 74LS13]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/CD74hct240.pdf 74HCT24]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/CD74hct240.pdf 74HCT24]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/sdls145.pdf 74LS24]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sdls145.pdf 74LS24]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/CD74hct244.pdf 74HCT24]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/CD74hct244.pdf 74HCT24]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/DM74LS259.pdf 74LS25]
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/DM74LS259.pdf 74LS25]
[http://cs.smith.edu/~thiebaut/classes/270/datasheets/CD74hct541.pdf 74HCT54].
+
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/CD74hct541.pdf 74HCT54].
 
<br />
 
<br />
 +
 +
==6800 Lab Kit Reference Manual==
 +
<br />
 +
* [http://cs.smith.edu/~dthiebaut/classes/270/ETW3800_W6811CPU.pdf Manual (pdf)]
 +
<br />
 +
==6800 Microprocessor References==
 +
<br />
 +
:* The official Motorola [http://cs.smith.edu/~dthiebaut/classes/270/6811/68hc11a8.pdf 68HC11A8 Data Sheet]. Fairly cryptic...
 +
:* A Motorola [[Media:6811Manual.pdf | 6811 Manual]]. It is a nicely written refresher on many concepts of assembly language applied to the 6811.
 +
:** Check Section 3.2 on addressing modes (inherent, direct, extended, indexed, relative).
 +
:** Get a refresher for the different instruction types (arithmetic, shifts, control, etc) in Section 3.4.
 +
:** The condition code register is covered in Section 3.5. Skip Section 4.
 +
:* [http://cs.smith.edu/~dthiebaut/classes/270/6811/68hc11ref-2002.pdf M68HC11 Technical Reference], from Motorola.
 +
:**Section 6.5 shows the instructions in logical groups.
 +
:* [http://cs.smith.edu/~dthiebaut/classes/270/6811/68hc11pocket.pdf M68HC11 Pocket Reference].
 +
:**Very useful, on Page 15, a list of all the opcodes supported by the 6811, in numerical (hex) order.
 +
:* [http://cs.smith.edu/~dthiebaut/classes/270/6811/68hc11a8ref.pdf 68HC11A8 Technical Reference]: a hardware & engineering description. of the 6811, its ports, and how it operates.
 +
:** See Section 10 for a cycle-by-cycle description of the execution of each instruction.
 +
:** See Appendix A, Figure A-14 for the timing diagram of a typical (multiplexed expansion) memory access.
 +
:* [http://www.ele.uri.edu/Courses/ele205/6811-Instructions/index.html 6811 Instruction Set], with hexadecimal opcodes. A reverse map, from hex to instructions can be found [http://home.earthlink.net/~tdickens/68hc11/68hc11_opcode_map.html here.]
 +
:* [[Media:CSC270_Assembly_Instructions.pdf | 2-Page List]] of all the 6811 Instructions
 +
:* [http://www.aspisys.com/asm11.htm Software] for the 6811
 +
:* [[Image:CSC270_6811_Listing_Format.png | 200 px | right ]] Listing format
 +
<br />
 +
 
==Lab Reports==
 
==Lab Reports==
 
<br />
 
<br />
Line 533: Line 561:
 
<br />
 
<br />
 
* [[CSC270 GenerateTruthTable.py | A Python program]] that generates a truth table.
 
* [[CSC270 GenerateTruthTable.py | A Python program]] that generates a truth table.
 +
<br />
 +
==Arduino References==
 +
<br />
 +
* Online C Compiler: [http://www.tutorialspoint.com/compile_c_online.php http://www.tutorialspoint.com/compile_c_online.php]
 +
* Online [http://www.ime.usp.br/~pf/Kernighan-Ritchie/C-Programming-Ebook.pdf Kernighan and Ritchie's C Reference]
 +
<br /><br /><br /><br />
 +
<br /><br /><br /><br />
 +
[[Category:CSC270]][[Category:6811]][[Category:Arduino]]

Latest revision as of 12:31, 28 April 2016

--D. Thiebaut (talk) 11:18, 26 August 2015 (EDT)


Main Page | Resources | Piazza




...



 


Week 1 Jan 26, 27    


Topics: Introduction, Boolean Functions, First Lab. Lab/Hw Reading
  • Tuesday/Thursday
  • Read Chapter 1 in Mano. This should be a review for everybody. If it is not, make sure you spend time learning this material. It is essential knowledge for every computer-scientist!
  • Start Reading Chapter 2 in Mano. We will cover its contents this week and part of next week.

 


Week 2 Feb 2, 4    


Topics: Maxterms, Nand, Nor, Karnaugh Maps, Decoders. Lab/Hw Reading
  • Tuesday/Thursday
  • MaxTerms
  • Nands & Nors
  • Karnaugh Maps
  • Intro. to Decoders
  • Class Notes
  • Read Chapter 3 in Mano. Skip Section 3.5 for right now. Also skip 3.4, 3.7, and 3.9.

 


Week 3 Feb 9, 11    


Topics: Transistors, Java/Python simulation, Karnaugh Maps. Lab/Hw Reading
  • Tuesday/Thursday
  • Introduction to Electronics
  • Ohm's Law
  • Electronic Circuits
  • Resistors, Diodes, & Transistors
  • Simple TTL Circuits
  • Class Notes

2N2222.png

  • There isn't anything on basic electronics in Mano. You will have to rely on the Web for second source material. The 101science.com site has some good coverage of electricity and electronics, if you want to review what we do in class, or learn more.

 


Week 4 Feb 16, 18    


Topics: Flipflops, oscilloscope Lab/Hw Reading
  • Tuesday/Thursday
VideoLogo.png   VideoLogo.png
  • Decoders and Multiplexers are covered in Sections 4.9 and 4.11 in Mano.
  • The flipflops (latches) are covered in Sections 5.1 to 5.4 of Mano. You can stop at the JK flipflop (not covered this week).

 


Week 5 Feb 23, 25    


Topics: Finite State Machines, Moore, Mealy, Python simulator Lab/Hw Reading
  • Tuesday/Thursday
  • The flipflops (latches) are covered in Sections 5.1 to 5.4 of Mano. You can stop at the JK flipflop (not covered this week).

 


Week 6 Mar 1, 3    


Topics: JK Flipflop Lab/Hw Reading
  • Tuesday/Thursday
  • Sequencers with input signals
  • Python simulator
  • JK Flipflop
  • JK sequencers without external signals
  • JK sequencers with external signals
  • Read Chapter 5, starting with the Other Flip-flops on Page 200.

 


Week 7 Mar 8, 10    


Topics: ROM-based sequencers Lab/Hw Reading
  • Tuesday/Thursday
  • Continuation of JK flip-flops and Moore sequencers
  • Rom-based sequencers
  • Midterm Exam
  • Class Notes
  • No homework or lab reports this week... Just a midterm
  • Good reading in Mano: Section 6.3 on particular sequential circuits made with flip-flops. Of interest: registers, counters, and shift registers. This section will NOT be on the midterm, but it's good reading nonetheless...



Spring Break



 


Week 8 Mar 22, 24    


Topics: Introduction to the 6811 Microprocessor. 6800 assembly. Lab/Hw Reading
  • Tuesday/Thursday
6811Motorola.jpg

 


Week 9 Mar 29, 31    


Topics: 6811 disassembly, Addressing modes, bus timing Lab/Hw Reading
  • TuesdayThursday
  • Timing diagram of an endless loop: E, R/W, Address Bus, Data Bus, LIR
  • 6811 and address decoding in the context of Memory
  • Memory mapped I/O: A 1-bit output port
  • Design
  • Programming
  • 3-bit output port
  • Design
  • Programming

 


Week 10 Apr 5, 7    


Topics: 6811 Input Port Lab/Hw Reading
  • Tuesday/Thursday
  • Exercises: Designing a 3-bit output port for the 6811
  • Designing an Input Port for the 6811.
  • Good rules of I/O Design
  • Programming an I/O port (Input + Output)
  • Class Notes

 


Week 11 Apr 12, 14    


Topics: Memory-Mappe I/O, Input Port Lab/Hw Reading
  • Tuesday/Thursday
  • Tuesday: Continuation of Lab 9
  • Reviewing the last homework. A very fast way to send 100 bits!
  • Learning C
  • Class Notes

 


Week 12 Apr 19, 21    


Topics: C & Arduino Lab/Hw Reading
  • TuesdayThursday

 


Week 13 Apr. 26, 28    


Topics: TBA Lab/Hw Reading
  • TuesdayThursday
  • Use the Arduino to "express" a computer algorithm.
  • Step 1: Review algorithms that could be fun to express
  • Step 2: Review sensors and output devices
  • Step 3: Watch some videos below (mostly "visual" demos), some sound
  • Step 4: Formulate Project #1
  • Step 5: Start on Project #1

  • For inspiration:
(More info on above video: http://earthzine.org/2013/07/23/









  • No lab or homework
  • No reading

 



Resources & Misc. Information


Mano5thEdition.png

Textbooks


  • Mano, Digital Design, 5th Edition. Check the resource section on Moodle for more information.












Logic-Circuit Editors


Pspice9.gif


Academo.jpg
Logisim.png
CircuitLab.jpg




Data Sheets


If you need to refer to the data sheets of various chips during the lab, you can click on any of the links below: If the datasheets haven't been printed yet, print a set from these links: 74LS00 74LS01 74LS02 74LS03 74LS04 74LS05 74LS08 74LS09 74LS10 74LS12 74LS13 74LS15 74LS20 74LS21 74LS22 74LS26 74LS27 74LS28 74LS30 74LS32 74LS33 74LS37 74LS38 74LS40 74LS42 74LS47 74LS48 74LS51 74LS54 74LS55 74LS74 74LS75 74LS76 74LS83 74LS85 74LS86 74LS90 74LS9 74LS13 74HCT24 74LS24 74HCT24 74LS25 74HCT54.

6800 Lab Kit Reference Manual



6800 Microprocessor References


  • The official Motorola 68HC11A8 Data Sheet. Fairly cryptic...
  • A Motorola 6811 Manual. It is a nicely written refresher on many concepts of assembly language applied to the 6811.
    • Check Section 3.2 on addressing modes (inherent, direct, extended, indexed, relative).
    • Get a refresher for the different instruction types (arithmetic, shifts, control, etc) in Section 3.4.
    • The condition code register is covered in Section 3.5. Skip Section 4.
  • M68HC11 Technical Reference, from Motorola.
    • Section 6.5 shows the instructions in logical groups.
  • M68HC11 Pocket Reference.
    • Very useful, on Page 15, a list of all the opcodes supported by the 6811, in numerical (hex) order.
  • 68HC11A8 Technical Reference: a hardware & engineering description. of the 6811, its ports, and how it operates.
    • See Section 10 for a cycle-by-cycle description of the execution of each instruction.
    • See Appendix A, Figure A-14 for the timing diagram of a typical (multiplexed expansion) memory access.
  • 6811 Instruction Set, with hexadecimal opcodes. A reverse map, from hex to instructions can be found here.
  • 2-Page List of all the 6811 Instructions
  • Software for the 6811
  • CSC270 6811 Listing Format.png
    Listing format


Lab Reports



...


Programming Examples



Arduino References