555 | DELAY | TIMER | FUSE | INST, SUMM
REGS: 328P , 84
| AVR-AS | NOTES: 328P | 84
ACES EAGLE SMT RESOURCES: ACES_SMT.lbr (2020 01 10), ACES_SMT.dru, ACES_SMT.cam
2019-2020 ICS4U: AVR Optimization (Blogs: Ethan M '18, Dan R '19)
Session 4: AVR Assembly Language Programming of the ATtiny84 Interrupts (within ATMEL Studio 7.0?)
CLASS SUPPLEMENTARY CONCEPTS PROJECTS SUBMISSIONS
81
Jun 5

Good luck

80
Jun 3
 

Email any concerns
(Published DERs distributed)

 
79
Jun 1
 

ACES Hall of Fame

Long ISPs
JD**, FF, JL, CM, LM
MM**, JP, SP, EP
DDP Legacy Shields: FF: IR Universal, MM: Spectrum Equalizer, JP: Motor Driver
78
May 28
Email any concerns 3.30.4
77
May 26

Email any concerns

  3.30.4
76
May 22

AVR Assembly Interrupts:
Timer 0 Fast PWM Mode 7 (OCR0A as Top)

ATtiny84 Datasheet:
DDP + Servo Application
Chapter 13: 8-bit Timer/Counter0 with PWM
FastPWMServo Control Support Video
Timer0FastPWMServo: Full code



Ken Shirriff:
Secrets of PWM
75
May 20
AVR Assembly Interrupts:
ADC Conversion Complete

ATtiny84 Datasheet:
Chapter 10: Interrupts
Chapter 18: Analog-to-Digital Converter
ADCShieldASM Support Video
ADCShield: Full code
VICTORIA DAY WEEKEND
74
May 15
Timer/Counter1 Ports

DER Publication Discussion
AVR Assembly Interrupts:
Timer1 (Normal Mode 0) Overflow
ATtiny84 Datasheet:
Chapter 10: Interrupts
Chapter 14. 16-bit Timer/Counter1
Timer/Counter1 (Normal Mode)

Today we hit rock bottom with the ...
Lowest Level (software)
Square Wave Possible ???

Arduino AVR MCU IO Predefines...
io328p.h, iotnx4.h, and iotn85.h

Timer/Counter Predefines
prescalers84.h
ATtiny84 Prescalers


73
May 13
AVR Assembly: Introducing Interrupts
ATtiny84 Datasheet:
Chapter 10: Interrupts
Hardware RESET Interrupt
Chapter 11. External Interrupts
(Universal Shield has an onboard button)
Right up there with B. Eater and K. Shirriff is
N. Gammon
: Interrupts

ExternalInterrupt0.docx
Session 3: AVR Assembly Language Programming Fundamentals (within either AS7 or the Arduino IDE)
CLASS SUPPLEMENTARY CONCEPTS PROJECTS SUBMISSIONS
72
May 11
AP Physics C
CM, JD
AP Calc (12th)
FF, CM, SP, EP

AVR Assembly: Writing Better Functions
Be Conscious of Clobbering Registers:
The STACK as a Parking Lot
DoubleDabbleShiftout.docx


ASM Best Practices: Functions
Low Coupling !

71
May 7

AVR Assembly: First Look at the STACK
Predefine: SRAMEND, PORTs: SPL and SPH


AVR Assembly:
Binary to Packed BCD Conversion
Exercise: Double Dabble

PoVontheADC
JD, FF, JL, CM, LM
MM, JP, SP, EP
70
May 5

Review of POV on the ADC Shield
PoVontheADC.docx


Endianness
AVR Assembly: Binary Coded Decimal
BCDontheADC.docx
2 Recent BCD Examples:
BinaryGame:
Hexadecimal BCD
DS1307RTC:
Register Memory Format
69
May 1
PoVontheADC...

No Meet
Work Period

A 20 ms delay
equates to a
frequency of
approx. 50 Hz.
(bear in mind for PoV)
3.4.9
68
Apr 29
AS7 Debugging...

AVR Assembly: POV on the ADC Shield
Division as repeated subtraction!
(Multiplication as repeated addition)
See the Pseudocode for the Algorithm
(Gretzy on the ADC?)

RJHCoding Tutorial:
Loading SRAM
from Flash
67
Apr 27
Homework Show&Tell:
Exercise: Seven-Segment Counting
Seven-Segment Counting Support Video

AVR Assembly: PoV on the ADC Shield
SevenSegmentCounting.docx

66

Apr 23
AVR-asm2 Functions:
low(), high()
avr-as Modifiers:
lo8(), hi8()
AVR 8-bit Assembly: Data and Labels
.data,.text/.dseg,.cseg Location Directives
.BYTE/.DB Data-Related Directives
DataAndLabels.docx
16-bit Address Registers
X, Y, and Z
Homework!

65

Apr 21

Thorough Review of shiftout Solution(s)


First Look at AVR Machine Code
AVR 8-bit Assembly: Memory → → →

64

Apr 17

AVR Assembly: Intro to Variables
VariablesIntroduction.docx
Pardo: Data, Labels (first 9:45 only)

shiftout
JD, FF, JL, CM, LM
MM, JP, SP, EP
3.4.8

63

Apr 15
AVR Assembly: shiftout
Exercise: Morland Bargraph
MorlandShiftBarC.docx, iotn84.h
AVR 8-bit Assembly: For
Exercise: SIP Array

62

Apr 9
AVR 8-bit Assembly:
Repetition (aka. Looping, Iteration)

AVR 8-bit Assembly: While
(repetition, iteration)
Pardo: A while statement in AVR Assembly
Bicolor Byte
JD, FF, JL, CM, LM
MM, JP, SP, EP
3.4.7

61

Apr 7
Conditional Jumps:

AVR 8-bit Assembly:
Decisions (aka. Branching)

The Status Register
SREG (see immediately above ↑)

Bit Shift Instructions: lsl,lsr,asl,rol,ror

AVR 8-bit Assembly: If..Then..Else
Pardo: An if..then.else statement in Assembly
Bit Instructions:

Branch Instructions:

DDP LEGACY SHIELD DESIGN FILES AND JLCPCBs INVOICE DUE

60

Apr 3
Create Enclosure from PCB
AVR 8-bit Assembly:
Think Modular: Design in Functions
Activity: Bicolor Confirmation
3.4.7

58

Apr 1
DDBv6 and USv1 AVR 8-bit Assembly:
Uploading from AS7 Using SPP
Activity: Project Template Creation in 3 Steps
(Steps 2 and 3)
LONG ISP (9 weeks) : Mar-May



57

Mar 30
Review the Set of Long ISP Proposals
AVR 8-bit Assembly:
Uploading from AS7 USing SPP
Your First Project From the Template
:
Activity: Project Template Creation in 3 Steps (Step 1)
BlinkBuiltin.docx
3.30.1
3.4.6.1


56

Mar 26
DDP: (Software) Serial Output
Install ATMEL Studio 7
AVR 8-bit Assembly:
BareMinimum84 Template

Activity: Project Template Creation in 3 Steps

See
ICS4U F/C Conference

3.30.1
ATMEL Studio 7.0
User's Guide
EXTENDED COVID-19 BREAK
MARCH BREAK
55
Mar 4
Medium ISP Presentations
(FF, SP, LM, CM)
Medium ISPs: JD, FF, JL,
CM, LM, MM, JP, SP, EP
54
Mar 2
Medium ISP Presentations
(JP, JD, MM, JL, EP)
42
Guest Alum:
Matt Weldon, Max Moros

ACES '09; Queen's '13
(Their 2008 ICS3U Final Exam - yikes! :)
53
Feb 27
Inline Assembly has its place, but...
Standalone AVR Assembly

...is where we need to be

Exercise 7.2.2.1
: The Fastest! Blink
3.20.3
3.20.4
52
Feb 25
Intersection Shield Repatriation
All Inline Assembly on the DDP...

Delay
Exercise 7.2.1.1: (AVR Assembly) Delay
New AVR Instructions:
ldi, dec, brne, rcall, ret
DDP: Intersection
JD, FF, JL, CM, LM,
MM, JP, SP, EP
51
Feb 21

Intro to Arduino Inline Assembly
Languages by Intensity....
AVR Assembly Language Programming
Instructions: CHUMP vs AVR
AVR Inline Assembly: Tutorial
First Instruction: sbi
Exercise 7.2.1.0
: The FASTEST! Blink
3.4.5
AVR 8-bit
Instruction Set

Online Reference
Summary vs Detailed
50
Feb 19
Great code is
Modular
Review of ADC Shield Code
Arduino C Functions
DDP: ADC Shield
JD, FF, JL*, CM*, LM,
MM*, JP, SP, EP
4-Day Family Weekend (Feb 14-17)
Session 2: The Dolgin Development Platform and Shields (ATtiny84)
CLASS SUPPLEMENTARY CONCEPTS PROJECTS SUBMISSIONS
49
Feb 13

EAGLE:

Intersection Shield
Register-Level version of...
The FASTEST! Blink
"Wait, What?" (8 seconds of pure GOLD!)...
...Port Pin Summary
Parts Distribution and Assembly Session for:
DDP: Intersection Shield
DDP: Intersection Shield (1:08)
3.4.4
48
Feb 11
'595 Waveforms
For all your DDP Code needs...
Register-Level Implementation of:

shiftOut(data, clock, order, value);
3.4.4
47
Feb 7
Medium ISP Previews 3.20.2
46
Feb 5
  Work Period: DDP: ADC Shield   3.4.4
45
Feb 3

EAGLE:
ADC Shield

DDP + TMP36 + CharlieStick+ Smoothing
Homework Demonstrations
DDP: ADC Shield
3.4.4
44
Jan 30
Digital Input/Output Ports on 8-bit AVRs
Port Pin Summary (1:55)

The Dolgin Development Platform
3. DDP: CharlieStick (Register-Level Coding)
Register-Level Charlieplexing
43
Jan 28
GPIO Register-Level Manipulation One of many...
GPIO Tutorials
Chinese New Year: January 25 - February 4. Year of the Rat...
42
Jan 24
  Useful technique...
Sensor Reading Stabilization
(smoothing with data-averaging)
Bit-Banging
   
41
Jan 22
(Inspiration?) SMT
24-LED UNO Appliance
Demonstration
Discussion of AVR's GPIO Architecture
40
Jan 20
8-bit AVR Architecture
Introduction to Registers
p.9(328P) vs p.7(84)
AVR MCU IO Predefines...

Arduino.h (software)
io328p.h, iotnx4.h, and iotn85.h
DDP: Testing
JD, FF, JL*, CM*, LM,
MM*, JP*, SP, EP
Hanging Indent
DDP: Testing
Sofware Review



3.20.2
39
Jan 16

Work Period for...
The Dolgin Development Platform (DDP)
2. DDP: Testing
(Read the updated expectations, fully)
TMP36 Low Voltage Temperature Sensor
Adafruit's TMP36 Tutorial

3.4.2
38
Jan 14
DDP: Assembly
JD*, FF, JL*, CM*, LM,
MM*, JP*, SP, EP
ATmega328P vs ATtiny84
Essential Reading...
ATtinyCore README.md Documentation
ATtiny84-Specific
(Alternate pinout???)

AVR MCU IO Predefines...

io328p.h, iotnx4.h, and iotn85.h
Recall the 328P...
37
Jan 10
Medium ISP
(with SMD & CAD)
Proposal Due

Work Period for...
The Dolgin Development Platform (DDP)
1. DDP: Assembly


3.20.1
3.4.1
MEDIUM ISP (7 weeks) : Jan-Feb
36
Jan 8

ATtiny84
CHUMP Photo and Repatriation
Review of Domain Preferences & Post-RSGC Aspirations
Medium ISP Options, Discussion, and (High) Expectations
Medium ISP (with SMD & CAD) Proposal
The Dolgin Development Platform (DDP)
Parts Distribution & Discussion
Planning
Update

Hot off the Prusa...

DECEMBER BREAK
Session 1: CHUMP
CLASS SUPPLEMENTARY CONCEPTS PROJECTS SUBMISSIONS
35
Dec 18
J. Corley, D. Raymond, Adam Sheeres
Visit at 1:00 PM

CHUMP: Processor

CHUMP: Final
JD**, FF*, JL*, CM*, LM*,
MM**, JP*, SP, EP*
3.3.6
34
Dec 16
 

CHUMP: Processor

  3.3.6
33
Dec 12
Electronics' Club
74LS Logic ICs


Branch Control Logic
3.3.6
32
Dec 10

74LS181 ALU
Active High Operations
3.3.6
31
Dec 6

CHUMP: Processor
Project Notes for TTL Processor:
CHIP Diagrams (p. 50)


Be sure to add a 2.2KΩ Pullup on ALU's A=B pin (14)

30
Dec 4

CHUMP: Control EEPROM
Project Notes for TTL Processor
Part 1: The CHUMP Datapath (p. 46)


Redistribution of Control EEPROMs
29
Dec 2

CHUMP: Remaining IC Presentations:
JP (NAND), SP (SEL/MUX)
MM (ADDR), CM (ACCUM), EP (RAM)


Return your Control EEPROM for flashing
  CHUMP:
Program Control

JD, FF, JL, CM, LM,
MM, JP, SP, EP
28
Nov 28

Read upside down
(it's worth the RISC)
CHUMP 3.3.5 Work Period
Necessity is truly the Mother of Invention
3.3.5
27
Nov 26

CHUMP: Remaining IC Distribution
JL (Counter)
Project Notes for TTL Processor

26
Nov 22

CHUMP: Program EEPROMs
Adapting Eater for CHUMP

3.3.4
ATC2816Write.docx
CHUMP: EEPROM...
JD*, FF, JL*, CM, LM,
MM*, JP, SP, EP
25
Nov 20


CHUMP: Control and Program EEPROMs

Eater Video Support...
2. Arduino EEPROM Programmer

3.3.4

24
Nov 18

Eater's
EEPROM Programmer
Support


CHUMP: Control and Program EEPROMs

Part 4: Control and Program EEPROM
Eater Video Support...
1. EEPROM replaces Combinational Logi

3.3.4
AT28C16 EEPROM



CHUMP: ALU...
JD, FF, JL, CM, LM,
MM, JP, SP, EP
23
Nov 14
2 Binary Variables?...



...16
Logical Functions!
(shortened period)
CHUMP:The Arithmetic and Logic Unit

Concept: Active LOW vs Active HIGH Logic
Part 3: The Arithmetic and Logic Unit
Reference: Eater's ALU Page
3.3.3
Boolean Ops of 2 vars
74LS181 ALU
Active High Operations
22
Nov 12


74LS181 Comb. Circuit

Binary Challenge: Signed


Untether AI


(JD) CHUMP IC Presentation: The 74LS181 ALU


The Arithmetic and Logic Unit
English Translation of a Polish Blog
Review: Ken Shirriff's Blog:
The SN74LS181 ALU
How it Works and Why it's so Strange

3.3.3
RSGC's 1st Computer
(Jan 7, 1980 @ $25K)
Our PDP-11/03
Minicomputer

(SN74LS181 as ALU)

CHUMP: Clock...
JD, FF, JL, CM, LM,
MM, JP, SP, EP
NOVEMBER BREAK
21
Nov 6

CHUMP: Eater's 555 Clock Videos
2. Monostable 555
3. Bistable 555, 4. Combinational Logic

3.3.2
20
Nov 4
(LM) CHUMP IC Presentation: The 555 Clock
CHUMP: 555 Clock Videos
1.
Astable 555
Supplemental Parts Distribution
3.3.2
19
Oct 31

Binary Challenge: Signed


CHUMP: CHUMPANESE
Project Notes for TTL Processor
3.3.1
DDB Shield ???
RSGC ACES'
Charlieplex Matrix
18
Oct 29

Binary Challenge Discussion:
Signed 8-bit Integers: 2's Complement Algorithm

3.3.1
(Optional)
CharlieStick Pt. 1.
JD, JL, SP
MISSED CLASS - Sleep in Day
17
Oct 23
Include file:
iom328p.h
Ultimaker Training Session
(1:00 to 3:00 pm)

Attendees: JD, JL, MM, CM, JP
CharlieStick Soldering Session: FF, LM, SP, EP
3.2.1
16
Oct 21

Binary Challenge: ASCII


Distribution of CharlieStick Components


CHUMP
Cheap Homebrew Understandable Minimal Processor
3.2.1 Short ISPs...
JD*, FF, JL, CM, LM,
MM*, JP, SP, EP*
SHORT ISP (5 weeks) : Sep-Oct
15
Oct 17

ISP Presentations (3% of Final Mark)
(9:30-11:15)

ISP Publication
due Saturday
3.10.3, 3.10.4
14
Oct 15

Binary Challenge: ASCII


Final Short ISP Work Period
2000 in 5
13
Oct 10

Binary Challenge: ASCII


CHUMP
Cheap Homebrew Understandable Minimal Processor
2000 in 5
12
Oct 8

Binary Challenge: ASCII


ISP Work Period
2000 in 5
11
Oct 4

ISP Previews (2% of Final Mark)


Binary Challenge: Octal BCD
CHUMP
Cheap Homebrew Understandable Minimal Processor
2000 in 5
10
Oct 2
ISP Previews (2% of Final Mark)   3.10.2
9
Sep 30
Binary Challenge: Octal BCD

ISP Work Period
JD: Fusion 360 Intro: 3. Preparation for Printing
2000 in 5
8
Sep 26
Binary Challenge: Unsigned Fixed Point

Warning: Intense Theory Ahead...
CHUMP
Cheap Homebrew Understandable Minimal Processor
2000 in 5
7
Sep 24
Binary Challenge: Unsigned Fixed Point

ISP Work Period
JD: Fusion 360 Intro: 2. DDBCase Design
Fusion 360
: Save as DXF (for laser cutting)
Our goto Laser Cutter: Sawdust & Noise
Required: 1" (25.4mm) Reference Square, .dxf format
700 in 5
GB Machines...
JD, FF, JL, CM, LM,
MM*, JP, SP, EP*
6
Sep 19
Binary Challenge: Hexadecimal BCD (Last one?)

Aoyue Product Review
Suppliers: SRA, Amazon.ca
CHUMP
(Cheap Homebrew Understandable Minimal Processor)
2000 in 5
3.1
5
Sep 17
Binary Challenge: Unsigned
JD: Fusion 360 Intro: 1. Installation
Our goto Laser Cutter: Sawdust & Noise
Required: 1" (25.4mm) Reference Square, .dxf format
500 in 5
4
Sep 13
Binary Challenge: Unsigned
Short ISP Proposal Due (@ START!)
In the DES: AOYUE 968A SMD Rework Station
Product Review, Suppliers: SRA, Amazon.ca
SMD Soldering Videos
n00b (This is us, today)
Pro (This is us, tomorrow)

3.10.1
3
Sep 11
Binary Challenge: Unsigned

Short ISP Commitments and Proposal


Legacy: GB Machine (1st DER Submission)
Component Distribution

2
Sep 9
Binary Challenge: Unsigned
(minimum 500 in 5 minutes for everyone)
Finishing 3D Prints
Mastercraft Sander (Thanks, James!)
Short ISP Options, Discussion, and (High) Expectations
Starters are a dime-a-dozen...
Confirmation of
TA Day Assignments
(First Term)
1
Sep 5
Our ACES' Program: Contradictions
ACES Hall of Fame: E. McAuliffe ('18)
Mariano Elia ('15) Hackster.io, Argon Prototypes
AVR Optimization
2019/2020
ACES Program

TA Day Assignments
(First Term)
Student Outline
Mr. D's Timetable
Course Planning
Questionnaire

Review and analysis
of the new ACES'
Binary Challenge device
For our second Field Trip of the year we have been invited to visit a factory that is developing solar panels. Since this device is an integral part of our Greenhouse Project this year, early familiarity with this technology will be advantageous.
What better way is there to start the year than with a walking field trip to acquire the electronic components that we will make good use of? You'll also be aware of its location for your own personal projects.
I have no formal training in electronics or electrical engineering - I'm just really interested in this field. The knowledge and skill I have has been largely acquired over the last few years from learning alongside many talented Georgians and I look forward to expanding my capabilities by working with you this year.
I ask six things of my ACES (for most other things I'm usually flexible):
1. Do not cheat.
2. Show respect for adult visitors that enter the DES by immediately stopping what you are doing, standing and facing the individual(s).
3. Show respect for the lab by not eating in the DES. You may go into the hallway for a quick bite if you need to.
4. Show respect for the lab's resources by not wasting or misusing them.
5. Show respect for others that use the lab by putting your projects away and leaving your bench area tidy when you leave.
6. Show respect for yourself by looking (and speaking) your best. It's the little things keep the doors of opportunity open.
Growing Success, p. 29
Responsibility, Organization, Independent Work, Collaboration, Initiative, Self-Reliant Growing Success. p.11.

It is worth noting, right from the start, that assessment is a human process, conducted by and with human beings, and subject inevitably to the frailties of human judgment.
However crisp and objective we might try to make it, and however neatly quantifiable may be our "results", assessment is closer to art than science.
It is, after all, an exercise in human communication.
Knowledge: Subject-specific content acquired in each course (knowledge), and the comprehension of its meaning and significance (understanding).
Thinking: The use of critical and creative thinking skills and/or processes, as follows:
Communication: The conveying of meaning through various forms, as follows:
Application: The use of knowledge and skills to make connections within and between various contexts.