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 --- |
Tartalomjegyzék
- Mikroszámítógépek a járműtechnikában
- Impresszum
- Köszönetnyilvánítás
- 1. Ajánlás
- 2. Bevezetés
- 3. A számítástechnika fejlődése (történeti áttekintés)
- 4. Mikroszámítógép-generációk
- 5. Integrált áramkör előállítása
- 6. Aritmetikai műveletek a mikroszámítógépekben
- 7. Az analóg jelek átalakítása
- 8. Kommunikáció a mikroszámítógéppel
- 9. A mikroszámítógép hardverfelépítése
- 10. Az utasítások felépítése
- 11. Megszakítások
- 12. A programfejlesztő környezet
- 13. A mikroszámítógépek programozása
- 14. Az assembler program készítése
- 15. C program készítése
- 16. Az Arduino mikrogép
- 17. Mellékletek
- 1. sz. melléklet • Az ütemjel-generáló assembler program forráskódja
- 2. sz. melléklet • A program G1 gomb ismételt lenyomására ki-be kapcsolja a LED1 lámpát
- 3. sz. melléklet • A program 1 sec idővel villogtatja LED1 lámpát
- 4. sz. melléklet • Megszakítás kiváltása
- 5. sz. melléklet • A/D konverzió
- 6. sz. melléklet • Timer0 villogtatja a négy LED-lámpát
- 7. sz. melléklet • A program a processzor hőmérsékletét méri és a virtuális LCD-re írja
- 8. sz. melléklet • A programbillentyű kezelést valósít meg
- 9. sz. melléklet • Az UART programozása
- 10. sz. melléklet • D/A konverter virtuális oszcilloszkópra
- 11. sz. melléklet • PWM jel generálása
- 12. sz. melléklet • Switch konvertálása decimális formába
- 13. sz. melléklet • Az Arduino szintaktikája
- 14. sz. melléklet • Az Arduino beépített függvényei
- 1. sz. melléklet • Az ütemjel-generáló assembler program forráskódja
- 18. Példatár
- 19. Irodalom
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