Mikroszámítógépek a járműtechnikában
10. sz. melléklet
D/A konverter virtuális oszcilloszkópra// Virtual Scope Dr Gyenes Károly 2020/03/22 | |
// Szinusz hullám kirajzolás | |
#include "compiler_defs.h" | // Compiler dependent macros |
#include "C8051F020_defs.h" | // SFR declarations |
#include "TS_vInterface.h" | // ToolStick Virtual Tools Interface |
#include "math.h" |
|
typedef unsigned char byte; | |
typedef unsigned int word; | |
#define oszt 0.01745329251 | // pi/180 |
// Function Prototypes | |
void PORT_Init(void); | |
void LCD_Init(void); |
|
void Delay(void); |
|
word i = 0; | |
float y; | |
// Main Routine | |
void main (void) |
|
{ | |
UU16 value; |
// Az oszcilloszkópnak átadandó érték |
PORT_Init(); |
// Initialize port I/O pins |
SilabsInit020(); |
// Call this init function in the |
LCD_Init(); |
// Initialize LCD |
ScopeClearBuffer(0x0F); | // Clear channels 1 thru 4 |
value.U16 = 2000; |
|
while (1) |
|
{ | |
ScopeSampleWrite(0, value.U8[MSB], value.U8[LSB]); | |
y = 2000*sinf(oszt*i) + 2000; | // Eltolás 2000-el |
value.U16 = y; |
|
i++; | // Következő pont |
if (i==1025) |
// Képernyő max. x értéke |
{ | |
i=0; | // Újra kezd |
ScopeClearBuffer(0x0F); | |
Delay (); | |
} | |
} | |
} | |
// PORT_Init | |
void PORT_Init(void) |
|
{ | |
WDTCN = 0xDE; |
// Disable Watchdog Timer |
WDTCN = 0xAD; |
|
P5 = 0x0F; | // Clear port P5[7:4] (Switch off LEDs). |
P74OUT = 0x08; |
// P5[7:4] - LEDs D1-D4, setup as |
XBR2 = 0x40; | // Enable crossbar |
} | |
// LCD_Init | |
void LCD_Init(void) |
|
{ | |
LCD_ControlWrite(0x0C); | // Display ON, Cursor OFF |
LCD_ControlWrite(0x01); | // Clear LCD |
LCD_ControlWrite(0x06); | // Entry mode increment without shift |
} | |
void Delay(void) |
|
{ | |
volatile unsigned long i=400; | |
while (i) i--; |
|
} |
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