full.c

来自「Source code for driving RFM01 fm radio r」· C语言 代码 · 共 59 行

C
59
字号
/*--------------------------------------------------------------------- */
/*	Test klawiatury matrycowej, wy渨ietlaczy LCD i LED,		*/
/*	magistrali I2C i zegara PCF8583. Symulacja prostego terminala.	*/
/*	Autor: Robert Krysztof						*/
/* 	WWW:	http://www.8051.prv.pl 					*/
/*	E-mail: robert.krysztof@wp.pl					*/
/* -------------------------------------------------------------------- */

/* -------------------------------------------------------------------- */
/* Uk砤d klawiatury:							*/
/* [ 7 ] [ 8 ] [ 9 ] [ESC]						*/
/* [ 4 ] [ 5 ] [ 6 ] [ENT]						*/
/* [ 1 ] [ 2 ] [ 3 ] [ ^ ]						*/
/* [ < ] [ 0 ] [ > ] [ v ]						*/
/* -------------------------------------------------------------------- */

#include <avr/io.h>
#include <avr/pgmspace.h>
#include "kbd.h"		// obs硊ga klawiatury
#include "lcd.h"		// obs硊ga wy渨ietlacza LCD
#include "led7seg.h"		// obs硊ga wy渨ietlacza LED
#include "uart.h"		// obs硊ga portu szeregowego
#include "pcf8583.h"		// obs硊ga zegara I2C PCF8583

/* -------------------------------------------------------------------- */
/*			Deklaracje tablic i zmiennych			*/
/* -------------------------------------------------------------------- */

u08 ssek, sek,min,godz,dzien;   /* aktualny czas                       */

/* -------------------------------------------------------------------- */
/*		  Definicje stalych i makroinstrukcji			*/
/* -------------------------------------------------------------------- */

#define ENT	13
#define ESC	27

#define KBD_ascii	pgm_read_byte(&KBD_conv[KBD_key-1])
// makro zwracaj筩e kod ASCII wci渘i阾ego klawisza

prog_char KBD_conv[] = {'7','4','1','D','8','5','2','0','9','6','3','C',ESC,ENT,'A','B'}; 
// tablica przekodowuj筩a kod klawisza na kod ASCII

prog_char CURSOR[] = {ESC,'[',0};
// pocz箃kowe kody ANSI do sterownia kursorem terminala

/* -------------------------------------------------------------------- */
/* -------------		Program glowny		--------------- */
/* -------------------------------------------------------------------- */

int main(void)
{             
  char c;			// odebrany znak
  UART_init();			// inicjalizacja portu szeregowego
  LCD_init();			// inicjalizacja wy渨ietlacza LCD
  LCD_PL_chars_init();		// polskie znaki na wy渨ietlaczu LCD
  KBD_init();			// inicjalizacja klawiatury
  LED7SEG_init();		// inicjalizacja wy渨ietlacza
  sei();                       	// w彻cz obs硊g

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?