![]() ![]() ![]() ![]() |
![]() |
![]() ![]() ![]() ![]() ![]() ![]() |
|||
|
|
|
|||
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 |
![]() |
![]() |