Question: Write an assembly program that turns on the LED as soon as BTN 0 is pressed and turns it off as soon as it is
Write an assembly program that turns on the LED as soon as BTN is pressed and turns it off as soon as it is released. The program must also use TIMER timer to measure the duration of pressing the button and print this duration in milliseconds in the terminal window upon the button release. The program must be capable to measure the press duration up to seconds. Configure button pin for falling and rising edge interrupts. Note that by default TIMER works in bit mode, that is it counts up to xFFFF and then resets to Make sure to process GPIO and TIMER hardware interrupts by using interrupt handlers and NVIC, so no flags polling. WRITE IT IN THIS FORMAT:
INCLUDE EFRBGinc ; CPU register definitions
INCLUDE terminal.inc ; terminal function definitions
EXPORT main
IMPORT LETIMERsetup ; import names from other code files
IMPORT GPIOsetup
; ; noninitialized DATA segment in RAM
AREA RAM, DATA, NOINIT, READWRITE, ALIGN
;myWord SPACE ; bit variable MUST BE ALIGHED!
;myHalf SPACE ; bit variable MUST BE ALIGHED!
;myByte SPACE ; bit variable NO alighment required
; ; CODE segment in flash ROM
AREA text CODE, READONLY
main PROC ; main user code
bl Terminalsetup ; setup TeraTerm communication
; bl GPIOsetup ; configure port pins
; bl LETIMERsetup ; start sec timer for periodic events
; your code starts here
loop ; periodic task starts here
b loop ; repeat periodic task
ENDP
;
;prompt DCB "Enter a number: ; allocate constant strings here
ALIGN
;constW DCD ; initialized bit constant
;constH DCW ; initialized bit constant
;constB DCB ; initialized bit constant
ALIGN
END
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
