Example 3-20 Write a program to toggle all the bits of I/O register PORTB every 1 s. Assume that the crystal frequency is 16 MHz and the system is using an ATmega328. Solution: .ORG O LDI OUT R16, HIGH (RAMEND) SPH RIG

Introductory Circuit Analysis (13th Edition)
13th Edition
ISBN:9780133923605
Author:Robert L. Boylestad
Publisher:Robert L. Boylestad
Chapter1: Introduction
Section: Chapter Questions
Problem 1P: Visit your local library (at school or home) and describe the extent to which it provides literature...
Question

Trying to learn Assembly (Person Problem not graded)

Example 3-20
Write a program to toggle all the bits of I/O register PORTB every 1 s. Assume that the
crystal frequency is 16 MHz and the system is using an ATmega328.
Solution:
.ORG O
BACK:
LDI
OUT
LDI
OUT
L1:
L2:
13:
LDI
COM
OUT
CALL
RJMP
DELAY 1S:
LDI
LDI
LDI
DEC
BRNE
R16, HIGH (RAMEND)
SPH, R16
R16, LOW (RAMEND)
SPL, R16
R16,0x55
R16
PORTB, R16
DELAY 1S
BACK
R20, 64
R21, 200
R22,250
NOP
NOP
DEC
BRNE L3
R22
R21
L2
DEC
BRNE L1
RET
R20
; load R16 with 0x55
; complement PORTB
; send it to port B
;time delay
; keep doing this indefinitely
2014
Transcribed Image Text:Example 3-20 Write a program to toggle all the bits of I/O register PORTB every 1 s. Assume that the crystal frequency is 16 MHz and the system is using an ATmega328. Solution: .ORG O BACK: LDI OUT LDI OUT L1: L2: 13: LDI COM OUT CALL RJMP DELAY 1S: LDI LDI LDI DEC BRNE R16, HIGH (RAMEND) SPH, R16 R16, LOW (RAMEND) SPL, R16 R16,0x55 R16 PORTB, R16 DELAY 1S BACK R20, 64 R21, 200 R22,250 NOP NOP DEC BRNE L3 R22 R21 L2 DEC BRNE L1 RET R20 ; load R16 with 0x55 ; complement PORTB ; send it to port B ;time delay ; keep doing this indefinitely 2014
Write an assembly language program, using a triple loop concept, to generate a ½-second delay and
toggle a signal on PORTB. See Example 3-20 in the textbook (page 103 in the 2nd edition) for an example
of the triple loop idea. Get the delay as close to a ½-second as possible.
Transcribed Image Text:Write an assembly language program, using a triple loop concept, to generate a ½-second delay and toggle a signal on PORTB. See Example 3-20 in the textbook (page 103 in the 2nd edition) for an example of the triple loop idea. Get the delay as close to a ½-second as possible.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 5 steps

Blurred answer
Knowledge Booster
Logic Gate and Its Application
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, electrical-engineering and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Introductory Circuit Analysis (13th Edition)
Introductory Circuit Analysis (13th Edition)
Electrical Engineering
ISBN:
9780133923605
Author:
Robert L. Boylestad
Publisher:
PEARSON
Delmar's Standard Textbook Of Electricity
Delmar's Standard Textbook Of Electricity
Electrical Engineering
ISBN:
9781337900348
Author:
Stephen L. Herman
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Electrical Engineering
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education
Fundamentals of Electric Circuits
Fundamentals of Electric Circuits
Electrical Engineering
ISBN:
9780078028229
Author:
Charles K Alexander, Matthew Sadiku
Publisher:
McGraw-Hill Education
Electric Circuits. (11th Edition)
Electric Circuits. (11th Edition)
Electrical Engineering
ISBN:
9780134746968
Author:
James W. Nilsson, Susan Riedel
Publisher:
PEARSON
Engineering Electromagnetics
Engineering Electromagnetics
Electrical Engineering
ISBN:
9780078028151
Author:
Hayt, William H. (william Hart), Jr, BUCK, John A.
Publisher:
Mcgraw-hill Education,