Экономические средства регулирования внешнеэкономической деятельности. Основные методы и инструменты государственного регулирования внешнеэкономической деятельности

Привет Ребятушки. Сегодня запилим бегущую строку на светодиодных модулях MAX7219 и Arduino. Задача очень простая и не потребует от нас больших знаний в области электроники и программирования. Для начала предлагаю изучить немного теории по устройству светодиодной матрицы, принципу ее подключения и посмотреть видео результата к которому мы будем стремиться на протяжении всей статьи.

Светодиодная матрица - это графический индикатор, который можно использовать для вывода простых изображений, букв и цифр. Я не ставлю задачу подробно разобраться с устройством матричных индикаторов, однако стоит заметить, что по сути матрица состоит и 8х8 светодиодов. По сути все сводиться к динамической индикации. Основываясь на этом, понятно, что группировать несколько матриц вместе задача не из простых. На каждый новый ряд или колонку матриц, нужно добавлять новый сдвиговый регистр вместе с проводами и резисторами, а по-хорошему еще и микросхему ULN2003.

К счастью, инженеры давно уже разработали специализированные микросхемы для управления разного рода индикаторами. В этой статье мы рассмотрим матричный модуль с микросхемой MAX7219. Как станет понятно позже, работать с таким модулем одно удовольствие.

Модуль светодиодной матрицы с микросхемой MAX7219

Модуль представляет из себя плату с микросхемой, необходимой для неё обвязкой и, собственно, матричным индикатором. Обычно индикатор не впаивают в плату, а вставляют в разъем. Это сделано для того, чтобы группу модулей можно было сначала закрепить на какой то поверхности винтами, а затем вставить в них матрицы.

У модуля есть пять выводов на каждой стороне. С одной стороны данные входят в модуль, с другой стороны данные выходят из модуля и передаются в следующий. Это позволяет соединять матрицы у цепочку.

Входной разъем / Выходной разъем:

  • VCC, GND - питание;
  • DIN - вход данных;
  • CS - выбор модуля (chip select);
  • CLK - синхроимпульс.

Работает модуль от напряжения 5 Вольт.

Вывод пикселей с помощью библиотеки Max72xxPanel

Для управления микросхемой MAX7219 воспользуемся библиотекой Max72xxPanel . Скачать её можно по ссылкам в конце статьи.

Установим библиотеку и напишем небольшой код, который будет выводить на дисплей всего одну точку с координатами x=3 и y=4. Точка будет мигать с периодом 600 миллисекунд.

#include #include #include int pinCS = 10; int numberOfHorizontalDisplays = 1; // количество матриц по-горизонтали int numberOfVerticalDisplays = 1; // количество матриц по-вертикали Max72xxPanel matrix = Max72xxPanel(pinCS, numberOfHorizontalDisplays, numberOfVerticalDisplays); void setup() { matrix.setIntensity(4); // яркость от 0 до 15 } void loop() { matrix.drawPixel(3, 4, HIGH); // зажигаем пиксель с координатами {3,4} matrix.write(); // вывод всех пикселей на матрицу delay(300); matrix.drawPixel(3, 4, LOW); // гасим пиксель matrix.write(); delay(300); }

Как уже говорилось ранее, матричные модули с микросхемой MAX7219 можно легко объединять. Именно для этой цели в начале программы мы задаем количество матриц по-горизонтали и по-вертикали. В данном случае используется одна матрица, так что оба этих параметра будут равны 1.

Важно отметить, что после включения и выключения пикселей с помощью функции drawPixel , необходимо вызвать функцию write . Без функции write, пиксели не высветятся на матрице!

Теперь напишем код, который отобразит на матрице смайл. Смайл зашифруем с помощью массива из восьми байт. Каждый байт массива будет отвечать за строку матрицы, а каждый бит в байте за точку в строке.

#include #include #include int pinCS = 10; int numberOfHorizontalDisplays = 1; // количество матриц по-горизонтали int numberOfVerticalDisplays = 1; // количество матриц по-вертикали Max72xxPanel matrix = Max72xxPanel(pinCS, numberOfHorizontalDisplays, numberOfVerticalDisplays); const byte data = { 0b00111100, 0b01000010, 0b10100101, 0b10000001, 0b10100101, 0b10011001, 0b01000010, 0b00111100 }; void setup() { matrix.setIntensity(7); // яркость от 0 до 15 matrix.fillScreen(LOW); // очистка матрицы for (int y = 0; y < 8; y++) { for (int x = 0; x < 8; x++) { // зажигаем x-й пиксель в y-й строке matrix.drawPixel(x, y, data[y] & (1<

Примечание. В библиотеке Max72xxPanel есть функция setRotation , которая задает ориентацию изображения на матрице. Например, если мы захотим повернуть смайл на 90 градусов, нужно будет сразу после вызова функции setIntensity вызвать setRotation с соответствующими аргументами:

matrix.setRotation(0, 1);

первый параметр - это индекс матрицы, в нашем случае он равен нулю; второй параметр - количество поворотов на 90 градусов.

Вывод текста с помощью библиотеки Adafruit-GFX-Library

Подобным же образом можно выводить на матрицу и любой другой символ, например, букву. Но чтобы иметь возможность отображать любую букву английского алфавита, нам необходимо будет определить в программе целых 26 восьмибайтных массива! Это очень муторно, и разумеется кто-то это уже сделал до нас.

В популярной библиотеке Adafruit-GFX-Library помимо функций для работы с графикой и текстом, имеется и база латинских букв в верхнем и нижнем регистрах, а также все знаки препинания и прочие служебные символы. Ссылка на библиотеку есть в конце статьи.

Отобразить символ на матрице можно с помощью функции drawChar .

drawChar(x, y, символ, цвет, фон, размер);

Первые два параметра функции отвечают за координаты верхнего левого угла символа. Третий параметр - это сам символ. Цвет символа в нашем случае будет равен 1 или HIGH, так как матрица двухцветная. Фон равен 0 или LOW. Последний параметр «размер» сделаем равным 1.

Напишем программу, которая будет по-очереди выводить на матрицу все буквы фразы: «HELLO WORLD!».

#include #include #include int pinCS = 10; int numberOfHorizontalDisplays = 1; int numberOfVerticalDisplays = 1; Max72xxPanel matrix = Max72xxPanel(pinCS, numberOfHorizontalDisplays, numberOfVerticalDisplays); String tape = «HELLO WORLD»; int wait = 800; void setup() { matrix.setIntensity(1); // яркость от 0 до 15 } void loop() { for (int i = 0 ; i < tape.length(); i++) { matrix.fillScreen(LOW); matrix.drawChar(0, 0, tape[i], HIGH, LOW, 1); matrix.write(); delay(wait); } }

Примечание. В библиотеке Adafruit_GFX имеется множество функций для работы с графикой. Например, drawCircle(3, 3, 2, HIGH) начертит окружность с центром {3,3} и радиусом 2. Последний параметр - цвет, но в случае монохромной матрицы он равен 1 или HIGH. Функция drawLine(0, 0, 3, 6, HIGH) начертит отрезок между точками {0,0} и {3,6}.

Бегущая строка на max7219

И так надеюсь мы разобрались с устройством и принципом вывода на одиночную матрицу. Теперь перейдем непосредственно к бегущей строке.

Что потребуется?

Для реализации идеи потребуется совсем немного деталей:

  • два светодиодных модуля, состоящих из четырёх матриц 8 на 8 пикселей;
  • соединительные провода;
  • плата Arduino Nano;

Схема

На печатной плате используемого светодиодного модуля расположено 4 матрицы размером 8 на 8 пикселей. Каждое светодиодное табло управляется микросхемой MAX7219.

MAX7219 представляет собой контроллер управления led-дисплеями, матрицами с общим катодом и дискретными светодиодами в количестве до 64 шт. Для более комфортного восприятия информации, выводимой на светодиодное табло, рекомендуется устанавливать несколько модулей. Для этого их объединяют в последовательно включенные группы, то есть выход первого модуля (out) подключают к входу второго модуля (in). Моя сборка состоит из двух модулей (16 матриц), длины которых вполне хватит для удобного прочтения целых предложений. При этом подключение сборки к Arduino производиться точно также как и к одиночному модулю.

Программирование бегущей строки.

Бегущая строка из Arduino и светодиодных модулей под управлением MAX7219 практически готова. Настало время перейти к заключающей, программной части.

#include #include #include int pinCS = 10; // Подключаем CS к 10-му пину, DIN к MOSI и CLK к SCK int numberOfHorizontalDisplays = 1; // Количество модулей по горизонтали int numberOfVerticalDisplays = 8; // Количество модулей по вертикали Max72xxPanel matrix = Max72xxPanel(pinCS, numberOfHorizontalDisplays, numberOfVerticalDisplays); String tape = ""; int wait = 10; // Скорость прокрутки в миллисикундах int spacer = 1; // Промежуток между символами (кол-во точек) int width = 5 + spacer; // Ширина символа /* Перекодировка русского шрифта из UTF-8 в Windows-1251 */ String utf8rus(String source) { int i,k; String target; unsigned char n; char m = { "0", "\0" }; k = source.length(); i = 0; while (i < k) { n = source[i]; i++; if (n >= 0xC0) { switch (n) { case 0xD0: { n = source[i]; i++; if (n == 0x81) { n = 0xA8; break; } if (n >= 0x90 && n <= 0xBF) n = n + 0x2F; break; } case 0xD1: { n = source[i]; i++; if (n == 0x91) { n = 0xB7; break; } if (n >= 0x80 && n <= 0x8F) n = n + 0x6F; break; } } } m = n; target = target + String(m); } return target; } /* Код для работы с com-портом */ String Serial_Read() { unsigned char c; // переменная для чтения сериал порта String Serial_string = ""; // Формируемая из символов строка while (Serial.available() > 0) { // Если в сериал порту есть символы c = Serial.read(); // Читаем символ //Serial.print(c,HEX); Serial.print(" "); Serial.print(c); if (c == "\n") { // Если это конец строки return Serial_string; // Возвращаем строку } if (c == 0xB8) c = c - 0x01; // Коррекция кодов символа под таблицу???? так как русские символы в таблице сдвинуты относительно стандартной кодировки utf на 1 символ if (c >= 0xBF && c <= 0xFF) c = c - 0x01; Serial_string = Serial_string + String(char(c)); //Добавить символ в строку } return Serial_string; } void setup() { Serial.begin(9600); tape = utf8rus("сайт Amateur Radio WorkShop"); // Этот текст выводиться при включении или если в com-порт не пришла информация matrix.setIntensity(3); // Яркость от 0 до 15 matrix.setRotation(matrix.getRotation()+3); //1 - 90 2 - 180 3 - 270 } void loop() { if (Serial.available()){ tape=Serial_Read(); } for (int i = 0 ; i < width * tape.length() + matrix.width() - 1 - spacer; i++) { matrix.fillScreen(LOW); int letter = i / width; // Номер символа выводимого на матрицу int x = (matrix.width() - 1) - i % width; int y = (matrix.height() - 8) / 2; // Центрируем текст по вертикали while (x + width - spacer >= 0 && letter >= 0) { if (letter < tape.length()) { matrix.drawChar(x, y, tape, HIGH, LOW,1); } letter--; x -= width; } matrix.write(); // Вывод сообщения на экран delay(wait); } }

Расписывать код не вижу смысла. Он и так хорошо прокомментирован. Однако есть некоторые особенности, о которых стоит упомянуть.

Примечание. Важно. Стандартная библиотека Adafruit_GFX изначально поддерживает только английские шрифты, поэтому ребята из России постарались и переписали библиотеку добавив русские шрифты и всякие вкусняшки. Все библиотеки и скетч доступны у меня на странице в GitHUB .

Кусок кода для работы с com-портом, нужен для того чтобы оперативно менять текст сообщения выводимого на светодиодный модуль. Однако он нужен нам не только для этого. В дальнейшем посредством этой функции мы свяжем наш и бегущую строку на Arduino.

Для работы с символьными графическими дисплеями предлагаем воспользоваться библиотекой LiquidCrystal которая входит в стандартный набор Arduino IDE и предназначена для работы по 8-битному (4-битному) параллельному интерфейсу. Если Ваш дисплей подключается к Arduino по шине I2, то Вам нужно установить библиотеку LiquidCrystal_I2C (большинство функций которой повторяют функции первой библиотеки).

Поддерживаемые дисплеи:

Дисплей Подключение и инициализация
LCD1602 - символьный дисплей (16x02 символов),


#include
[ , 8 , 9 , 10 , 11 ]);
void setup(){ lcd.begin(16 , 2); }

// Пояснение:

void setup(){ ОБЪЕКТ.begin(КОЛ_СТОЛБЦОВ, КОЛ_СТРОК); }


LiquidCrystal ОБЪЕКТ (RS , E , D0 , D1 , D2 , D3 , D4 , D5 , D6 , D7);


с интерфейсом I2C (синий)

#include
#include
LiquidCrystal_I2C lcd(0x27 или 0x3F , 16 , 2);
void setup(){ lcd.init(); }

// Пояснение:



LCD1602 I2C - символьный дисплей (16x02 символов),
с интерфейсом I2C (зелёный)

#include
#include
LiquidCrystal_I2C lcd(0x27 или 0x3F , 16 , 2);
void setup(){ lcd.init(); }

// Пояснение:
LiquidCrystal_I2C ОБЪЕКТ (АДРЕС_I2C , КОЛ_СТОЛБЦОВ, КОЛ_СТРОК);
// АДРЕС_I2C может быть либо 0x27, либо 0x3F

LCD2004 - символьный дисплей (20x04 символов),
с параллельным интерфейсом (синий)

#include
LiquidCrystal lcd(2 , 3 , 4 , 5 , 6 , 7 [ , 8 , 9 , 10 , 11 ]);
void setup(){ lcd.begin(20 , 4); }

// Пояснение:
LiquidCrystal ОБЪЕКТ (RS , E , D4 , D5 , D6 , D7);
void setup(){ ОБЪЕКТ.begin(КОЛ_СТОЛБЦОВ, КОЛ_СТРОК); }

// Если используется 8 проводов шины данных, то указываем их все
LiquidCrystal ОБЪЕКТ (RS , E , D0 , D1 , D2 , D3 , D4 , D5 , D6 , D7);

LCD2004 I2C - символьный дисплей (20x04 символов),
с интерфейсом I2C (синий)
#include
#include
LiquidCrystal_I2C lcd(0x27 или 0x3F , 20 , 4);
void setup(){ lcd.init(); }

// Пояснение:
LiquidCrystal_I2C ОБЪЕКТ (АДРЕС_I2C , КОЛ_СТОЛБЦОВ, КОЛ_СТРОК);
// АДРЕС_I2C может быть либо 0x27, либо 0x3F

#1 Пример

Выводим надпись на дисплей LCD1602 подключённый по шине I2C. Для работы с дисплеем LCD2004 нужно изменить 3 строку на LiquidCrystal_I2C lcd(0x27,20,4);

#include // Подключаем библиотеку для работы с LCD дисплеем по шине I2C LiquidCrystal_I2C lcd(0x27,16,2); // Объявляем объект библиотеки, указывая параметры дисплея (адрес I2C = 0x27, количество столбцов = 16, количество строк = 2) // Если надпись не появилась, замените адрес 0x27 на 0x3F void setup(){ // lcd.init(); // Инициируем работу с LCD дисплеем lcd.backlight(); // Включаем подсветку LCD дисплея lcd.setCursor(0, 0); // Устанавливаем курсор в позицию (0 столбец, 0 строка) lcd.print("LCD"); // Выводим текст "LCD", начиная с установленной позиции курсора lcd.setCursor(0, 1); // Устанавливаем курсор в позицию (0 столбец, 1 строка) lcd.print("www.iarduino.ru"); // Выводим текст "www.iarduino.ru", начиная с установленной позиции курсора } // // void loop(){} // Код внутри функции loop выполняется постоянно. Но так как мы выводим статичный текст, нам достаточно его вывести 1 раз при старте, без использования кода loop

#2 Пример

Выводим надпись на дисплей LCD1602 подключённый по 4-битной параллельной шине. Для работы с дисплеем LCD2004 нужно изменить 5 строку на lcd.begin(20, 4);

#include // Подключаем библиотеку LiquidCrystal для работы с LCD дисплеем LiquidCrystal lcd(2,3,4,5,6,7); // Объявляем объект библиотеки, указывая выводы дисплея (RS,E,D4,D5,D6,D7) // Если используется 8 проводов шины данных, то указываем (RS,E,D0,D1,D2,D3,D4,D5,D6,D7) void setup(){ // lcd.begin(16, 2); // Инициируем работу с LCD дисплеем, указывая количество (столбцов, строк) lcd.setCursor(0, 0); // Устанавливаем курсор в позицию (0 столбец, 0 строка) lcd.print("LCD2004"); // Выводим текст "LDC1602", начиная с установленной позиции курсора lcd.setCursor(0, 1); // Устанавливаем курсор в позицию (0 столбец, 1 строка) lcd.print("www.iarduino.ru"); // Выводим текст "www.iarduino.ru", начиная с установленной позиции курсора } // // void loop(){} // Код внутри функции loop выполняется постоянно. Но так как мы выводим статичный текст, нам достаточно его вывести 1 раз при старте, без использования кода loop

#3 Пример

Выводим надпись «Русский язык» на дисплей LCD1602 подключённый по шине I2C:

#include // Подключаем библиотеку для работы с шиной I2C #include // Подключаем библиотеку для работы с LCD дисплеем по шине I2C LiquidCrystal_I2C lcd(0x27,16,2); // Объявляем объект библиотеки, указывая параметры дисплея (адрес I2C = 0x27, количество столбцов = 16, количество строк = 2) // uint8_t symbol = { // Объявляем массив из 6 собственных символов (к и й я з ы), каждый символ состоит из 8 байт { 0, 0,18,20,24,20,18, 0 }, // к { 0, 0,17,19,21,25,17, 0 }, // и {10, 4,17,19,21,25,17, 0 }, // й { 0, 0,15,17,15, 5, 9, 0 }, // я { 0, 0,14,17, 6,17,14, 0 }, // з { 0, 0,17,17,29,19,29, 0 }}; // ы // void setup(){ // lcd.init(); // Инициируем работу с LCD дисплеем lcd.backlight(); // Включаем подсветку LCD дисплея lcd.createChar(1, symbol); // Загружаем 1 символ "к" в ОЗУ дисплея lcd.createChar(2, symbol); // Загружаем 2 символ "и" в ОЗУ дисплея lcd.createChar(3, symbol); // Загружаем 3 символ "й" в ОЗУ дисплея lcd.createChar(4, symbol); // Загружаем 4 символ "я" в ОЗУ дисплея lcd.createChar(5, symbol); // Загружаем 5 символ "з" в ОЗУ дисплея lcd.createChar(6, symbol); // Загружаем 6 символ "ы" в ОЗУ дисплея lcd.setCursor(0, 0); // Устанавливаем курсор в позицию (0 столбец, 0 строка) lcd.print("Pycc\1\2\3 \4\5\6\1"); // Выводим текст "Pycckий языk", где "Pycc" написано латиницей, а "kий языk" - символами из ОЗУ дисплея } // Если нужно вывести символ из ОЗУ дисплея, то пишем \ и номер символа // void loop(){} // Код внутри функции loop выполняется постоянно. Но так как мы выводим статичный текст, нам достаточно его вывести 1 раз при старте, без использования кода loop

#4 Пример

Выводим время прошедшее после старта на дисплей LCD1602 подключённый по шине I2C:

#include // Подключаем библиотеку для работы с шиной I2C #include // Подключаем библиотеку для работы с LCD дисплеем по шине I2C LiquidCrystal_I2C lcd(0x27,16,2); // Объявляем объект библиотеки, указывая параметры дисплея (адрес I2C = 0x27, количество столбцов = 16, количество строк = 2) // uint8_t tim_D, tim_H, tim_M, tim_S; // Объявляем переменные для хранения дней, часов, минут и секунд. uint32_t tim; // Объявляем переменную для хранения общего количества времени прошедшего после старта. // Если надпись не появилась, замените адрес 0x27 на 0x3F void setup(){ // lcd.init(); // Инициируем работу с LCD дисплеем lcd.backlight(); // Включаем подсветку LCD дисплея } // // void loop(){ // // Получаем время прошедшее после старта: // tim = millis() / 1000; // Получаем общее количество секунд (максимум 4"294"967 сек ≈ 49,7 дней). tim_S = tim % 60; // Получаем секунды: остаток от деления всех секунд на минуту (60 сек). tim = (tim-tim_S) / 60; // Получаем общее количество минут. tim_M = tim % 60; // Получаем минуты: остаток от деления всех минут на час (60 мин). tim = (tim-tim_M) / 60; // Получаем общее количество часов. tim_H = tim % 24; // Получаем часы: остаток от деления всех часов на день (24 час). tim_D = (tim-tim_H) / 24; // Получаем общее количество дней. // Выводим время прошедшее после старта: // if (millis()%1000<100){ // Условие выполняется в течении 100 первых миллисекунд каждой новой секунды. delay(100); lcd.setCursor(0, 0); // Устанавливаем курсор в позицию (0 столбец, 0 строка). lcd.print("Days: "); // Выводим текст. if(tim_D<10){lcd.print(0);} // Выводим 0 перед количеством дней. lcd.print(tim_D); // Выводим количество дней. lcd.setCursor(0, 1); // Устанавливаем курсор в позицию (0 столбец, 1 строка) lcd.print("Time: "); // Выводим текст. if(tim_H<10){lcd.print(0);} // Выводим 0 перед количеством часов. lcd.print(tim_H); // Выводим количество часов. lcd.print(":"); // Выводим символ. if(tim_M<10){lcd.print(0);} // Выводим 0 перед количеством минут. lcd.print(tim_M); // Выводим количество минут. lcd.print(":"); // Выводим символ. if(tim_S<10){lcd.print(0);} // Выводим 0 перед количеством секунд. lcd.print(tim_S); // Выводим количество секунд. } // } //

Функции, общие для библиотек LiquidCrystal и LiquidCrystal_I2C:

  • begin(cols,rows,); – Инициализация дисплея с указанием количества столбцов, строк и размера символа.
  • clear(); – Очистка дисплея с установкой курсора в положение 0,0 (Занимает много времени!).
  • home(); – Установка курсора в положение 0,0 (Занимает много времени!).
  • display(); – Быстрое включение дисплея (без изменения данных в ОЗУ).
  • noDisplay(); – Быстрое выключение дисплея (без изменения данных в ОЗУ).
  • blink(); – Включение мигающего курсора (с частотой около 1 Гц).
  • noBlink(); – Выключение мигающего курсора.
  • cursor(); – Включение подчеркивания курсора.
  • noCursor(); – Выключение подчеркивания курсора.
  • scrollDisplayLeft(); – Прокрутка дисплея влево. Сдвиг координат дисплея на один столбец влево (без изменения ОЗУ).
  • scrollDisplayRight(); – Прокрутка дисплея вправо. Сдвиг координат дисплея на один столбец вправо (без изменения ОЗУ).
  • leftToRight(); – Указывает в дальнейшем сдвигать положение курсора, после вывода очередного символа, на один столбец вправо.
  • rightToLeft(); – Указывает в дальнейшем сдвигать положение курсора, после вывода очередного символа, на один столбец влево.
  • noAutoscroll(); – Указывает в дальнейшем выравнивать текст по левому краю от позиции курсора (как обычно).
  • autoscroll(); – Указывает в дальнейшем выравнивать текст по правому краю от позиции курсора.
  • createChar(num,array); – Запись пользовательского символа в CGRAM дисплея под указанным номером.
  • setCursor(col,row); – Установка курсора в позицию указанную номером колонки и строки.
  • print(text); – Вывод текста, символов или цифр на экран дисплея. Синтаксис схож с одноимённой функцией класса Serial.

Функции, реализованные только в библиотеке LiquidCrystal_I2C:

  • init(); – Инициализация дисплея. Должна быть первой командой библиотеки LiquidCrystal_I2C после создания объекта. На самом деле данная функция есть и в библиотеке LiquidCrystal, но в той библиотеке она вызывается автоматически (по умолчанию) при создании объекта.
  • backlight(); – Включение подсветки дисплея.
  • noBacklight(); – Выключение подсветки дисплея.
  • setBacklight(flag); – Управление подсветкой (true - включить / false - выключить), используется вместо функций noBacklight и backlight.

Подключение:

// Для шины I2C:
#include
#include
LiquidCrystal_I2C lcd(address , col , row );
void setup(){
lcd.init();
}

Параметр:
  • address: Адрес дисплея на шине I2C - 0x27 или 0x3F
  • col:
  • row:
// Для параллельной шины из 4 проводов:
#include
LiquidCrystal lcd( RS , E , D4 , D5 , D6 , D7 );
void setup(){
lcd.begin( col , row );
}
Параметр:
  • RS: № вывода Arduino к которому подключён вывод RS
  • E: № вывода Arduino к которому подключён вывод E
  • D0...D3: № выводов Arduino к которым подключены выводы D0-D3
  • D4...D7: № выводов Arduino к которым подключены выводы D4-D7
  • col: количество столбцов реализованное у дисплея
  • row: количество строк реализованное у дисплея
// Для параллельной шины из 8 проводов:
#include
LiquidCrystal lcd( RS , E , D0 , D1 , D2 , D3 , D4 , D5 , D6 , D7 );
void setup(){
lcd.begin( col , row );
}
begin(col , row , );
Инициализация дисплея с указанием размеров экрана и символов.
Параметр:
  • col: количество столбцов реализованное у дисплея
  • row: количество строк реализованное у дисплея
  • size: размер символов, указывается константой:
    LCD_5x8DOTS (по умолчанию), или LCD_5x10DOTS
/* Для шины I2C: */ #include // Подключаем библиотеку для работы с шиной I2C #include // Подключаем библиотеку для работы с LCD дисплеем по шине I2C LiquidCrystal_I2C lcd(0x3F,20,4); // Объявляем объект библиотеки, указывая параметры дисплея (адрес I2C = 0x3F, количество столбцов = 20, количество строк = 4) // void setup(){ // lcd.init(); // Инициируем работу с LCD дисплеем lcd.backlight(); // Включаем подсветку LCD дисплея... // Выводим информацию, которая должна отображаться при старте } // // void loop(){} // ... // Выводим информацию которая должна меняться по алгоритму Вашего кода } // /* Для 4 проводной параллельной шины: */ #include // Подключаем библиотеку LiquidCrystal для работы с LCD дисплеем LiquidCrystal lcd(2,3,4,5,6,7); // Объявляем объект библиотеки, указывая выводы дисплея (RS,E,D4,D5,D6,D7) // Если используется 8 проводов шины данных, то указываем (RS,E,D0,D1,D2,D3,D4,D5,D6,D7) void setup(){ // lcd.begin(16, 2); // Инициируем работу с LCD дисплеем, указывая количество (столбцов, строк) ... // Выводим информацию, которая должна отображаться при старте } // // void loop(){} // ... // Выводим информацию которая должна меняться по алгоритму Вашего кода } //

Функции управления дисплеем:

display();
Включает дисплей после того как он был выключен функцией noDisplay.
Примечание: Функция выполняется быстро и без изменений в ОЗУ дисплея.
noDisplay();
Выключает дисплей.
Данные на дисплее не будут отображаться до вызова функции display, но и не сотрутся из памяти ОЗУ, а после вызова функции display, опять будут отображаться.
Примечание: Функция выполняется быстро и без изменений в ОЗУ дисплея.
scrollDisplayLeft();
Сдвигает координаты дисплея на один столбец влево.



scrollDisplayRight();
Сдвигает координаты дисплея на один столбец вправо.
Постоянный вызов данной функции создаст эффект бегущей строки.
Координаты сдвигаются как для имеющейся на дисплее информации, так и для той, которая будет выведена после.
Примечание: Функция выполняется без изменений ОЗУ дисплея.
Если вызвать функцию 40 раз подряд, то координата вернётся в изначальную точку
clear();
Очистка дисплея с установкой курсора в положение 0,0.
Информация имеющаяся на дисплее безвозвратно сотрётся.
Примечание: Занимает много времени.
backlight();
Включение подсветки дисплея.
noBacklight();
Выключение подсветки дисплея.
Примечание: Функция реализована только в библиотеке LiquidCrystal_I2C.
setBacklight(flag );
Управление подсветкой (вместо функций noBacklight и backlight).
Параметр:
  • flag: значение true - включает, а false - выключает подсветку.
Примечание: Функция реализована только в библиотеке LiquidCrystal_I2C.
/* Выводим надпись для наблюдения за функциями управления дисплеем: */ lcd.cursor(0,0); // Устанавливаем курсор в крайний верхний угол дисплея (0 столбец, 0 строка) lcd.print("iarduino.ru"); // Выводим текст "iarduino.ru" (первая буква "i" будет находиться в позиции "0,0", а последняя "u" в позиции "10,0", невидимый курсор в позиции "11,0") // lcd.noDisplay(); // Выключаем дисплей (надпись исчезнет с дисплея) lcd.display(); // Включаем дисплей (надпись появится на дисплее в том же месте) lcd.scrollDisplayLeft(); // Сдвигаем координаты столбцов влево (на дисплее будет отображаться "arduino.ru" без первой буквы "i", которая выйдет за пределы дисплея, но останется в его ОЗУ) lcd.scrollDisplayRight(); // Сдвигаем координаты столбцов вправо (на дисплее будет отображаться "iarduino.ru" на том же месте, где и была выведена изначально) lcd.clear(); // Чистим дисплей (надпись безвозвратно исчезнет с дисплея) lcd.noBacklight(); // Отключаем подсветку дисплея lcd.backlight(); // Включаем подсветку дисплея lcd.setBacklight(0); // Отключаем подсветку дисплея lcd.setBacklight(1); // Включаем подсветку дисплея

Функции управления курсором:

setCursor(col , row );
Установка курсора в указанную позицию.
Параметр:
  • col: номер столбца (начиная с 0).
  • row: номер строки (начиная с 0)
home();
Установка курсора в позицию 0,0. Работает как функция setCursor(0,0);
Примечание: Занимает много времени.
blink();
Включение мигающего курсора.
Примечание: Курсор занимает всё поле символа и мигает с частотой около 1 Гц, в той позиции где он был установлен ранее.
noBlink();
Выключение мигающего курсора.
Примечание: Курсор становится невидим, но его позиция сохраняется.
cursor();
Включение подчеркивания курсора.
Примечание: Курсор принимает вид символа подчёркивания и находится в той позиции, где он был установлен ранее.
noCursor();
Выключение подчеркивания курсора.
Примечание: Курсор становится невидим, но его позиция сохраняется.
lcd.setCursor(0, 1); // Устанавливаем курсор на первый символ второй строки (нумерация строк и столбцов начинается с 0) lcd.home(); // Устанавливаем курсор на первый символ первой строки (как при вызове lcd.setCursor(0,0);) lcd.blink(); // Делаем курсор видимым (на месте курсора будет мигать прямоугольник) lcd.noBlink(); // Делаем курсор невидимым (убираем мигающий прямоугольник) lcd.cursor(); // Делаем курсор видимым (на месте курсора появится знак подчёркивания) lcd.noCursor(); // Делаем курсор невидимым (убираем знак подчёркивания) // Если курсор попадает на место где есть символ, то этот символ не исчезает

Функции указывающие направление и выравнивание:

leftToRight();
Указывает, что после каждого нового символа, положение курсора должно сдвигаться на один столбец вправо.
Примечание: Если вывести текст "abc" на дисплее отобразится "abc" и текст будет находиться правее от изначального положения курсора.
(Как обычно)
rightToLeft();
Указывает, что после каждого нового символа, положение курсора должно сдвигаться на один столбец влево.
Примечание: Если вывести текст "abc" на дисплее отобразится "cba" и текст будет находиться левее от изначального положения курсора.
(Письменность справа налево)
noAutoscroll();
Указывает, что в дальнейшем, текст нужно выравнивать по левому краю от изначальной позиции курсора.
Примечание: если установить курсор в позицию 10,0 и вывести текст, то в данной позиции будет находиться первый символ выведенного текста.
(Как обычно)
autoscroll();
Указывает, что в дальнейшем, текст нужно выравнивать по правому краю от изначальной позиции курсора.
Примечание: если установить курсор в позицию 10,0 и вывести текст, то в данной позиции будет находиться курсор.
(Координаты дисплея будут сдвинуты влево, как будто Вы вызвали функцию scrollDisplayLeft столько раз, сколько букв в выведенном тексте)
lcd.leftToRight(); // Указываем курсору сдвигаться вправо (Как обычно в европейской письменности) lcd.clear(); lcd.setCursor(5,0); lcd.print("ABC"); // На дисплее увидим: " ABC " (После "A" курсор сдвинулся вправо и вывелась "B", далее курсор сдвинулся вправо и вывелась "C") lcd.rightToLeft(); // Указываем курсору сдвигаться влево (Как в письменности справа налево) lcd.clear(); lcd.setCursor(5,0); lcd.print("ABC"); // На дисплее увидим: " CBA " (После "A" курсор сдвинулся влево и вывелась "B", далее курсор сдвинулся влево и вывелась "C") lcd.noAutoscroll(); // Устанавливаем выравнивание по левому краю (Как обычно) lcd.clear(); lcd.setCursor(5,0); lcd.print("ABC"); // На дисплее увидим: " ABC " (Как обычно) lcd.autoscroll(); // Устанавливаем выравнивание по правому краю (Координаты дисплея будут сдвинуты влево на количество выведенных символов) lcd.clear(); lcd.setCursor(5,0); lcd.print("ABC"); // На дисплее увидим: " ABC " (Координаты дисплея будут сдвинуты на 3 символа влево, так как после каждого символа совершается вызов функции scrollDisplayLeft)

Функции ввода текста и символов:

createChar(num,array);
Запись пользовательского символа в CGRAM дисплея под указанным номером.
Если Вы хотите вывести текст (функцией print) в котором должен находиться установленный Вами символ, укажите слэш и номер под которым был записан этот символ: print("C\1MBO\2").
Параметр:
  • num: номер под которым будет записан символ.
  • array: массив представляющий записываемый символ.
Примечание: Массив состоит из нескольких байт, количество которых равно количеству строк в символе. Каждый установленный бит байта соответствует установленному (отображаемому) пикселю символа.
print(text);
Вывод текста, символов или цифр на экран дисплея.
Параметр:
  • text: символ, число или строка для вывода на дисплей.
Примечание: Синтаксис схож с одноимённой функцией класса Serial.
#include // Подключаем библиотеку для работы с шиной I2C #include // Подключаем библиотеку для работы с LCD дисплеем по шине I2C LiquidCrystal_I2C lcd(0x27,16,2); // Объявляем объект библиотеки, указывая параметры дисплея (адрес I2C = 0x27, количество столбцов = 16, количество строк = 2) // uint8_t symbol_d = {0b00000, // 1 строка символа "д" 0b00000, // 2 строка символа "д" 0b00110, // 3 строка символа "д" 0b01010, // 4 строка символа "д" 0b01010, // 5 строка символа "д" 0b01010, // 6 строка символа "д" 0b11111, // 7 строка символа "д" 0b10001}; // 8 строка символа "д" Весь массив можно записать одной строкой: uint8_t symbol_d={0,0,6,10,10,10,31,17}; // uint8_t symbol_i = {0b00000, // 1 строка символа "и" 0b00000, // 2 строка символа "и" 0b10001, // 3 строка символа "и" 0b10011, // 4 строка символа "и" 0b10101, // 5 строка символа "и" 0b11001, // 6 строка символа "и" 0b10001, // 7 строка символа "и" 0b00000}; // 8 строка символа "и" Весь массив можно записать одной строкой: uint8_t symbol_i={0,0,17,19,21,25,17,0}; void setup(){ // lcd.init(); // Инициируем работу с LCD дисплеем lcd.backlight(); // Включаем подсветку LCD дисплея lcd.createChar(1,symbol_d); // Загружаем в память дисплея первый символ lcd.createChar(2,symbol_i); // Загружаем в память дисплея второй символ lcd.clear(); // Чистим экран lcd.setCursor(0,0); // Устанавливаем курсор в крайний верхний угол lcd.print("Pa\1\2o"); // Выводим текст "Paдиo" при этом символы "P", "a" , "o" пишем латиницей, } // а символы "д", "и" выводим из памяти дисплея, указывая их номера // void loop(){ // lcd.setCursor(0,1); lcd.print(" "); // стираем всю нижнюю строку lcd.setCursor(0,1); lcd.print("i"); lcd.print("arduino"); lcd.print(".ru"); // выводим текст "i" "arduino" ".ru" в нижней строке delay(2000); // ждём 2 секунды lcd.setCursor(0,1); lcd.print(" "); // стираем всю нижнюю строку lcd.setCursor(0,1); lcd.print(12.345); // выводим число 12.34 (выводится 2 знака после запятой) delay(2000); // ждём 2 секунды lcd.setCursor(0,1); lcd.print(" "); // стираем всю нижнюю строку lcd.setCursor(0,1); lcd.print(12, HEX); // выводим число 12 в виде шестнадцатиричного числа delay(2000); // ждём 2 секунды lcd.setCursor(0,1); lcd.print(" "); // стираем всю нижнюю строку lcd.setCursor(0,1); lcd.print(1); // выводим число 1 delay(2000); // ждём 2 секунды }

Государственное регулирование внешнеэкономической деятельности осуществляется различными методами, определенными законодательством. Эти методы можно классифицировать по различным основаниям, выделяя экономические и административные, тарифные и нетарифные методы.

К методам государственного регулирования внешнеэкономической деятельности относятся таможенно-тарифное, нетарифное регулирование; наблюдение за экспортом и (или) импортом отдельных видов товаров; предоставление исключительного права на экспорт или импорт отдельных видов товаров; введение специальных защитных мер, антидемпинговых мер и компенсационных мер при импорте товаров; введение запретов и ограничения внешней торговли товарами, услугами и интеллектуальной собственностью; экспортный контроль; технические, фармакологические, санитарные, ветеринарные, фитосанитарные и экологические требования и др.

Исходя из приведенного перечня мер, государственное регулирование внешнеэкономической деятельности осуществляется либо в целях стимулирования деятельности ее участников, либо для установления защиты российской экономики и отдельных хозяйствующих субъектов. Поэтому, среди мер государственного регулирования выделяют стимулирующие и защитные. Рассмотрим основные меры государственного регулирования внешнеэкономической деятельности более подробно.

Таможенно-тарифное регулирование внешнеэкономической деятельности.

Таможенно-тарифное регулирование - метод государственного регулирования внешней торговли товарами, осуществляемый путем применения ввозных и вывозных таможенных пошлин. Таможенные пошлины являются одним из видов неналоговых платежей. Правовые основы тарифного регулирования определяются Законом о таможенном тарифе, согласно которому существуют такие виды ставок таможенных пошлин, как адвалорные (начисляемые в процентах к таможенной стоимости облагаемых товаров), специфические (начисляемые в установленном размере за единицу облагаемых товаров), комбинированные. Таможенный тариф Российской Федерации - свод ставок таможенных пошлин (таможенного тарифа), применяемых к товарам, перемещаемым через таможенную границу Российской Федерации и систематизированным в соответствии с Товарной номенклатурой внешнеэкономической Деятельности. Товарная номенклатура определяется Правительством РФ исходя из систем классификации товаров, принятых в международной практике. Применяемые в настоящее время Таможенный тариф РФ и Товарная номенклатура утверждены постановлением Правительства РФ от 30 ноября 2001 г. № 830 (с изм. и доп.).



В области тарифного регулирования действует система льгот.
В частности, ввозные таможенные пошлины могут уменьшаться в отношении товаров, происходящих из государств; которым РФ предоставляет режим наибольшего благоприятствования, или преференциальный режим. Страна происхождения товара подтверждается сертификатом. Кроме того, тарифные льготы могут предоставляться в виде возврата ранее уплаченной пошлины, освобождения от пошлины. В частности, товары, ввозимые на таможенную территорию РФ в качестве вклада иностранного учредителя в уставный (складочный) капитал, освобождаются от обложения таможенными пошлинами в порядке, определенном ст. 34 и 37 Закона о таможенном тарифе.

Количественные ограничения экспорта и импорта.

По общему правилу, импорт и экспорт товаров осуществляются без количественных ограничений. В исключительных случаях Правительство РФ может устанавливать:

· временные ограничения или запреты экспорта товаров для
предотвращения либо уменьшения критического недостатка на внутреннем рынке Российской Федерации продовольственных или иных товаров, которые являются существенно важными для внутреннего рынка Российской Федерации. Перечень товаров, являющихся существенно важными, определяется Правительством РФ;

· ограничения импорта сельскохозяйственных товаров или водных
биологических ресурсов, ввозимых в РФ в любом виде.

Количественные ограничения экспорта и импорта осуществляются через квотирование.

При принятии решения о введении квоты Правительство Российской Федерации определяет метод распределения квоты и в соответствующем случае устанавливает порядок проведения конкурса или аукциона. Распределение квоты основывается на равноправии участников внешнеторговой деятельности в отношении получения квоты и их недискриминации по признакам формы собственности, места регистрации или положения на рынке. Положение о порядке проведения конкурсов и аукционов по продаже экспортных и импортных квот при введении Правительством РФ количественных ограничений утверждено постановлением Правительства РФ от 31 октября 1996 г. № 1299.

Лицензирование.

Лицензирование представляет собой административную процедуру регулирования внешнеторговых операций, осуществляемую путем выдачи документа, разрешающего экспорт и (или) импорт отдельных видов товаров.

Лицензирование в сфере внешней торговли товарами устанавливается в следующих случаях:

· введение временных количественных ограничений экспорта или
импорта отдельных видов товаров;

· реализация разрешительного порядка экспорта и импорта отдельных видов товаров, которые могут оказать неблагоприятное воздействие на безопасность государства, жизнь или здоровье граждан, имущество физических или юридических лиц, государственное или муниципальное имущество, окружающую среду, жизнь или здоровье животных и растений;

· предоставление исключительного права на экспорт и (или) импорт отдельных видов товаров;

· выполнение РФ международных обязательств.

Основанием для экспорта и импорта отдельных видов товаров в указанных случаях является лицензия, выдаваемая Минэкономразвития
России. Отсутствие лицензии является основанием для отказа в выпуске
товаров таможенными органами Российской Федерации.

Минэкономразвития России формирует и ведет федеральный банк выданных лицензий. Положение о формировании и ведении федерального банка выданных лицензий утверждено постановлением Правительства РФ
от 9 июня 2005 г. № 364. Минэкономразвития России через свои территориальные органы выдает участникам внешнеторговой деятельности следующие виды лицензий:

а) разовая лицензия - документ, выдаваемый заявителю на основании
договора (контракта), оформившего внешнеторговую сделку, предметом
которой является экспорт или импорт отдельного вида товара в
определенном количестве. Срок действия разовой лицензии не может
превышать 1 год;

б) генеральная лицензия - выдаваемый заявителю на основании
решения Правительства РФ документ, разрешающий экспорт и (или) импорт отдельного вида товара в определенном количестве. Срок действия генеральной лицензии не может превышать 1 год;

в) исключительная лицензия - документ, предоставляющий заявителю
исключительное право на экспорт и (или) импорт отдельного вида товара,
определенное соответствующим федеральным органом.

Положение о лицензировании в сфере внешней торговли товарами утверждено постановлением Правительства РФ от 9 июня 2005 г. № 364.

Экспортный контроль.

Экспортный контроль - комплекс мер, обеспечивающих реализацию установленного Законом об экспортном контроле, другими федеральными законами и иными нормативными правовыми актами РФ порядка осуществления внешнеэкономической деятельности в отношении товаров, информации, работ, услуг, результатов интеллектуальной деятельности, которые могут быть использованы при создании оружия массового поражения, средств его доставки, иных видов вооружения и военной техники.

Номенклатура подпадающих под экспортный контроль товаров определяется перечнями, утверждаемыми Указами Президента РФ. Эти акты вступают в силу не ранее трех месяцев со дня их официального опубликования. Порядок вывоза данных товаров определяется Правительством РФ.

Методами осуществления экспортного контроля являются:

· идентификация контролируемых товаров и технологий, т.е. ус­тановление их соответствия товарам и технологиям, включенным в перечни;

· разрешительный порядок осуществления внешнеэкономических операций;

· таможенный контроль и таможенное оформление, валютный контроль.

На основании ст. 21 Закона об экспортном контроле, в целях определения соответствия внешнеэкономической сделки с контролируемыми товарами и технологиями международным обязательствам РФ и государственным интересам, межведомственными экспертными советами, образуемыми при Министерстве экономического развития и торговли РФ, проводится государственная экспертиза сделок. Экспертиза осуществляется на основании документов, представленных российскими участниками внешнеэкономической сделки в Минэкономики России для получения
лицен­зии или разрешения, предусмотренных законодательством РФ в области экспортного контроля. Заключение государственной экспертизы является основанием для выдачи или отказа в выдаче лицензии или разрешения на осуществление внешнеэкономических операций
с контролируемыми товарами и технологиями. Правила проведения государственной экспертизы определены постановлением Правительства РФ от 16 апреля 2001 г. № 294.

В целях соблюдения правил экспортного контроля организации могут
вводить внутрифирменную программу экспортного контроля, включающую
в себя мероприятия организационного, административного, информационного и иного характера. Организации, создавшие внутрифирменные программы экспортного контроля, подлежат государственной аккредитации при Минэкономики России, которое проводит ее в соответствии с Положением, утвержденным постановлением Правительства РФ от 29 февраля 2000 г.
№ 176. Государственная аккредитация является необходимым условием для получения генеральной лицензии на осуществление внешнеэкономических операций с товарами, в отношении которых установлен экспортный контроль.

  • 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. Российский опыт антимонопольного законодательства
  • 36. Стратегия государственной антимонопольной политики по развитию конкуренции.
  • 37. Особенности государственного регулирования естественных монополий.
  • 38. Государственное регулирование социальной сферы национальной экономики.
  • 39. Государственное регулирование внешнеэкономических связей.
  • 40. Роль государства в регулировании внешнеэкономических связей.
  • 41. Промышленная политика государства и государственное регулирование предпринимательской деятельности.
  • 42. Государственная поддержка малого бизнеса.
  • 43. Инструменты денежно-кредитной политики государства
  • 44. Задачи переходного периода и роль государства в становлении и развитии рыночных отношений.
  • 45. Государственная программа становления и развития цивилизованных рыночных отношений.
  • 49. Государственное регулирование движения капиталов и иностранных инвестиций.
  • 46. Государственное регулирование экономического роста
  • 47. Государственное регулирование инфраструктуры рынка.
  • 48. Государственное регулирование в экономически развитых странах.
  • 50. Дерегулирование экономики: основные методы и эффективность реализации.
  • 39. Государственное регулирование внешнеэкономических связей.

    Внешнеэкономические связи - это международные хозяйственные и торгово-политические отношения, в сферу которых входят: обмен товарами, специализация и кооперация производства, научно-техниче­ское сотрудничество, оказание экономического и технического содей­ствия, создание совместных предприятий других форм экономического сотрудничества. Все это является результатом развития товарного производства, которое исторически давно вышло за пределы удовлет­ворения общественных потребностей отдельных стран.

    Через внешнеэкономические связи осуществляется международное разделение труда, имеющее целью экономию общественного труда в процессе производства и обмен его результатами между различными странами. Международный обмен товарами экономически целесообразен для страны, если она затрачивает на производство экспортных товаров меньше общественного труда, чем должна затрачивать на производство товаров, взамен импортируемых, на средства, вырученные от экспорта.

    Из этого определения экономической ситуации внешнеэкономиче­ского обмена следует ряд выводов:

    Международный обмен товарами может быть выгоден всем стра­нам при условии правильного формирования структуры экспорта и импорта;

    Участие в международном разделении труда позволяет дости­гать поставленные экономические цели при меньших затратах общест­венного труда. Следовательно, в целях ускорения социального и экономического развития страны необходимо увеличить масштабы внешнеторгового обмена.

    Экспорт первичен. Для того, чтобы страна получила возможность иметь экономические выгоды от участия в международном разделении труда, она должна обладать необходимыми экспортными ресурсами и быть способной реализовать их на внешнем рынке с целью получения иностранной валюты для осуществления импортных операций. В этой связи большое значение имеет принцип валютного самофинансирования и самоокупаемости.

    Для достижения наибольшего экономического эффекта от участия в международном разделении труда следует развивать экспорт той продукции, которая позволяет получить наибольшую валютную выручку на единицу затрат общественного труда, и импортировать те товары, собственное производство которых потребовало бы наибольших затрат общественного труда на единицу затрачиваемых валютных средств.

    В результате сложившихся в мировой экономике стоимостных пропорций наибольший эффект достигается от экспорта наукоемкой готовой продукции. Как свидетельствуют данные ООН, в настоящее время около 40 % международного товарооборота приходится на сырьевые товары и более 60 % - на готовую продукцию.

    В структуре российского экспорта сложилось обратное соотноше­ние. Экспорт России имеет ярко выраженный сырьевой характер. На долю пяти товарных групп приходится около 80 % экспорта (мине­ральное сырье и топливо 45 %, металлы - 17 %, химические товары - 8 %, лесоматериалы - около 5 %, сельскохозяйственное сырье - 3%). Произошло активное "вымывание" из структуры экспорта продукции машиностроения - в настоящее время ее доля упала до 5 % и сократилась по сравнению с 1991 г. более, чем в два раза.

    В процессе экономического реформирования в Российской Федера­ции существенную роль выполняет внешнеэкономическая политика го­сударства, направленная на эффективное включение национальной экономики в систему мирохозяйственных связей и реализацию связан­ных с этим экономических выгод и преимуществ.

    Важнейшим инструментом достижения этой цели выступает раз­витие и дальнейшее совершенствование системы государственного регулирования внешнеэкономической деятельности (ВЭД) в направле­нии оптимального сочетания открытости российской экономики с требованиями экономической безопасности государства.

    Современная политика ВЭД исходит из государственного курса на дальнейшую либерализацию внешней торговли, интеграцию россий­ской экономики в мировое хозяйство, переход к преимущественному использованию экономических методов регулирования, что и дает возможность в настоящей работе развить тезис о том, что происхо­дит именно "совершенствование" системы государственного регулиро­вания ВЭД в России.

    Внешнеэкономические связи (ВЭС) - это составная часть хозяй­ственного механизма и внутренней политики страны в целом.

    Под внешнеэкономической политикой государства понимается дея­тельность, направленная на развитие и регулирование экономических отношений с другими странами.

    Современные процессы в международной жизни порождают постоян­ное взаимодействие двух тенденций во внешнеэкономической политике: протекционизм и либерализм.

    Протекционизм представляет собой политику государства, на­правленную на защиту внутреннего рынка от иностранной конкуренции, а зачастую и на захват внешнего рынка.

    В противоположность ему политика либерализации связана со снижением таможенных пошлин и других барьеров, препятствующих развитию внешнеэкономических связей (свободная торговля).

    И политика свободной торговли, и политика протекционизма почти никогда не существовали в чистом виде. Обычно государства проводят ту или иную политику выборочно с учетом проблем, решае­мых внутри страны. В общем государственное регулирование ВЭС направлено на решение экономических, социальных и политических проблем. Причины государственного вмешательства:

    Несмотря на потенциальные выгоды свободной торговли, ни одна из стран не допускает неконтролируемого потока товаров и услуг;

    Безработица. Проблема занятости населения - рабочие места;

    Защита "молодых" отраслей;

    Прямое воздействие на торговлю используется как средство преодоления нарушений в платежном балансе страны;

    Регулирование ВЭС применяется для контроля над ценами товаров, участвующих в международном товарообмене;

    В целях обеспечения правопорядка, обороноспособности страны, охраны здоровья и жизни населения, экологии;

    Межправительственные соглашения, международные организации.

    Руководство внешнеэкономическими связями осуществляют высшие государственные законодательные органы: парламенты, национальные собрания, конгрессы. Они определяют внешнеэкономическую политику страны, издают законы, регулирующие внешнеэкономические связи, ратифицируют международные договоры.

    Регулированием внешнеэкономических связей занимаются прави­тельственные органы - различные министерства и ведомства. Так, например, в ФРГ регулированием внешнеэкономических связей зани­мается федеральное правительство, министерства иностранных дел, экономики и финансов. Главную роль в управлении внешней торговлей Японии выполняет министерство внешней торговли и промышленности. В США в регулировании внешнеторговых связей участвуют государст­венный департамент, министерства торговли, финансов и земледелия. Большими полномочиями наделен президент страны, которому дано право единолично устанавливать тарифы, предоставлять преференции, вводить эмбарго на определенные виды продукции и т.д.

    Регулирование внешнеэкономических связей осуществляется административными и экономическими методами:

    Административные методы. Для регулирования ВЭД государст­венные органы издают законодательные акты, в число которых могут входить акты правового регулирования отношений торговых партне­ров, акционерные законодательства, таможенные кодексы, постанов­ления, обязывающие импортеров осуществлять закупки против встреч­ных экспортных операций, и много других законодательных актов.

    В числе административных методов регулирования наибольшее влияние на структуру и географическое направление торговли оказы­вает следующее:

    Международные торговые договоры определяют общие направления развития экономических отношений между странами, устанавливают торгово-политический режим сотрудничества, предусматривают усло­вия взаимных расчетов и т.д.

    В развитии договоров страны подписывают долгосрочные (на 5-10 лет) соглашения о товарообороте и протоколы о торговле отдель­ными видами товаров. Соглашения и протоколы заключаются с целью содействия развитию стабильного взаимовыгодного товарооборота на сбалансированной основе.

    Условия международных договоров, соглашений и протоколов де­лятся на обязательные и индикативные. Выполнение таких условий договоров, как обеспечение торгового режима, порядок налогообло­жения, взаимных расчетов и т.д., обеспечивается законодательными актами и действиями государственных органов, т.е. в основном административными методами.

    Таможенное обложение является одним из самых эффективных административных методов регулирования ВЭС.

    В основе таможенного регулирования каждой страны лежит тамо­женный кодекс, утверждаемый законодательными органами. Таможенные кодексы определяют общие задачи и принципы таможенного обложения, структуру, статус и функции таможенных органов, порядок разработ­ки, утверждения уплаты пошлин, санкции за нарушение таможенного режима, порядок рассмотрения жалоб.

    Таможенные пошлины представляют собой денежные суммы, выпла­чиваемые при провозе товаров через государственные границы. Тамо­женные пошлины подсчитываются по действующим в стране таможенным тарифам, устанавливаются к каждому виду товаров или к товарным группам. Если тарифы устанавливаются как нормативы к стоимости товаров, то начисляемые по ним пошлины называются адвалорными. Если тарифы установлены к единицам количества, веса, объема и т.д., то такие пошлины называются специфическими.

    По форме тарифы представляют перечни товаров с указанием про­тив позиции товара или товарной группы размера взимаемой пошлины в виде процентов или денежных сумм к единице измерения товаров.

    Перечни товаров в тарифных странах - членах Генерального согла­шения о тарифах и торговле (Всемирная торговая организация ГАТТ ВТО) составляются в соответствии с введенной с 1 января 1988 г. гармонизированной системой описания и кодирования товаров.

    Таможенный контроль осуществляется в три стадии. На первой - экспортеры, импортеры или их торговые и транспортные агенты запол­няют таможенные декларации, в которых указываются сведения, харак­теризующие товары, существо торговых операций и участвующие сторо­ны. На второй - производится таможенный досмотр-проверка соответ­ствия фактического товара данным, указанным в декларации, прини­мается решение о возможности пропуска товара и определяется вели­чина подлежащей уплате пошлины. Третья стадия включает получение товара из таможни и уплату пошлины.

    Лицензирование - система письменных разрешений, выдаваемых государственными органами на экспорт и импорт товаров.

    Путем лицензирования осуществляется количественное регулирова­ние внешнеторгового оборота. Ограничения на импорт обычно вводятся с целью защиты национальной промышленности от конкуренции и иностранных поставщиков.

    Антидемпинговые процедуры - административные и судебные разби­рательства претензий, которые выдвигают национальные фирмы против иностранных поставщиков, обвиняя их в продаже товаров по занижен­ным ценам, наносящим ущерб местным производителям аналогичной продукции.

    Торговые преференции - льготы в торгово-политическом режиме, предоставляемые одним государством другому на взаимной основе или в одностороннем порядке. Могут применяться во всех областях торго­вого и экономического регулирования, таких, как таможенный режим, количественные ограничения, валютные расчеты, кредитование, стра­хование, стандартизация и пр. Преференции предоставляются на основе двусторонних и многосторонних договоров, участия в таможенных и экономических союзах, международных организациях.

    Технические барьеры - проверка соответствия импортируемой продукции требованиям международных и национальных стандартов, отраслевых норм и технических предписаний. Они устанавливаются в законодательном порядке государственными организациями, а также промышленными ассоциациями.

    Одним из наиболее распространенных технических барьеров является требование сертификации импортируемых товаров, т.е. получение особых свидетельств и знаков, что эти товары прошли испыта­ния в специализированных лабораториях на соответствие их характе­ристик определенным стандартам и другой нормативно-технической документации, действующей в импортирующей стране.

    Экономические методы. Практически все страны в той или иной степени, в зависимости от своих экономических возможностей, осу­ществляют экономическое регулирование экспортных и импортных опе­раций, создавая условия для развития внешнеторгового оборота и сбалансированности платежей.

    Прямое финансирование экспортного производства осуществляется в виде выплачиваемых компаниями дотаций из бюджета на покрытие разницы между себестоимостью продукции и экспортными ценами для получения гарантированных прибылей.

    Наиболее широко практикуется субсидирование государством расходов компаний на ведение научно-исследовательских и опытно-конструкторских разработок в экспортном производстве.

    Косвенное финансирование экспортного производства осуществ­ляется через частные банки, которым правительства выделяют спе­циальные дотации на снижение кредитных ставок экспортерам. Други­ми методами косвенного финансирования является возврат экспорте­рам пошлин, уплачиваемых при импорте сырья.

    Снижение налогов с экспортеров осуществляется разными метода­ми. Весьма распространено прямое снижение налогов с компаний в зависимости от доли экспорта в их производстве. Во многих странах предусмотрено право компаний производить отчисления в резервные фонды развития экспортного производства с необлагаемой налогом части прибыли. Разновидностью таких привилегий является налоговый кредит-отсрочка от уплаты налога с экспортной выручки.

    Кредитование экспорта - одна из самых распространенных форм его стимулирования. Различают внутреннее и внешнее кредитование. При внутреннем кредитовании государственные банки предоставляют компаниям на развитие экспортного производства среднесрочные (до 5 лет) и долгосрочные (до 25-30 лет) кредиты в национальной и свободно конвертируемой валюте.

    К числу других наиболее распространенных инструментов под­держки экспорта следует отнести его страхование, которое осуществ­ляется в форме государственного страхования экспортных кредитов.

    Правительственные гарантии, являющиеся существенной поддерж­кой в конкурентной борьбе, дают возможность коммерческим банкам предоставлять поставщикам льготные кредиты, так как государство берет на себя риск неполучения платежа.

    Государственное страхование экспорта осуществляется по низ­ким ставкам, обычно не превышающим 1 % застрахованной части конт­ракта, что дает возможность экспортерам получать в коммерческих банках льготные кредиты. В свою очередь, это позволяет значительно увеличить заинтересованность предприятий в продаже товаров на внешнем рынке.

    Государственное страхование экспорта охватывает не только большую часть коммерческих рисков, но и многие виды политических рисков.

    Внешнеэкономическая деятельность предприятия - это предпринимательская деятельность юридических и физических лиц, которая включает внешнеторговую и инвестиционную деятельность, международную производственную кооперацию, валютные и финансово-кредитные операции. Выбор конкретного вида внешнеэкономической деятельности зависит от специализации предприятия, механизма государственного регулирования.

    Для современного этапа развития экономики Украины самым массовым видом внешнеэкономической деятельности предприятий является внешнеторговая деятельность, то есть деятельность по осуществлению операций в сфере внешней торговли товарами, услугами, информацией и интеллектуальной собственностью. Государственное регулирование внешнеторговой деятельности основывается на Конституции Украины и осуществляется в соответствии с законом и других нормативно-правовых актов, а также общепризнанных принципов и норм международного права и международных договоров.

    Основными принципами государственного регулирования внешнеторговой деятельности являются: защита государством законных интересов участников внешнеторговой деятельности, а также законных интересов украинских производителей и потребителей товаров и услуг; равенство и недискриминация участников внешнеторговой деятельности; обоснованность и объективность применения мер государственного регулирования внешнеторговой деятельности; исключения неоправданного вмешательства государства или его органов во внешнеторговую деятельность и нанесения ущерба участникам внешнеторговой деятельности и экономике Украины; обеспечения обороны страны и безопасности государства; единство системы государственного регулирования внешнеторговой деятельности; единство применения методов государственного регулирования внешнеторговой деятельности на всей территории Украины.

    Государственное регулирование внешнеторговой деятельности осуществляется с помощью двух методов тарифного и нетарифного.

    o Тарифный метод включает в себя таможенно-тарифное регулирование.

    o нетарифного метод предусматривает:

    o нетарифное регулирование;

    o запрет и ограничения внешней торговли услугами и интеллектуальной собственностью;

    o меры экономического и административного характера, способствующих развитию внешнеторговой деятельности.

    Таможенно-тарифное регулирование является методом государственного регулирования внешней торговли товарами, осуществляется путем применения ввозной и вывозной таможенной пошлины.

    Таможенный сбор - обязательный взнос, взимаемый таможенными органами при ввозе товара на таможенную территорию или вывозе товара с этой территории и являющийся неотъемлемым условием такого ввоза или вывоза.

    В Украине применяются также особые пошлины:

    сезонные - для оперативного регулирования ввоза и вывоза товаров;

    специальные пошлины - в качестве защитной меры, если товары ввозятся на таможенную территорию Украины в количествах и на условиях, наносящих ущерб отечественным производителям подобных или непосредственно конкурирующих товаров, и как в ответ мероприятие на дискриминационные и иные действия, ограничивающие интересы государства, со стороны других государств;

    антидемпинговые пошлины - применяются в случаях ввоза на таможенную территорию Украины товаров по цене ниже, чем их нормальная стоимость в стране вывоза, если такой ввоз наносит материальный ущерб отечественным производителям подобных товаров либо препятствует организации или расширению их производства в Украине;

    компенсационные пошлины - применяются в случаях ввоза на таможенную территорию Украины товаров, при производстве или вывозе которых прямо или косвенно использовались субсидии, если такой ввоз наносит материальный ущерб отечественным производителям подобных товаров либо препятствует организации или расширению их производства в Украине.

    В Украине применяются следующие виды ставок пошлин: а) адвалорные, начисляемые в процентах к таможенной стоимости облагаемых товаров; б) специфические, начисляемые в установленном размере за единицу облагаемых товаров; в) комбинированные, сочетающие оба упомянутых вида таможенного обложения.

    Нетарифное регулирование является методом государственного регулирования внешней торговли товарами, которое осуществляется введением количественных ограничений и других запретов и ограничений экономического характера.

    Запреты и ограничения внешней торговли товарами, услугами и интеллектуальной собственностью могут вводиться: 1) в связи с участием Украины в международных санкциях; 2) с целью поддержания равновесия платежного баланса Украины; 3) в связи с мерами валютного регулирования и как, в ответ, меры в отношении дискриминационных действий отдельных государств.

    Лицензирование в сфере внешней торговли товарами устанавливается в следующих случаях:

    o введение временных количественных ограничений экспорта и импорта отдельных видов товаров;

    o реализация разрешительного порядка экспорта и (или) импорта отдельных видов товаров, которые могут неблагоприятно влиять на безопасность государства, жизнь и здоровье граждан, имущество физических или юридических лиц, государственное или муниципальное имущество, окружающую среду, жизнь или здоровье животных и растений;

    o предоставление исключительного права на экспорт и (или) импорт отдельных видов товаров;

    o выполнение Украиной международных обязательств.

    Среди мер экономического и административного характера, способствующих развитию внешнеторговой деятельности, выделяют:

    o меры, осуществляемые Правительством государства и органами исполнительной власти, способствующие развитию внешнеторговой деятельности;

    o кредитования участников внешнеторговой деятельности, создание систем гарантий и страхования экспортных кредитов;

    o организацию торговых выставок и ярмарок, специализированных симпозиумов и конференций;

    o информационное обеспечение внешнеторговой деятельности;

    o ведения внешнеторговой статистики и обеспечение свободного доступа к ней всех участников внешнеторговой деятельности;

    o обеспечение благоприятных условий для доступа украинских физических и юридических лиц на внешние рынки.

    Во внешнеторговой деятельности выделяют особые режимы ее осуществления - пограничную торговлю и свободные экономические зоны. Приграничная торговля осуществляется, как правило, на основе международных договоров Украины со смежными государствами, предусматривающие предоставление особого благоприятного режима внешнеторговой деятельности в отношении внешней торговли товарами и услугами, осуществляемой исключительно для удовлетворения местных потребностей в товарах и услугах, производимых в пределах соответствующих приграничных территорий.

    Свободные экономические зоны - особый режим хозяйственной (в частности внешнеторговой) деятельности на территории свободных экономических зон, который устанавливается федеральным законом о свободных экономических зонах. Под свободной экономической зоной понимается часть территории страны, на которой товары рассматриваются как объекты, находящиеся за пределами национальной таможенной территории и поэтому не подлежат привычном таможенному контролю и налогообложению.

    Создание свободных экономических зон преследует три основные группы целей - экономических, социальных и научно-технических. Среди экономических целей выделяют включения национального рынка в мировую систему хозяйства, привлечения иностранных инвестиций, увеличения валютных поступлений в бюджет страны. Научно-технические цели преследуют использования новейших технологий, методов организации производства, ноу-хау. Социальные цели включают развитие регионов, увеличение числа рабочих мест и обеспечения занятости населения, обучение и подготовку квалифицированных кадров.

    Основным стимулом для развития свободных экономических зон является система льгот для инвесторов. Можно выделить четыре основные группы льгот:

    o налоговые льготы, стимулирующие развитие производства в целом или его отдельных видов;

    o финансовые льготы, которые позволяют субсидировать развитие отдельных производств, предоставлять скидки за пользование инфраструктурой, землей, коммунальными услугами, производственными зданиями;

    o внешнеторговые и валютные льготы, позволяющие инвесторам в упрощенном виде осуществлять внешнеторговые операции и репатриировать полученную;

    o административные льготы, упрощают режим регистрации предприятий, визовые процедуры и другие организационные вопросы.

    Значительная доля в внешнеторговой деятельности относится бартера. Внешняя торговля товарами, услугами и интеллектуальной собственностью с использованием внешнеторговых бартерных операций может осуществляться только при условии, что таким операциям предусмотрен обмен равноценными по стоимости товарами (услугами, работами, интеллектуальной собственностью), а также обязанность соответствующей стороны оплатить разницу в их стоимости в случае, если такой операции предполагается обмен неравноценными товарами. Порядок осуществления контроля за внешнеторговыми бартерным операциям и их учета устанавливается Правительством Украины. В случае, если внешнеторговые бартерные операции предусматривают частичное использование денежных и (или) иных платежных средств, порядок осуществления контроля за такими операциями и их учета устанавливается Правительством Украины и Центральным банком Украины в соответствии с украинским законодательством.