Gyenes Károly

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


5. sz. melléklet

A/D konverzió
 
; A program a Potméterrel beállított feszültséget (0-3V3) a 12 bites A/D konverterrel ; ;méri. Az eredmény 4 felső bitjét a LED-eken kijelzi.
.area RSEG(DATA)
;Adat szegmens (RAM)
P5
= 0x85
;P5 címe
P74OUT
= 0xB5
;A P74OUT
WDTCN
= 0xFF
;A WDTCN címe
OSCXCN
= 0xB1
;Belső órajel
OSCICN
= 0xB2
;Külső órajel
REF0CN
= 0xD1
;AD átalakítás referencia feszültség
AMX0CF
= 0xBA
;Multiplexer
AMX0SL
= 0xBB
;Mux select
ADC0CF
= 0xBC
;Config
ADC0CN
= 0xE8
;Control
ADC0H
= 0xBF
;ADC MSB
ADC0L
= 0xBE
;ADC LSB
SYSCLK
= 22118400
SARCLK
= 2500000
.area BIT(DATA)
AD0BUSY
= 0xEC
;AD0BUSY bit helye (ADC0CN.4)
.area CSEG(CODE)
;Kód szegmens
.area HOME(CODE)
acall init
acall clock_init
acall adc_init
setb EA
loop:
setb AD0BUSY
;ADC0 indítása
conv:
jb AD0BUSY, conv
;A konverzió folyamatban van (azaz AD0BUSY=1)
mov
a, ADC0H
;A felsö 4 bit
swap
a
mov P5,a
sjmp loop
;Végtelen ciklus
init:
mov
WDTCN, #0xDE
;WatchDog tiltás
mov
WDTCN, #0xAD
mov P74OUT, #0x08
mov P5, #0x0F
;LED-ek sötétek, gombok 1 értékűek alapállapotban
ret
clock_init:
mov OSCXCN,#0x67
;Külso oszcillátor beállítása
mov R0,#3
;Késleltetés 3×256 műveletig (~1ms)
delay1:
clr A
delay0:
djnz ACC,delay0
djnz R0,delay1
wait:
mov A,OSCXCN
;Várakozás a külső órajelre
jnb ACC.7,wait
;Az ACC.7 utasítás csak ilyen formában működik
mov OSCICN,#0x0B
;Belső órajel off, helyette külső oszcillátor használata
ret
adc_init:
mov REF0CN, #0x03
mov AMX0CF, #0
mov AMX0SL, #0x02
mov A,#SYSCLK
;Számolás ADC0CF.7 - ADC0CF.3 bitek
mov B,#SARCLK
;A művelet SYSCLK/SARCLK-1
div AB
dec A
;A művelet eredménye ACC-ban (az alsó 5 biten)
mov B,#8
mul AB
;ACC bitek eltolása balra 3x (szorzás 2^3=8-cal)
mov ADC0CF, A
anl ADC0CF,#0xF8
;Maszkolás: az alsó 3 bit 0, gain = 1 miatt!
mov ADC0CN,#0x80
;Jjobbra igazítás az összehasonlításhoz jó
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