Mikroszámítógépek a járműtechnikában
9. sz. melléklet
Az UART programozása// Virtuális Terminál Dr Gyenes Károly 2020/03/22. | |
// Küld nagybetűket | |
// G1 lenyomása után ECHO mód | |
#include "compiler_defs.h" | // Compiler dependent macros |
#include "C8051F020_defs.h" | // SFR declarations |
#include "TS_vInterface.h" | // ToolStick Virtual Tools Interface |
SBIT(CTS, SFR_P3, 7); | // CTS signal for UART communication |
// Function Prototypes | |
void PORT_Init(void); | |
void LCD_Init(void); |
|
void Simple_Delay(void); | |
// Main Routine | |
void main (void) |
|
{ | |
char char_to_send; | // Value to be sent to the virtual tools |
unsigned char rx_char; | |
unsigned char LED_scan; | |
PORT_Init(); |
// Initialize port I/O pins |
SilabsInit020(); |
|
LCD_Init(); |
// Initialize LCD |
char_to_send = 'A'; | |
while ((P5 & 0x01) == 1) | // Until button P5.0 is pressed: |
{ | |
TerminalWrite(char_to_send); | |
LCD_DataWrite(char_to_send); | |
char_to_send++; |
|
if (char_to_send > 'N') | |
{ | |
char_to_send = 'A'; | |
TerminalWrite('\x0D'); | // Send carriage return and line feed |
TerminalWrite('\x0A'); | // characters to move to new line |
} | |
Simple_Delay(); |
|
} | |
// Button P5.0 was pressed; Now execute ToolStick Terminal echo code | |
P5 |= 0xF0; | // Switch ON all P5[7:4] LEDs |
LED_scan = 0x10; |
|
CTS = 0; | // Assert CTS to indicate ready to receive data |
while (1) | // Spin forever |
{ | |
rx_char = TerminalRead (); | // Read from ToolStick Terminal |
P5 = LED_scan | 0x0F; | // Light LED to show progress |
LED_scan = LED_scan << 1; | // Shift for next iteration |
if (LED_scan == 0x00) | |
LED_scan = 0x10; | |
if (rx_char >= 'a' && rx_char <= 'z') | |
rx_char += 'A' - 'a'; | // Change case to upper case |
TerminalWrite(rx_char); | // Write to ToolStick Terminal |
} | |
} | |
// 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 push-pull outputs. |
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 Simple_Delay(void) | |
{ | |
volatile unsigned int i; | |
for (i = 0; i < 40000; i++) | |
{ | |
i--; | |
i++; | |
} | |
} | |
// --- End Of File --- |
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