Skip to content

Commit c2b9d92

Browse files
committed
utf8
1 parent 6068d59 commit c2b9d92

3 files changed

Lines changed: 22 additions & 22 deletions

File tree

MC1368c-multi/AVRGCC4/ADC_OUTPUT-MC1368c-multi.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*
1+
/*
22
* AVRGCC4.c
33
*
44
* Created: 13.04.2017 22:28:35

MC1368c-multi/AVRGCC4/MC1368c-multi.c

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include "MC1368c-multi.h"
1+
#include "MC1368c-multi.h"
22
// 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z - " "
33
unsigned char lcd_symbols[38]={0x7D,0x05,0x5B,0x1F,0x27,0x3E,0x7E,0x15,0x7F,0x3F,0x77,0x6E,0x78,0x4F,0x7A,0x72,0x7C,0x67,0x05,0x4D,0x63,0x68,0x54,0x46,0x7D,0x73,0x37,0x42,0x3E,0x6A,0x6D,0x4C,0x5C,0x65,0x2F,0x59,0x02,0x0};
44

@@ -21,7 +21,7 @@ while (len!=0)
2121

2222
void LCD_init(void)
2323
{
24-
//âêëþ÷àåì ñèñòåìó (ïîäêëþ÷àåì îñíîâíîé òàéìåð ê êîíòðîëëåðó)
24+
//включаем систему (подключаем основной таймер к контроллеру)
2525
LCD_PORT&=~(1<<CS_PIN); //CS_PIN
2626
_delay_us(2);
2727
LCD_write_byte(0x8,4);//0b1000
@@ -30,7 +30,7 @@ _delay_us(2);
3030
LCD_PORT|=(1<<CS_PIN); //CS_PIN
3131
_delay_us(2);
3232

33-
//âûáèðàåì ðåæèì ðàáîòû (â ýòîé êîìàíäå VLCD x 1/3, ìóëüòèïëåêñ 1:4)
33+
//выбираем режим работы (в этой команде VLCD x 1/3, мультиплекс 1:4)
3434
LCD_PORT&=~(1<<CS_PIN); //CS_PIN
3535
_delay_us(2);
3636
LCD_write_byte(0x8,4); //0b1000
@@ -39,7 +39,7 @@ _delay_us(2);
3939
LCD_PORT|=(1<<CS_PIN); //CS_PIN
4040
_delay_us(2);
4141

42-
//âêëþ÷àåì LCD (ïîäêëþ÷àåì îñíîâíîé òàéìåð ê äðàéâåðó LCD)
42+
//включаем LCD (подключаем основной таймер к драйверу LCD)
4343
LCD_PORT&=~(1<<CS_PIN); //CS_PIN
4444
_delay_us(2);
4545
LCD_write_byte(0x8,4);//0b1000
@@ -53,12 +53,12 @@ void LCD_clear(void){
5353
unsigned char i;
5454
LCD_PORT&=~(1<<CS_PIN); //CS_PIN
5555
_delay_us(2);
56-
// êîìàíäà íà ðàçðåøåíèå çàïèñè â ðåãèñòð äàííûõ LCD
56+
// команда на разрешение записи в регистр данных LCD
5757
LCD_write_byte(0x5,3);//0b101
58-
// ïåðåäà÷à íà÷àëüíîãî àäðåñà, ñ êîòîðîãî äàííûå ïîìåùàþòñÿ â ðåãèñòð äàííûõ LCD
58+
// передача начального адреса, с которого данные помещаются в регистр данных LCD
5959
LCD_write_byte(0,6);//0b000000
60-
//îòïðàâëÿåì 16 ðàç â èíäèêàòîð ïóñòîé áàéò, ÷òîá ïîãàñèòü âñå LCD ñåãìåíòû è ìíåìîíè÷åñêèå ñèìâîëû, òî åñòü î÷èùàåì äèñïëåé.
61-
//Ñ÷åò÷èê àäðåñà â èíäèêàòîðå àâòîìàòèåñêè óâåëè÷èâàåò çíà÷åíèå íà 1 çà êàæäûå 4 áèòà.
60+
//отправляем 16 раз в индикатор пустой байт, чтоб погасить все LCD сегменты и мнемонические символы, то есть очищаем дисплей.
61+
//Счетчик адреса в индикаторе автоматиески увеличивает значение на 1 за каждые 4 бита.
6262
for (i=0; i<16;i++)
6363
{
6464
LCD_write_byte(0,8);//0b00000000
@@ -73,9 +73,9 @@ LCD_PORT&=~(1<<CS_PIN);
7373
_delay_us(2);
7474
LCD_write_byte(0x8,4); // 0b1000
7575
if (on_off==1)
76-
{LCD_write_byte(0x6,8);} //0b00000110 âêëþ÷èòü äèñïëåé
76+
{LCD_write_byte(0x6,8);} //0b00000110 включить дисплей
7777
else
78-
{LCD_write_byte(0x4,8);} //0b00000100 âûêëþ÷èòü äèñïëåé
78+
{LCD_write_byte(0x4,8);} //0b00000100 выключить дисплей
7979
_delay_us(2);
8080
LCD_PORT|=(1<<CS_PIN);
8181
}
@@ -90,11 +90,11 @@ unsigned char a;
9090

9191
LCD_PORT&=~(1<<CS_PIN); //CS_PIN
9292
_delay_us(2);
93-
// êîìàíäà íà ðàçðåøåíèå çàïèñè â ðåãèñòð äàííûõ LCD
93+
// команда на разрешение записи в регистр данных LCD
9494
LCD_write_byte(0x5,3);//0b101
95-
LCD_write_byte((pos<<1),6);//âû÷èñëÿåì íà÷àëüíûé àäðåñ ÿ÷åéêè ðåãèñòðà îòíîñèòåëüíî ïîçèöèè ñèìâîëà íà äèñïëåå è çàïèñûâàåì åãî â äèñïëåé.
95+
LCD_write_byte((pos<<1),6);//вычисляем начальный адрес ячейки регистра относительно позиции символа на дисплее и записываем его в дисплей.
9696

97-
// ðàñïå÷àòûâàåì áóôåð ñ óêàçàííîé ïîçèöèè pos è íà óêàçàííóþ äëèíó len
97+
// распечатываем буфер с указанной позиции pos и на указанную длину len
9898
for (a=pos;a<(len+pos);a++)
9999
{
100100
LCD_write_byte(lcd_buffer[a],8);
@@ -113,8 +113,8 @@ void LCD_print_digit(int digit, unsigned char pos_dig,unsigned char len,unsigned
113113
while (str[i]!=0)
114114
{
115115
ascii_conv=str[i]-0x30;
116-
if (ascii_conv==0xFD){ascii_conv=0x24;} // äåøèôðóåì çíàê ìèíóñ
117-
if(ascii_conv>=0x31){ascii_conv=ascii_conv-0x27;} // äåøèôðóåì áóêâû äëÿ HEX (radix 16)
116+
if (ascii_conv==0xFD){ascii_conv=0x24;} // дешифруем знак минус
117+
if(ascii_conv>=0x31){ascii_conv=ascii_conv-0x27;} // дешифруем буквы для HEX (radix 16)
118118
lcd_buffer[i+pos_dig]=(lcd_buffer[i+pos_dig]&0x80)|((lcd_symbols[ascii_conv])&mask);
119119
i++;
120120
}
@@ -130,8 +130,8 @@ while (string[i]!=0)
130130
{
131131
ascii_conv=string[i]-0x30;
132132
if(ascii_conv>=0x11){ascii_conv=ascii_conv-0x07;}
133-
if (ascii_conv==0xF6){ascii_conv=0x24;} // äåøèôðóåì çíàê ìèíóñ
134-
if (ascii_conv==0xE9){ascii_conv=0x25;} // äåøèôðóåì ïðîáåë
133+
if (ascii_conv==0xF6){ascii_conv=0x24;} // дешифруем знак минус
134+
if (ascii_conv==0xE9){ascii_conv=0x25;} // дешифруем пробел
135135

136136
lcd_buffer[i+pos_str]=(lcd_buffer[i+pos_str]&0x80)|((lcd_symbols[ascii_conv])&mask);
137137
i++;
@@ -150,11 +150,11 @@ if (on_off==0){lcd_buffer[symb_pos[symbol]]=lcd_buffer[symb_pos[symbol]]&~0x80;}
150150

151151
LCD_PORT&=~(1<<CS_PIN); //CS_PIN
152152
_delay_us(2);
153-
// êîìàíäà íà ðàçðåøåíèå çàïèñè â ðåãèñòð äàííûõ LCD
153+
// команда на разрешение записи в регистр данных LCD
154154
LCD_write_byte(0x5,3);//0b101
155-
LCD_write_byte((address<<1),6);//âû÷èñëÿåì íà÷àëüíûé àäðåñ ÿ÷åéêè ðåãèñòðà, îòíîñèòåëüíî ïîçèöèè ìíåìîñèìâîëà íà äèñïëåå, è çàïèñûâàåì åãî â äèñïëåé.
155+
LCD_write_byte((address<<1),6);//вычисляем начальный адрес ячейки регистра, относительно позиции мнемосимвола на дисплее, и записываем его в дисплей.
156156

157-
LCD_write_byte(lcd_buffer[symb_pos[symbol]],8); //îòïðàâëÿåì óêàçàííûé áàéò ñ èçìåíåííûì 7 áèòîì èç áóôåðà â äèñïëåé, ÷òîá çàæå÷ü èëè ïîãàñèòü ìíåìîñèìâîë.
157+
LCD_write_byte(lcd_buffer[symb_pos[symbol]],8); //отправляем указанный байт с измененным 7 битом из буфера в дисплей, чтоб зажечь или погасить мнемосимвол.
158158

159159
_delay_us(2);
160160
LCD_PORT|=(1<<CS_PIN); //CS_PIN

MC1368c-multi/AVRGCC4/MC1368c-multi.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#define F_CPU 12000000
1+
#define F_CPU 12000000
22
#define LCD_PORT PORTB // PORTB2 - CS; PORTB1 - WR; PORTB0 - DATA;
33
#define DATA_PIN 0
44
#define CLK_PIN 1

0 commit comments

Comments
 (0)