Mikroszámítógépek a járműtechnikában
6. sz. melléklet
Timer0 villogtatja a négy LED-lámpát#include <compiler_defs.h> | |
#include <c8051f020_defs.h> | |
typedef unsigned char byte; // Saját típusok | |
typedef unsigned int word; | |
#define SYSCLK 22118400 // External crystal oscillator frequency | |
#define THREL 0xB8 // Reload value for timer_0 10 ms | |
#define TLREL |
0x00 |
void Port_init(void); | |
void Timer0_Init(void); | |
void Clock_init(void); | |
word cnt = 0; |
// 10 ms counter |
// -------- M A I N R O U T I N E -------- | |
void main(void) |
|
{ | |
Clock_init(); |
// Rutin prototípus deklaráció |
Port_init(); |
|
Timer0_Init(); |
|
EA = 1; | |
while (1); |
// endless loop |
} | |
// -------- E N D O F M A I N -------- | |
void Clock_init(void) | |
{ | |
OSCXCN = 0x67; | // Ext. Osc. (christal no divide by 2 stage) |
cnt = 1000; |
|
while (cnt--); |
// wait |
while ((OSCXCN & 0x80) != 0x80); | // until ready |
OSCICN |= 0x08; |
// ON |
} | |
void Port_init(void) |
|
{ | |
WDTCN = 0xDE; |
// Switch off watchdog |
WDTCN = 0xAD; |
|
P74OUT = 0x08; |
// Output configuration for P4-7 |
P5 |= 0x0F; |
|
P5 &= 0x0F; |
|
} | |
void Timer0_Init(void) | |
{ | |
CKCON &= 0xFE; | // Timer 0 clock (Bit_3) = osc/12 |
TMOD = 0x01; |
// Timer 0 set as timer mode 1 |
TH0 = THREL; |
|
TL0 = TLREL; |
|
ET0 = 1; | // Enable Timer_0 IT |
TR0 = 1; | // Start Timer_0 |
} | |
void Timer0_IT(void) interrupt 1 | // Occurs at every 10 ms |
{ | |
TH0 = THREL; |
|
TL0 = TLREL; |
|
cnt++; | |
if (cnt % 50 == 0) P5 ^=0x10; | // 500 ms : LED 1 blink |
if (cnt % 100 == 0) P5 ^=0x20; | // 1 s : LED 2 blink |
if (cnt % 200 == 0) P5 ^=0x40; | // 2 s : LED 3 blink |
if (cnt % 500 == 0) | |
{ | |
P5 ^=0x80; |
// 5 s : LED 4 blink |
cnt = 0; | // Reset counter |
} | |
} | |
// ==== End of Module==== |
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