|
|||||
|
|
|
|
|||
| MCU Predefines: io328p.h, iotnx4.h, and iotn85.h | |||||
|---|---|---|---|---|---|
| ACES EAGLE SMT RESOURCES: ACES_SMT.lbr (2020 01 10), ACES_SMT.dru, ACES_SMT.cam, JLCPCB.dru | |||||
| ACES Alumni Blogs/Companies: Ethan M '18, Ethan P '18, Dan R '19, Mariano E. '15 | |||||
| 2020-2021 ICS4U: AVR Optimization | |||||
| CLASS | SUPPLEMENTARY | CONCEPTS | PROJECTS | SUBMISSIONS | |
| 77 Jun 1 |
![]() |
ISP Presentations (LRC, JS, PB) |
![]() |
3.30 Long ISPs LR-C, JS, JV |
|
| 76 May 31 |
![]() |
ISP Presentations (AG, JV, SA) |
![]() |
3.30.3 | |
FINAL WEEKEND |
|||||
| 75 May 28 |
'84 ADC Prescalers
|
9. ADC Conversion Complete Interrupt (on the ADC Shield) ATtiny84 Datasheet: Chapter 10: Interrupts Chapter 18: Analog-to-Digital Converter |
![]() |
'84 ADC Auto Triggers |
|
![]() |
|||||
| 74 May 27 |
![]() |
8. ADC Register Configuration (on the ADC Shield) |
Timer Registers![]() |
Timer Prescalers![]() |
|
| 73 May 26 |
![]() |
7. Timer 1 Overflow Interrupt (on the ADC Shield) ATtiny84 Predefines (AS7 Include File) prescalers84.inc |
![]() |
ATtiny84 Interrupts![]() |
|
| 72 May 25 |
![]() |
6. Double Dabble (Shift/Add 3) Algorithm (Binary to BCD Conversion) |
![]() |
![]() |
|
|
Session 8 (8 Classes): Putting It All (three years) Together... AVR Assembly Language Programming ( Echoes of CHUMP :) |
|||||
| CLASS | REFERENCES | CONCEPTS | PROJECTS | SUBMISSIONS | |
| 71 May 7 |
![]() |
5. Shiftout: 7 Segment - Multi-Digit Display (PoV) (on the ADC Shield) |
![]() |
3.5 Legacy Shields LR-C, JS, JV |
|
| 70 May 6 |
![]() |
4. Shiftout: 7 Segment - Single-Digit Display (on the ADC Shield) |
![]() |
3.30.3 | |
69 May 5 |
Asynchronous Wednesday Task Adapt Shiftout7SegmentSingle.S (Arduino IDE: AVR-as) to Shiftout7SegmentSingle.asm (Atmel Studio 7: AVR-asm2) post emails to the Forum if you have any concerns |
||||
| 69 May 4 |
![]() |
4. Shiftout: 7 Segment - Single-Digit Display (on the ADC Shield) |
![]() |
3.30.3 | |
| 68 May 3 |
Bicolor Confirmation | 3.30.3 | |||
WEEKEND - Whew... |
|||||
| 67 Apr 30 |
3. BareMinimumDDBv6 Template Project Template Creation in 3 Steps |
3.5 | |||
| 66 Apr 29 |
![]() |
Blink | ![]() |
||
| 65 Apr 28 |
Oliver Logush (ACES '18, Queen's '23) |
3.5 | |||
| 64 Apr 27 |
Endianness |
Exploring ATMEL Studio 7's Tools and Assets 2. Data Location, Addressing and Movement |
![]() Stack Pointer |
||
| 63 Apr 26 |
AVR 8-bit Instruction Set |
Worth a watch ... awesome Arduino IDE to AS7 AVR 8-bit Assembly on the DDBv6: First Project: 1. OnBoardLED (.S or asm) |
![]() ![]() |
![]() User's Guide |
|
| Session 8 Prep Apr 2-25 |
Required Hardware![]() Arduino: avr-as AVR: AVRASM |
PRIOR to Session 8 (April 26)... TIOBE Languages by Popularity Install Install ATMEL Studio 7 (Microchip Studio) Watch... |
![]() ![]() |
![]() ![]() |
|
EASTER - APRIL BREAK |
|||||
|
LONG ISP (8 weeks) : Apr-May |
|||||
| SESSION BREAK | |||||
|
Session 7 (10 Classes): ADC (Successive Approximation Algorithm with R2R DAC) |
|||||
| CLASS | SUPPLEMENTARY | CONCEPTS | PROJECTS | SUBMISSIONS | |
| 62 Apr 1 |
![]() |
'Behind the Curtain" look at the Tone Library In Class Task: Driving TDK's Passive PS1420P02 Piezo Buzzer |
ATtiny84 TC1: Prescalers ![]() |
ATtiny84 Timer0 Chapter 13 ATtiny84 Prescalers Chapter 15 |
|
| 61 Mar 31 |
![]() Charlieplex Equalizer |
Introduction to the R/2R Resistor Network Great blog and exceptional supporting video: Josh Dolgin (ACES '20, Waterloo '25) ATtiny84 Interrupt Vector #12: Timer0 (Normal Mode 0) Overflow |
ATtiny84
TC1: Ports ![]() |
TC1 Predefines (Arduino IDE) TCPrescalers84.h TC1 Predefines (Atmel Studio) prescalers84.h |
|
| 60 Mar 30 |
![]() ATtiny84 Timer1 Chapter 14 |
ISP Presentations SA, L R-C Important ADC Algorithm The inspiring video that brings clarity... ACES' Frame Player: Timers84 ATtiny84 Interrupt Vector #9: Timer1 (Normal Mode 0) Overflow |
ATtiny84 TC1: Waveform Generation Modes ![]() |
ATtiny84: Interrupt Vectors ![]() |
|
| 59 Mar 29 |
![]() Recall PWM as |
ISP Presentations PB, AG, JS, JV Introducton to Timers/Counters What are they good for? Counting, Scheduling, Event Capture, Frequency Generation, anything else? ![]() Could the WDT be used for PWM? How did we 'kind of' do that already? |
Timer Counter Block Diagrams
Application Note: Setup and Use of AVR Timers |
3.20.3 Medium ISPs LR-C, JS, JV In what context did these Familiar Frequencies enter your ACES experience? How many can you identify? 50 Hz, 2 kHz, 2-200 kHz, 32.768 kHz, 38 kHz, 40 kHz, 433 MHz, 8 MHz, 16 MHz, 2.4 GHz |
|
|
Friday Holiday
|
|||||
| 58 Mar 25 |
Insanely great application of the Analog Comparator feature from Technoblogy |
Putting the week's concepts together... 4-Bit Analog to Digital Simulation on the DDP (DDBv6+USv1) |
Thevenin and Superposition |
||
| 57 Mar 24 |
![]() |
Important Versatile Algorithm Successive Approximation The inspiring video that brought clarity... |
![]() |
||
56 Mar 23 |
![]() R2R Ladder R2R Resistor Ladder Digital to Analog Conversion |
Ironically, it all starts with a DAC... Digital to Analog Conversion Seeds and Roots... Great blog and exceptional supporting video: |
"![]() ![]() Datasheet... 4610X-R2R-103LF |
Familiar Resistor Network Designs ![]() |
|
| 55 Mar 22 |
ATtiny84 Datasheet Chapter 17 ![]() |
ATtiny84 Interrupt Vector #13: Analog Comparator Interrupt exploiting the DDP Universal Shield v1 Class Sketch: ACInterrupt.ino |
![]() |
![]() |
|
|
Friday Holiday
|
|||||
| 54 Mar 18 |
![]() |
Coompletion of the ADC Shield A Curious and Applicable Software and Hardware Algorithm |
![]() |
||
| 53 Mar 17 |
![]() |
Continuation of the ADC Shield |
![]() |
||
| CLASS | SUPPLEMENTARY | CONCEPTS | PROJECTS | SUBMISSIONS | |
| 52 Feb 26 |
![]() |
ISP Previews SA, L R-C DDP: Legacy Shield |
3.20.2 | ||
| 51 Feb 25 |
![]() |
ISP Previews PB, AG, JS, JV Universal Shield: USv1, USv2 |
3.20.2 | ||
| 50 Feb 24 |
![]() |
Ethan McAuliffe (ACES '18, McMaster '23) Continuation of the ADC Shield |
![]() |
![]() |
|
| 49 Feb 23 |
ADC Shield![]() |
Exploring your second DDBv6 Shield ADC Shield Part 1. WDTwithSleepADC |
DDBv6.13 | ![]() |
|
| 48 Feb 22 |
![]() |
Completion of your first DDBv6 Shield Intersection Shield |
DDBv6.12
DDBv6.13 |
![]() |
|
| 47 Feb 19 |
![]() |
Exploring your first DDBv6 Shield Intersection Shield |
DDBv6.12 | ||
| 46 Feb 18 |
![]() |
NASA's Perseverance... Mars Landing Today Finishing... Power Management Prototype with scheduling for ADC... |
DDBv6.11 | ![]() |
|
| 45 Feb 17 |
Intersection Shield![]() |
Ethan Peterson (ACES '18, Queen's '22) Continuing with ... Power Management Prototype |
DDBv6.11
![]() |
Terminology
3.20.2 |
|
| 44 Feb 16 |
![]() ![]() |
Watchdog Timer (WDT) Interrupt (§9.8, p.39) WDT support for: Power Management Power Down Sleep Mode ![]() |
Kevin Darrah's... DDBv6.11 ![]() |
3.20.2 ![]() |
|
FEBRUARY 15: FAMILY DAY |
|||||
|
Session 5 (10 Classes): AVR Register-Level Programming of the ATtiny84 on the Dolgin Development Board (DDB) |
|||||
| CLASS | SUPPLEMENTARY | CONCEPTS | PROJECTS | SUBMISSIONS | |
| 43 Jan 29 |
![]() |
More with less ... Charlieplexing The RSGC ACES' CharlieStick |
DDBv6.10
Charlieplexing the 8x7 Matrix |
3.4 Pin Change Interrupt LR-C, JS*, JV* ![]() |
|
| 41b Jan 28 |
![]() |
Again, Technoblogy... ATtiny85 Function Generator ACES' Frame Player: Waveforms Sine, Triangle, Sawtooth, Square, Rectangle, Pulse, Chainsaw, Noise |
![]() |
3.4 |
|
| 41a Jan 28 |
Wolfram Demonstration... Gray vs Binary Code ![]() |
Rotary Encoders Terrific Blog: Technoblogy... Bounce-Free Rotary Encoder |
![]() Another good blog... Rotary Encoders |
DDBv6.9 |
|
|
No Teaching By Order of Management :) (Optional ISP Q&A Session)
|
|||||
| 40 Jan 26 |
![]() |
Adding DDBv6 library support for Register-Level ShiftOut Exploring DDBv6 support for The Morland Bargraph V3 |
DDBv6.8 | 3.4 | |
| 39 Jan 25 |
![]() |
Concept: Interrupt-Driven Coding Adding DDBv6 library support for Pin Change Interrupt(s) exploiting the RSGC ACES' Button Debouncer v2 with confirmation on the DDBv6's OnBoard LED |
DDBv6.7 |
![]() |
|
| 38b Jan 23 |
![]() |
Adding DDBv6 library support for SoftwareSerial IO to the IDE's Serial Monitor and Plotter |
DDBv6.6![]() |
3.4 | |
| 38a Jan 22 |
![]() |
Register-Level Coding of Reset Sources |
DDBv6.5 |
3.4 | |
| 37 Jan 21 |
![]() |
Further development of the DDBv6 Software Library |
DDBv6.4![]() |
3.4 | |
|
No Teaching By Order of Management :)
|
|||||
| 36 Jan 19 |
![]() |
The OnBoard LED (PB2 - D8)
Reusable code... Establishment of your Arduino DDBv6 Software Library Arduino Library Specification |
DDBv6.3![]() |
![]() |
|
| 35 Jan 18 |
![]() |
The Dolgin Development Platform (V6)![]() |
AVR Optimization ... of Algorithms DDBv6.1 DDBv6.2 |
![]() |
|
DECEMBER BREAK |
|||||
| CLASS | SUPPLEMENTARY | CONCEPTS | PROJECTS | SUBMISSIONS | |
| 34 Dec 16 |
![]() |
Project 3.3 Final Preparations ... Exercises: PlayByte, outShift() ![]() Project 3.3. Mid-Level Matrix |
![]() '595 Timing: ![]() |
3.3 Keypad Matrix Echo LR-C, JS, JV ![]() |
|
| 33 Dec 15 |
Mid-Level Coding Exercises ... on the ATtiny84 |
3.3 | |||
| 32 Dec14 |
![]() |
Mid-Level Coding Exercises ... on the ATtiny84 |
3.3 | ||
| 31 Dec 11 |
Summary, Full |
Mid-Level Coding Exercises ... on the ATtiny84 |
![]() |
||
| 30 Dec 10 |
![]() |
Review homework ... Mid-Level Coding Exercises ... on the ATtiny84 |
|||
| 29 Dec 9 |
![]() |
Further AVR Optimization... Mid-Level Programming C++ Operator Precedence (p. 140) |
![]() |
GPIO Ports Recall #include iom328p.h |
|
| 28 Dec 8 |
![]() |
Cohort B on campus, so ... Cohort A ISP Presentation (@home) |
Peer ISP Evaluation Form download and rename 6 copies to: YYmm.docx |
3.10.4 Short ISPs LR-C, JS, JV 3.10.3 |
|
| 27 Dec 7 |
Cohort A on campus, so ... Cohort B ISP Presentation (@home) |
||||
| PARENT TEACHER INTERVIEWS - SESSION BREAK | |||||
| CLASS | SUPPLEMENTARY | CONCEPTS | PROJECTS | SUBMISSIONS | |
| 26 Nov 19 |
Electronics' Club 74LS Logic ICs |
![]() |
![]() |
3.2. CHUMP II: LR-C, JS, JV 3.2.4 - 3.2.8 |
|
| 25 Nov 18 |
Shirriff: 181 ALU Active High Operations |
![]() |
![]() |
3.2.4 - 3.2.8 | |
| 24 Nov 17 |
![]() |
CHUMP: Branch Control Logic Be sure to add a 2.2 KΩ Pullup on ALU's A=B pin (14) (Open Collector) |
![]() |
![]() |
|
NOVEMBER BREAK |
|||||
|
SHORT ISP (8 weeks) : Sep-Oct |
|||||
| 23 Nov 12 |
![]() |
CHUMP Build Sessions Initial Placement of ICs Supply Access (5V-red?, GND-black?) Color-coded Buses (Address?, Data?, Control?) |
![]() |
![]() |
|
| 22 Nov 11 |
|||||
| 21 Nov 10 |
![]() |
CHUMP RSGC's 1st Computer (Jan 7, 1980 @ $25K) Our PDP-11/03 Minicomputer (SN74LS181 as the ALU!) |
![]() |
3.2.4 - 3.2.8 | |
| 20 Nov 9 |
Burner Code *Additional Programs... Shield Custodians: SA, PB, AG, LRC |
CHUMP Control EEPROM Codes |
Feinberg Code:![]() |
![]() |
|
| SESSION BREAK | |||||
| CLASS | SUPPLEMENTARY | CONCEPTS | PROJECTS | SUBMISSIONS | |
| 19 Oct 23 |
![]() |
ISP Preview (Home Cohort)
CHUMP |
3.10.2 Short ISP Prevs: LR-C, JS, JV |
3.2. CHUMP I: LR-C, JS, JV LR-C: Falstad Logic |
|
| 18 Oct 22 |
![]() |
ISP Preview (Home Cohort)
CHUMP (ACES' EEPROM Enhancement) |
Feinberg Example: 82 10 21 62 A0 ![]() |
3.2.1, 3.2.2, and 3.2.3 | |
| 17 Oct 21 |
Build/Guidance Session | CHUMP / ISP |
3.2.1, 3.2.2, and 3.2.3 | ||
| 16 Oct 20 |
Build/Guidance Session Swapping Variables Program Code |
CHUMP / ISP
![]() |
![]() Flashing of Feinberg's Sample Code |
Flashing of Swapping Variables CHUMPanese Code |
|
| 15 Oct 19 |
Build/Guidance Session
Feinberg Example Code |
CHUMP / ISP![]() |
![]() |
3.2.1, 3.2.2, and 3.2.3
Program and Control EEPROMs (AT28C16) |
|
| 14 Oct 16 |
Build/Guidance Session | CHUMP / ISP Early Preview of the AT28C16 EEPROM and Paging |
![]() |
||
| 13 Oct 15 |
Build/Guidance Session | CHUMP / ISP K. Shirriff's Blog... Inside the vintage 74181 ALU chip: How it works and why it's so strange |
3.2.1, 3.2.2, and 3.2.3 | ||
| 12 Oct 14 Curr. Night 7:30 PM |
Build/Guidance Session
Curriculum Night |
CHUMP / ISP | 3.2.1, 3.2.2, and 3.2.3 CHUMP Loaner: Two RSGC ACES' EEPROM Burner Shields |
||
| 11 Oct 13 |
![]() |
CHUMP: Clock (NE555) +TTL Logic: AND (74LS08), and OR (74LS32) + Program Counter (74LS161) (JV) with /CLR feature + External NAND (74LS00) (LOAD) |
![]() |
CHUMP Supplements: (no-charge) 0.3" and 0.4" (100 each) red, yellow, green rectangular LEDs (32 each) |
|
| Session Break | |||||
| CLASS | SUPPLEMENTARY | CONCEPTS | PROJECTS | SUBMISSIONS | |
| 10 Sep 25 |
![]() |
Chumpanese: If..else Correction
SMT Assembly Service (PB Machine V3) |
![]() Parts Library |
3.1. GB Machine: LR-C, JS, JV |
|
| 9 Sep 24 |
First (only?) look at the... TL866II EEPROM Programmer Curriculum Night @ 7 |
Service/Skills Request :)
JV to Solicit Feedback Chumpanese Example: if..then..else |
|||
| 8 Sep 23 |
![]() Falstad Simulation: 555 with Internals Ethan McAuliffe |
First Look:![]() Chumpanese Example: Swapping Memory Locations |
M. McCutcheon's Build![]() |
R. Fletcher's Bots![]() |
|
| 7 Sep 22 |
![]() |
CHUMP: Clock B. Eater's terrific 4-part video series: Part 4: Clock Logic |
555 Tutorial ![]() |
3.1 | |
| 6 Sep 21 |
Check 'em out!...![]() |
CHUMP: Clock For Discussion: Calendar Modifications and ISP Weightings B. Eater's terrific 4-part video series: |
|
![]() |
|
| 5 Sep 18 |
Alan Turing's Famous Paper: (paving the way for the modern computer) "On Computable Numbers With an Application to the Entscheidungsproblem" |
CHUMP Cheap Homebrew Understandable Minimal Processor The CHUMPANESE Language, Reflections |
CHUMP IC Assignments |
3.10.1 | |
| 4 Sep 17 |
for the Classroom - D. Feinberg pp. 4-5 |
CHUMP Cheap Homebrew Understandable Minimal Processor Control Logic |
![]() |
3.10.1 | |
| 3 Sep 16 |
pp. 3-4 | CHUMP Cheap Homebrew Understandable Minimal Processor Instruction Set |
Reorder Details |
3.1 and 3.10.1 |
|
| 2 Sep 15 |
pp. 1-2 | CHUMP Cheap Homebrew Understandable Minimal Processor |
RSGC ACES' Common SMT Parts |
3.1 and 3.10.1 |
|
| 1 Sep 14 |
Short ISP Proposal Due Saturday@midnight Student Outline Mr. D's Timetable TA Day Assignments |
![]() Short ISP Options, Discussion, and (High) Expectations |
20/21 ICS4U: SMT Focus on Thin... ![]() MorlandBargraphV4 in action |
3.1![]() |
|
| 0 Sep 10 |
Short ISP Proposal Due Saturday@midnight Student Outline Mr. D's Timetable TA Day Assignments |
2020/2021
ACES' Program
Our ACES' Program: Contradictions ACES Hall of Fame: E. McAuliffe ('18) E. Peterson ('18) Mariano Elia ('15) Hackster.io, Argon Prototypes |
![]() |
||