Example 93. configuring a digital one-shot – Intel 80C188XL User Manual

Page 251

Advertising
background image

TIMER/COUNTER UNIT

9-22

Example 9-2. Configuring a Square-Wave Generator (Continued)

Example 9-3. Configuring a Digital One-Shot

pop

dx

;restore saved registers

pop bx
pop ax

pop

bp

;restore caller’s bp

ret

_clock

endp

lib_80186

ends

end

$mod186
name example_timer1_1_shot_code

; FUNCTION: This function generates an active-low one-shot pulse
;

on Timer 1 output pin.

;
; SYNTAX:

extern void far one_shot(int CMPB);

;
; INPUTS:

CMPB - This is the T1CMPB value required to generate a

;

pulse of a given pulse width. This value is calculated

;

from the formula below.

;
;

CMPB = (req_pulse_width*f)/4

;
; OUTPUTS:

None

;
; NOTE:

Parameters are passed on the stack as required by

;

high-level languages

T1CNT

equ xxxxH

;substitute register offsets

T1CMPA equ xxxxH
T1CMPB equ xxxxH
T1CON

equ xxxxH

MaxCount equ 0020H

lib_80186

segment public ’code’

assume cs:lib_80186

public

_one_shot

_one_shot

proc far

push

bp

;save caller’s bp

mov

bp, sp

;get current top of stack

Advertising
This manual is related to the following products: