Главная  Микроконтроллеры 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [ 39 ] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93]

row data=0;

>;

Выбрать следующий столбец, входы будут притянуты к 5 В

КЕУ0иТ=-со1итп;

>

Проверить, были ли нажаты клавиши

unsigned inkeyCvoid)

unsigned к;

if (k=keys) keys=0;

return k;

>

void init keypad(void) {

DDRD=OxfO:

INIT.TIHERO;

TCCR0=3;

TIMSK=2;

#asm("sei")

>

mainO { unsigned k; init keypad(); lcd init(16):

lcd putsf("CVAVR Keypad");

Читать состояние клавиш и индицировать код клавиши while (1) {

lcd gotoxy(0,1); if (k=inkey()) (

sprintf(buf,"Key code=%Xh",к);

lcd puts(buf);

else lcd putsf("NO KEY ");

delay ms(500);

>

Работа с алфавитно-цифровым ЖК-индикатором 2x16



PORTC

- 9

- 10

LCD HEADER Vo

- 1

- 2

- 3

- 5

- 6

- 7

- 8

Текст программы:

ЖК-индикатор подсоединен к выходам порта PORTC

смотри файл Icd.h в директории..\1пс

Itasm

.equ lcd port=0x15 ;PORTC (tendasm

Включить в состав программы описания и процедуры для работы с ЖК-индикатором Kinclude <lcd.h>

void main(void) (

Инициализировать ЖК-индикатор для работы с 2 строками по 16 символов lcd init(16);

Перейти на 2-ю строку ЖК-индикатора lcd gotoxy(0,1);

Отобразить сообщение lcd piitsf("Hello world");

Остановиться (бесконечный цикл)

while (1);

>

Использование определенных пользователем символов при работе с ЖК-индикатором со встроенным контроллером

Использован ЖК-индикатор со встроенным контроллером, подсоединенный к порту PORTC следующим образом:



Использован алфавитно-цифровой ЖК-индикатор. Соединения между ЖК-индикатором и платой со схемой должны быть как можно короче.

Текст программы:

Включить в программу определения и процедуры для работы со ЖК-индикатором в плате STK200/300 Sinclude <lcdstk.h>

typedef unsigned char byte;

Таблица для определенного пользователем символа стрелка, указывающая на верхний правый угол flash byte char0[8]={ ObOOOOOOO,

Oboooim,

ObOOOOOII, ObOOOOIOI, ObOOOIOOI. ObOOIOOOO, ObOIOOOOO. OblOOOOOO};

функция, использованная для определения заданного пользователем символа

void define char(byte flash «pc.byte char code)

byte i,a:

a=(char code«3) 0x40;

for (i=0: i<8; i++) lcd write byte(a++,«pc++); >

void maln(void) {

II Инициализация ЖКИ для работы

II с 2 строками по 16 символов в строке

lcd init(16);

Определить символ О define char(charO,0);

Переключиться в режим записи в память отображения (Display RAM) lcd gotoxy(0.0);

Отобразить определенный пользователем символ

lcd putsf("User defined\nchar О:");

Отобразить определенный пользователем символ О

lcd putchar(0);

Стоп (бесконечный цикл)

while (1);

>



[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [ 39 ] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93]

0.0014