Difference between revisions of "CSC270 Weekly Schedule 2016"
(→ ) |
(→ ) |
||
(46 intermediate revisions by the same user not shown) | |||
Line 257: | Line 257: | ||
* '''Tuesday/Thursday''' | * '''Tuesday/Thursday''' | ||
[[Image:6811Motorola.jpg | 200px | right]] | [[Image:6811Motorola.jpg | 200px | right]] | ||
− | |||
* Introduction to the Motorola 6800 Processor | * Introduction to the Motorola 6800 Processor | ||
+ | * [[CSC270 Assembling 6800 Assembly Programs on OSX/Windows|Assembling 6800 assembly program on your laptop]] | ||
+ | * [[Media:6811CycleByCycle.pdf| Cycle-by-Cycle Instruction Execution (pdf)]] | ||
+ | * [http://www.science.smith.edu/dftwiki/media/CSC270_2016Notes08.pdf Class Notes] | ||
| | | | ||
* [[CSC270 Lab 7 2016| Lab 7]] | * [[CSC270 Lab 7 2016| Lab 7]] | ||
+ | * [[CSC270 Homework 7 2016 | Homework 7]] and [[CSC270 Homework 7 Solution 2016 | solution]] | ||
| | | | ||
* Read this [[CSC270_Introduction_to_the_6811 | introductory page]] for this week. | * Read this [[CSC270_Introduction_to_the_6811 | introductory page]] for this week. | ||
− | * Read this | + | * 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. | * Read the [[Media:6811Manual.pdf |6811 Manual ]] for this week. | ||
− | |||
|} | |} | ||
Line 271: | Line 273: | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week 9''' Mar | + | |width="45%"|'''Week 9''' Mar 29, 31 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' | ||
Line 285: | Line 287: | ||
| | | | ||
* '''TuesdayThursday''' | * '''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 | ||
+ | ::* [[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 300: | Line 307: | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week 10''' | + | |width="45%"|'''Week 10''' Apr 5, 7 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' | ||
Line 308: | 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''': | + | |width="60%"| '''Topics''': 6811 Input Port |
|width="15%"| '''Lab/Hw''' | |width="15%"| '''Lab/Hw''' | ||
|width="25%"| '''Reading''' | |width="25%"| '''Reading''' | ||
Line 314: | Line 321: | ||
| | | | ||
* '''Tuesday/Thursday''' | * '''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) | ||
+ | ::* [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 325: | Line 336: | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week 11''' | + | |width="45%"|'''Week 11''' Apr 12, 14 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' | ||
Line 339: | Line 350: | ||
| | | | ||
* '''Tuesday/Thursday''' | * '''Tuesday/Thursday''' | ||
− | ::* | + | ::* Tuesday: Continuation of Lab 9 |
− | ::* | + | ::* Reviewing the last homework. A very fast way to send 100 bits! |
− | ::* | + | ::* 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 351: | Line 365: | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week 12''' Apr | + | |width="45%"|'''Week 12''' Apr 19, 21 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' | ||
Line 359: | 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''': | + | |width="60%"| '''Topics''': C & Arduino |
|width="15%"| '''Lab/Hw''' | |width="15%"| '''Lab/Hw''' | ||
|width="25%"| '''Reading''' | |width="25%"| '''Reading''' | ||
Line 365: | Line 379: | ||
| | | | ||
* '''TuesdayThursday''' | * '''TuesdayThursday''' | ||
− | ::* | + | ::* Learning C (cont'd) |
− | ::* | + | ::* 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 376: | Line 395: | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week 13''' Apr. | + | |width="45%"|'''Week 13''' Apr. 26, 28 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' | ||
Line 384: | 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''': | + | |width="60%"| '''Topics''': TBA |
|width="15%"| '''Lab/Hw''' | |width="15%"| '''Lab/Hw''' | ||
|width="25%"| '''Reading''' | |width="25%"| '''Reading''' | ||
Line 390: | Line 409: | ||
| | | | ||
* '''TuesdayThursday''' | * '''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: | ||
+ | ::* <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 |
|} | |} | ||
==== ==== | ==== ==== | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<br /> | <br /> | ||
<br /> | <br /> | ||
Line 459: | 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/~ | + | 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/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls01rev5.pdf 74LS01] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls02rev5.pdf 74LS02] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls03rev5.pdf 74LS03] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls04rev5.pdf 74LS04] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls05rev5.pdf 74LS05] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls08rev5.pdf 74LS08] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls09rev5.pdf 74LS09] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls10rev5.pdf 74LS10] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls12rev5.pdf 74LS12] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls13rev5.pdf 74LS13] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls15rev5.pdf 74LS15] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls20rev5.pdf 74LS20] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls21rev5.pdf 74LS21] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls22rev5.pdf 74LS22] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls26rev5.pdf 74LS26] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls27rev5.pdf 74LS27] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls28rev5.pdf 74LS28] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls30rev5.pdf 74LS30] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls32rev5.pdf 74LS32] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls33rev5.pdf 74LS33] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls37rev5.pdf 74LS37] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls38rev5.pdf 74LS38] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls40rev5.pdf 74LS40] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls42rev5.pdf 74LS42] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls47rev5.pdf 74LS47] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls48rev5.pdf 74LS48] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls51rev5.pdf 74LS51] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls54rev5.pdf 74LS54] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls55rev5.pdf 74LS55] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls74arev5.pdf 74LS74] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls75rev5.pdf 74LS75] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls76arev5.pdf 74LS76] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls83arev5.pdf 74LS83] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls85rev5.pdf 74LS85] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls86rev5.pdf 74LS86] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls90rev5.pdf 74LS90] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls95brev5.pdf 74LS9] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls138rev5.pdf 74LS13] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/CD74hct240.pdf 74HCT24] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sdls145.pdf 74LS24] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/CD74hct244.pdf 74HCT24] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/DM74LS259.pdf 74LS25] |
− | [http://cs.smith.edu/~ | + | [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/CD74hct541.pdf 74HCT54]. |
+ | <br /> | ||
+ | |||
+ | ==6800 Lab Kit Reference Manual== | ||
+ | <br /> | ||
+ | * [http://cs.smith.edu/~dthiebaut/classes/270/ETW3800_W6811CPU.pdf Manual (pdf)] | ||
<br /> | <br /> | ||
==6800 Microprocessor References== | ==6800 Microprocessor References== | ||
Line 535: | 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)
Week 1 Jan 26, 27 |
Topics: Introduction, Boolean Functions, First Lab. | Lab/Hw | Reading |
|
|
|
Week 2 Feb 2, 4 |
Topics: Maxterms, Nand, Nor, Karnaugh Maps, Decoders. | Lab/Hw | Reading |
|
|
Week 3 Feb 9, 11 |
Topics: Transistors, Java/Python simulation, Karnaugh Maps. | Lab/Hw | Reading | ||
|
|
Week 4 Feb 16, 18 |
Topics: Flipflops, oscilloscope | Lab/Hw | Reading |
|
|
|
Week 5 Feb 23, 25 |
Topics: Finite State Machines, Moore, Mealy, Python simulator | Lab/Hw | Reading |
|
|
|
Week 6 Mar 1, 3 |
Topics: JK Flipflop | Lab/Hw | Reading |
|
|
Week 7 Mar 8, 10 |
Topics: ROM-based sequencers | Lab/Hw | Reading |
|
|
|
Spring Break
Week 8 Mar 22, 24 |
Topics: Introduction to the 6811 Microprocessor. 6800 assembly. | Lab/Hw | Reading |
|
|
|
Week 9 Mar 29, 31 |
Topics: 6811 disassembly, Addressing modes, bus timing | Lab/Hw | Reading |
|
|
|
Week 10 Apr 5, 7 |
Topics: 6811 Input Port | Lab/Hw | Reading |
|
|
|
Week 11 Apr 12, 14 |
Topics: Memory-Mappe I/O, Input Port | Lab/Hw | Reading |
|
|
Week 12 Apr 19, 21 |
Topics: C & Arduino | Lab/Hw | Reading |
|
|
Week 13 Apr. 26, 28 |
Topics: TBA | Lab/Hw | Reading |
|
|
|
Resources & Misc. Information
Textbooks
- Mano, Digital Design, 5th Edition. Check the resource section on Moodle for more information.
Logic-Circuit Editors
- On-line editor: Academo
- App: LogiSim
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
- Listing format
Lab Reports
- Excellent example: Lab 1
Programming Examples
- A Python program that generates a truth table.
Arduino References
- Online C Compiler: http://www.tutorialspoint.com/compile_c_online.php
- Online Kernighan and Ritchie's C Reference