Gyenes Károly

Mikroszámítógépek a járműtechnikában


2. sz. melléklet

A program G1 gomb ismételt lenyomására ki-be kapcsolja a LED1 lámpát
 
; ASM2 program
; Pusing Button1 (P5.0) --> LED1 (P5.4) ON/OFF
; Dr K. Gyenes 15/02/2010
.module asm1
.optsdcc -mmcs51 --model-small
;--------------------------------------------------------
; special function registers
;--------------------------------------------------------
.area RSEG (DATA)
WDTCN
= 0xFF
; Watch Dog Timer
P5
= 0x85
; P5 Port
OSCICN
= 0xB2
; Oscillator
P74OUT
= 0xB5
; P4..P7 Control
.area BIT (DATA)
LED_ST
= 0x21
; LED1 status bit
.area CSEG (CODE)
.area HOME (CODE)
mov OSCICN,#0x86
; OSCICN = 0x86
wosc:
; while ( (OSCICN & 0x10) == 0);
mov
a, OSCICN
anl
a,#0x10
; test bit_4 (until 0 not ready)
jz
wosc
mov
WDTCN, #0xDE
; Disable WD
mov
WDTCN, #0xAD
mov
P74OUT, #0x08
; P74OUT = 0x08 P5 Init
mov
P5,#0x0F
; All LEDs dark
clr
LED_ST
loop:
mov
a,P5
; If push button P5.0 = 0
jb
acc.0, loop
; while not push button1
rele:
mov
a,P5
; While not releise button
jnb
acc.0, rele
acall
delay
; some delay
jb
LED_ST, off
; If LED1 lights : jump off
orl
P5, #0x10
; LED1 ON
setb
LED_ST
sjmp
loop
off:
anl
P5, #0xEF
; LED1 off
clr
LED_ST
sjmp
loop
delay:
mov
r0,#0x10
del0:
mov
r1,#10
del1:
mov
r2,#10
del2:
djnz
r2,del2
djnz
r1,del1
djnz
r0,del0
ret
;
--- E N D O F M O D U L E ---
 

Mikroszámítógépek a járműtechnikában

Tartalomjegyzék


Kiadó: Akadémiai Kiadó

Online megjelenés éve: 2021

ISBN: 978 963 454 711 2

A kötet elsősorban a BME Közlekedésmérnöki Kar mesterszakos hallgatói számára készült az azonos nevű tárgy segédleteként, de hasznos lehet a logisztika, elektrotechnika és számítástechnika témái iránt érdeklődő hallgatók számára is. A szerző azoknak a mechatronika, elektronika és számítástechnika iránt elkötelezett hallgatóknak ajánlja, akik TDK-munkát készítenek, de hasznos lehet a diplomamunkát írók és az államvizsgára felkészülők számára is.

Hivatkozás: https://mersz.hu/gyenes-mechatronika-es-mikroszamitogepek//

BibTeXEndNoteMendeleyZotero

Kivonat
fullscreenclose
printsave