Gyenes Károly

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


12. sz. melléklet

Switch konvertálása decimális formába
 
// A program beolvassa SW5 8 bites állását kiírja a virtuális LCD kijelzőre
// decimális szám formában Dr K. Gyenes 2009/08/30
#include "compiler_defs.h"
// Compiler dependent macros
#include "C8051F020_defs.h"
// SFR declarations
#include "TS_vInterface.h"
// ToolStick Virtual Tools Interface
typedef unsigned char byte;
typedef unsigned int word;
// Function Prototypes
void PORT_Init(void);
void LCD_Init(void);
void nr_out(byte x);
void delay(byte k);
// ==== Main Routine ====
void main (void)
{
byte nr,nr_old;
WDTCN = 0xDE;
// Disable Watchdog Timer
WDTCN = 0xAD;
PORT_Init();
// Initialize port I/O pins
SilabsInit020 ();
// Call this init function in the
P5 |= 0x10;
// LED1 ON
LCD_Init ();
// Initialize LCD
nr = ~P4;
// Get SW5
nr_old = nr;
nr_out(nr);
while (1)
// Endless working loop
{
nr = ~P4;
// Get SW5
if (nr^nr_old)
// SW4 changed
{
nr_old = nr;
LCD_ControlWrite(0x01);
// Clear LCD
nr_out(nr);
}
}
}
// ==== End of Main====
void PORT_Init(void)
{
P5 = 0x0F;
// Clear port P5[7:4] (Switch off LEDs).
P74OUT = 0x08;
// P5[7:4] - LEDs D1-D4, setup as
P3 |= 0x80;
// Set P3.7 to 1
P3MDOUT = 0x80;
// P3.7 push-pull output
XBR2 = 0x40;
// Enable crossbar
}
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 nr_out(byte x)
{
byte n10, n100;
n100 = x / 100;
// hundreds : 0,1,2
LCD_DataWrite(n100+48);
// Write out char
x -= 100 * n100;
n10 = x / 10;
// tens
LCD_DataWrite(n10+48);
n10 = x % 10;
// ones
LCD_DataWrite(n10+48);
}
void delay(byte k)
{
volatile word i,j;
for (j=0; j < k; j++);
for (i=0; i < 40000; i++);
}
// ==== End of Module ====
 

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