G
Guest
Guest
Привет ...
Кто-нибудь может проверить мои программирования ... Мой программирования не может быть запущен ...
Я не знаю, что это ошибка .... Пожалуйста, проверьте и сообщите мне как можно скорее.
Я предлагаю, копия моей программы и запустить ее в C Programming .. так U ясно увидите мое программирование ... Пожалуйста, помогите мне ..
Просьба помочь ...
P / S: Я хочу управления шаговым двигателем через параллельный порт* Шаговых двигателей ДВИЖЕНИЯ * /
# включить <stdio.h>
# включить <time.h>
# включить <dos.h>
# включить <conio.h>
# включить <process.h>
# включить <stdlib.h># DEFINE данных 0x378
# DEFINE outportb (Data, Bits)
Пустота задержки (clock_t hundredthsec)
(
clock_t задержки, Q;
задержка = hundredthsec * (CLOCKS_PER_SEC / 100);
Q = часы () задержки;
/ / Задержка интервал
в то время (часы () <Q);
)Int full_stepping (INT, INT, INT);
Int high_torque_stepping (INT, INT, INT);
Int half_stepping (INT, INT, INT);
Основной (VOID)
(
Int скорость, steps_mode, направление вращения, шаги;
Чар YESNO;
Е ( "\ п@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@");
Е ( "\ N @ @");
Е ( "\ N @ ~ шаговых двигателей контроль ~ @");
Е ( "\ N @ @");
Е ( "\ N @ @");
Е ( "\ N @ @");
Е ( "\ N @ представлять по Shaiful Анвар Исмаил @");
Е ( "\ N @ метрической нет.: 020045" КЭК "@");
Е ( "\ N @ отдела: CAD / CAM и производства @");
Е ( "\ N @ Факультет: Инженерно @");
Е ( "\ N @ университета: Университет Малайи @");
Е ( "\ N @ руководитель: Г-н Azuddin Мамат @");
Е ( "\ N @ Дата: 27 декабря 2005 @");
Е ( "\ N @ @");
Е ( "\ п@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@");Е ( "\ N \ nControl Motor? [Y / N]:");
зсапЕ ( "% C", & YESNO);
WHILE ((YESNO! = 'N')&&( YESNO! =' N '))
(Е ( "\ N \ nStepper Мотор требуется 48 шагов на один оборот");
Е ( "\ НСУ 1 шаг = 7,5 градуса");Е ( "\ nПожалуйста установить задержку между сигналами (1 для быстрого и медленного 5):");
зсапЕ ( "% D", & скорость);в то время (скорость <1 | | скорости> 5)
(
Е ( "\ N \ nПожалуйста, введите правильное число:");
зсапЕ ( "% D", & скорость);
)
Е ( "\ nПожалуйста выбрать тип шагов режиме");
Е ( "\ N 1 для полной активизации");
Е ( "\ N 2 для высокого крутящего момента активизации");
Е ( "\ N 3 половины степпинг");
Е ( "\ п, что Ваш выбор:");
зсапЕ ( "% D", & steps_mode);
While (steps_mode <1 | | steps_mode> 3)
(
Е ( "Пожалуйста, введите правильный номер:");
зсапЕ ( "% D", направление);
)
если (steps_mode == 1)
(
Е ( "\ N \ nYour выбора полной активизации режима");
full_stepping (направление, шаги, скорость);
)
Else If (steps_mode == 2)
(
Е ( "\ N \ nYour выбор высокого крутящего момента активизации режима");
high_torque_stepping (направление, шаги, скорость);
)
Else If (steps_mode == 3)
(
Е ( "\ N \ nYour выбор половине активизации режима");
half_stepping (направление, шаги, скорость);
)
еще
(
Е ( "\ N \ Пожалуйста, введите правильный номер:");
зсапЕ ( "% D", & steps_mode);
)
)Е ( "\ nQuitting ........");
Е ( "\ nThank You");
Exit (0);
)
Int full_stepping (INT направлении, Int шаги, Int скорость)
(
Int вращения;
Е ( "\ N \ nПожалуйста, установить количество оборотов:");
зсапЕ ( "% D", вращения);
шагов = 12 * вращения;
Е ( "\ nПожалуйста выбирать направление для шагового двигателя");
Е ( "\ nclockwise = 1 или против часовой стрелки = 0");
Е ( "\ nwhat Ваш выбор:");
зсапЕ ( "% D", направление);
While ((направление! = 0) & & (направление! = 1))
(
Е ( "Пожалуйста, введите правильный номер:");
зсапЕ ( "% D", направление);
)
если (в направлении == 1)
(
Int К = 1;
Е ( "\ п ..... начинают вращаться по часовой стрелке");
для (INT Z = 0, Z <шагов; Z )
(
(
для (INT = 0; <1; A )
задержка (скорость);
outportb (0x378,);
(
для (INT B = 0; B <2; B )
задержка (скорость);
outportb (0x378;
(
для (INT D = 0; D <4; D )
задержка (скорость);
outportb (0x378, D);
(
для (INT F = 0; F <8; F )
задержка (скорость);
outportb (0x378, F);
)
)
)
)
)
Е ( "\ nEnd ..... вращения \ п");
вернуть 0;
)
еще
(
Int К = 1;
Е ( "\ п ..... начинают вращаться против часовой стрелки");
для (INT Z = 0, Z <шагов; Z )
(
(
для (INT F = 0; F <8; F )
задержка (скорость);
outportb (0x378, F);
(
для (INT D = 0; D <4; D )
задержка (скорость);
outportb (0x378, D);
(
для (INT B = 0; B <2; B )
задержка (скорость);
outportb (0x378;
(
для (INT = 0; <1; A )
задержка (скорость);
outportb (0x378,);
)
)
)
)
)
Е ( "\ nEnd ..... вращения \ п");
вернуть 0;
)
)
Int high_torque_stepping (INT направлении, Int шаги, Int скорость)
(
Int вращения;
Е ( "\ N \ nПожалуйста, установить количество оборотов:");
зсапЕ ( "% D", вращения);
шагов = 12 * вращения;
Е ( "\ nПожалуйста выбирать направление для шагового двигателя");
Е ( "\ nclockwise = 1 или против часовой стрелки = 0");
Е ( "\ nwhat Ваш выбор:");
зсапЕ ( "% D", направление);While ((направление! = 0) & & (направление! = 1))
(
Е ( "Пожалуйста, введите правильный номер:");
зсапЕ ( "% D", направление);
)если (в направлении == 1)
(
Int К = 1;
Е ( "\ п ..... начинают вращаться по часовой стрелке");
для (INT Z = 0, Z <шагов; Z )
(
(
для (INT C = 0; C <3; C )
задержка (скорость);
outportb (0x378, C);
(
для (INT E = 0; E <6; E )
задержка (скорость);
outportb (0x378, Е);
(
для (INT Н = 0, H <12; H )
задержка (скорость);
outportb (0x378, H);
(
для (INT G = 0; G <9, G )
задержка (скорость);
outportb (0x378, G);
)
)
)
)
)
Е ( "\ nEnd ..... вращения \ п");
вернуть 0;
)
еще
(
Int К = 1;
Е ( "\ п ..... начинают вращаться против часовой стрелки");
для (INT Z = 0, Z <шагов; Z )
(
(
для (INT G = 0; G <9, G )
задержка (скорость);
outportb (0x378, G);
(
для (INT Н = 0, H <12; H )
задержка (скорость);
outportb (0x378, H);
(
для (INT E = 0; E <6; E )
задержка (скорость);
outportb (0x378, Е);
(
для (INT C = 0; C <3; C )
задержка (скорость);
outportb (0x378, C);
)
)
)
)
)
Е ( "\ nEnd ..... вращения \ п");
вернуть 0;
)
)
Int half_stepping (INT направлении, Int шаги, Int скорость)
(
Int вращения;
Е ( "\ N \ nПожалуйста, установить количество оборотов:");
зсапЕ ( "% D", вращения);
шагов = 12 * вращения;Е ( "\ nПожалуйста выбирать направление для шагового двигателя");
Е ( "\ nclockwise = 1 или против часовой стрелки = 0");
Е ( "\ nwhat Ваш выбор:");
зсапЕ ( "% D", направление);While ((направление! = 0) & & (направление! = 1))
(
Е ( "Пожалуйста, введите правильный номер:");
зсапЕ ( "% D", направление);
)если (в направлении == 1)
(
Int К = 1;
Е ( "\ п ..... начинают вращаться по часовой стрелке");
для (INT Z = 0, Z <шагов; Z )
(
(
для (INT = 0; <1; A )
задержка (скорость);
outportb (0x378,);
(
для (INT C = 0; C <3; C )
задержка (скорость);
outportb (0x378, C);
(
для (INT B = 0; B <2; B )
задержка (скорость);
outportb (0x378;
(
для (INT E = 0; E <6; E )
задержка (скорость);
outportb (0x378, Е);
(
для (INT D = 0; D <4; D )
задержка (скорость);
outportb (0x378, D);
(
для (INT Н = 0, H <12; H )
задержка (скорость);
outportb (0x378, H);
(
для (INT F = 0; F <8; F )
задержка (скорость);
outportb (0x378, F);
(
для (INT G = 0; G <9, G )
задержка (скорость);
outportb (0x378, G);
)
)
)
)
)
)
)
)
)
Е ( "\ nEnd ..... вращения \ п");
вернуть 0;
)
еще
(
Int К = 1;
Е ( "\ п ..... начинают вращаться по часовой стрелке");
для (INT Z = 0, Z <шагов; Z )
(
(
для (INT G = 0; G <9, G )
задержка (скорость);
outportb (0x378, G);
(
для (INT F = 0; F <8; F )
задержка (скорость);
outportb (0x378, F);
(
для (INT Н = 0, H <12; H )
задержка (скорость);
outportb (0x378, H);
(
для (INT D = 0; D <4; D )
задержка (скорость);
outportb (0x378, D);
(
для (INT E = 0; E <8; E )
задержка (скорость);
outportb (0x378, F);
(
для (INT B = 0; B <2; B )
задержка (скорость);
outportb (0x378;
(
для (INT C = 0; C <3; C )
задержка (скорость);
outportb (0x378, C);
(
для (INT = 0; <1; A )
задержка (скорость);
outportb (0x378,);
)
)
)
)
)
)
)
)
)
Е ( "\ nEnd ..... вращения \ п");
вернуть 0;
)
)
Кто-нибудь может проверить мои программирования ... Мой программирования не может быть запущен ...
Я не знаю, что это ошибка .... Пожалуйста, проверьте и сообщите мне как можно скорее.
Я предлагаю, копия моей программы и запустить ее в C Programming .. так U ясно увидите мое программирование ... Пожалуйста, помогите мне ..
Просьба помочь ...
P / S: Я хочу управления шаговым двигателем через параллельный порт* Шаговых двигателей ДВИЖЕНИЯ * /
# включить <stdio.h>
# включить <time.h>
# включить <dos.h>
# включить <conio.h>
# включить <process.h>
# включить <stdlib.h># DEFINE данных 0x378
# DEFINE outportb (Data, Bits)
Пустота задержки (clock_t hundredthsec)
(
clock_t задержки, Q;
задержка = hundredthsec * (CLOCKS_PER_SEC / 100);
Q = часы () задержки;
/ / Задержка интервал
в то время (часы () <Q);
)Int full_stepping (INT, INT, INT);
Int high_torque_stepping (INT, INT, INT);
Int half_stepping (INT, INT, INT);
Основной (VOID)
(
Int скорость, steps_mode, направление вращения, шаги;
Чар YESNO;
Е ( "\ п@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@");
Е ( "\ N @ @");
Е ( "\ N @ ~ шаговых двигателей контроль ~ @");
Е ( "\ N @ @");
Е ( "\ N @ @");
Е ( "\ N @ @");
Е ( "\ N @ представлять по Shaiful Анвар Исмаил @");
Е ( "\ N @ метрической нет.: 020045" КЭК "@");
Е ( "\ N @ отдела: CAD / CAM и производства @");
Е ( "\ N @ Факультет: Инженерно @");
Е ( "\ N @ университета: Университет Малайи @");
Е ( "\ N @ руководитель: Г-н Azuddin Мамат @");
Е ( "\ N @ Дата: 27 декабря 2005 @");
Е ( "\ N @ @");
Е ( "\ п@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@");Е ( "\ N \ nControl Motor? [Y / N]:");
зсапЕ ( "% C", & YESNO);
WHILE ((YESNO! = 'N')&&( YESNO! =' N '))
(Е ( "\ N \ nStepper Мотор требуется 48 шагов на один оборот");
Е ( "\ НСУ 1 шаг = 7,5 градуса");Е ( "\ nПожалуйста установить задержку между сигналами (1 для быстрого и медленного 5):");
зсапЕ ( "% D", & скорость);в то время (скорость <1 | | скорости> 5)
(
Е ( "\ N \ nПожалуйста, введите правильное число:");
зсапЕ ( "% D", & скорость);
)
Е ( "\ nПожалуйста выбрать тип шагов режиме");
Е ( "\ N 1 для полной активизации");
Е ( "\ N 2 для высокого крутящего момента активизации");
Е ( "\ N 3 половины степпинг");
Е ( "\ п, что Ваш выбор:");
зсапЕ ( "% D", & steps_mode);
While (steps_mode <1 | | steps_mode> 3)
(
Е ( "Пожалуйста, введите правильный номер:");
зсапЕ ( "% D", направление);
)
если (steps_mode == 1)
(
Е ( "\ N \ nYour выбора полной активизации режима");
full_stepping (направление, шаги, скорость);
)
Else If (steps_mode == 2)
(
Е ( "\ N \ nYour выбор высокого крутящего момента активизации режима");
high_torque_stepping (направление, шаги, скорость);
)
Else If (steps_mode == 3)
(
Е ( "\ N \ nYour выбор половине активизации режима");
half_stepping (направление, шаги, скорость);
)
еще
(
Е ( "\ N \ Пожалуйста, введите правильный номер:");
зсапЕ ( "% D", & steps_mode);
)
)Е ( "\ nQuitting ........");
Е ( "\ nThank You");
Exit (0);
)
Int full_stepping (INT направлении, Int шаги, Int скорость)
(
Int вращения;
Е ( "\ N \ nПожалуйста, установить количество оборотов:");
зсапЕ ( "% D", вращения);
шагов = 12 * вращения;
Е ( "\ nПожалуйста выбирать направление для шагового двигателя");
Е ( "\ nclockwise = 1 или против часовой стрелки = 0");
Е ( "\ nwhat Ваш выбор:");
зсапЕ ( "% D", направление);
While ((направление! = 0) & & (направление! = 1))
(
Е ( "Пожалуйста, введите правильный номер:");
зсапЕ ( "% D", направление);
)
если (в направлении == 1)
(
Int К = 1;
Е ( "\ п ..... начинают вращаться по часовой стрелке");
для (INT Z = 0, Z <шагов; Z )
(
(
для (INT = 0; <1; A )
задержка (скорость);
outportb (0x378,);
(
для (INT B = 0; B <2; B )
задержка (скорость);
outportb (0x378;
(
для (INT D = 0; D <4; D )
задержка (скорость);
outportb (0x378, D);
(
для (INT F = 0; F <8; F )
задержка (скорость);
outportb (0x378, F);
)
)
)
)
)
Е ( "\ nEnd ..... вращения \ п");
вернуть 0;
)
еще
(
Int К = 1;
Е ( "\ п ..... начинают вращаться против часовой стрелки");
для (INT Z = 0, Z <шагов; Z )
(
(
для (INT F = 0; F <8; F )
задержка (скорость);
outportb (0x378, F);
(
для (INT D = 0; D <4; D )
задержка (скорость);
outportb (0x378, D);
(
для (INT B = 0; B <2; B )
задержка (скорость);
outportb (0x378;
(
для (INT = 0; <1; A )
задержка (скорость);
outportb (0x378,);
)
)
)
)
)
Е ( "\ nEnd ..... вращения \ п");
вернуть 0;
)
)
Int high_torque_stepping (INT направлении, Int шаги, Int скорость)
(
Int вращения;
Е ( "\ N \ nПожалуйста, установить количество оборотов:");
зсапЕ ( "% D", вращения);
шагов = 12 * вращения;
Е ( "\ nПожалуйста выбирать направление для шагового двигателя");
Е ( "\ nclockwise = 1 или против часовой стрелки = 0");
Е ( "\ nwhat Ваш выбор:");
зсапЕ ( "% D", направление);While ((направление! = 0) & & (направление! = 1))
(
Е ( "Пожалуйста, введите правильный номер:");
зсапЕ ( "% D", направление);
)если (в направлении == 1)
(
Int К = 1;
Е ( "\ п ..... начинают вращаться по часовой стрелке");
для (INT Z = 0, Z <шагов; Z )
(
(
для (INT C = 0; C <3; C )
задержка (скорость);
outportb (0x378, C);
(
для (INT E = 0; E <6; E )
задержка (скорость);
outportb (0x378, Е);
(
для (INT Н = 0, H <12; H )
задержка (скорость);
outportb (0x378, H);
(
для (INT G = 0; G <9, G )
задержка (скорость);
outportb (0x378, G);
)
)
)
)
)
Е ( "\ nEnd ..... вращения \ п");
вернуть 0;
)
еще
(
Int К = 1;
Е ( "\ п ..... начинают вращаться против часовой стрелки");
для (INT Z = 0, Z <шагов; Z )
(
(
для (INT G = 0; G <9, G )
задержка (скорость);
outportb (0x378, G);
(
для (INT Н = 0, H <12; H )
задержка (скорость);
outportb (0x378, H);
(
для (INT E = 0; E <6; E )
задержка (скорость);
outportb (0x378, Е);
(
для (INT C = 0; C <3; C )
задержка (скорость);
outportb (0x378, C);
)
)
)
)
)
Е ( "\ nEnd ..... вращения \ п");
вернуть 0;
)
)
Int half_stepping (INT направлении, Int шаги, Int скорость)
(
Int вращения;
Е ( "\ N \ nПожалуйста, установить количество оборотов:");
зсапЕ ( "% D", вращения);
шагов = 12 * вращения;Е ( "\ nПожалуйста выбирать направление для шагового двигателя");
Е ( "\ nclockwise = 1 или против часовой стрелки = 0");
Е ( "\ nwhat Ваш выбор:");
зсапЕ ( "% D", направление);While ((направление! = 0) & & (направление! = 1))
(
Е ( "Пожалуйста, введите правильный номер:");
зсапЕ ( "% D", направление);
)если (в направлении == 1)
(
Int К = 1;
Е ( "\ п ..... начинают вращаться по часовой стрелке");
для (INT Z = 0, Z <шагов; Z )
(
(
для (INT = 0; <1; A )
задержка (скорость);
outportb (0x378,);
(
для (INT C = 0; C <3; C )
задержка (скорость);
outportb (0x378, C);
(
для (INT B = 0; B <2; B )
задержка (скорость);
outportb (0x378;
(
для (INT E = 0; E <6; E )
задержка (скорость);
outportb (0x378, Е);
(
для (INT D = 0; D <4; D )
задержка (скорость);
outportb (0x378, D);
(
для (INT Н = 0, H <12; H )
задержка (скорость);
outportb (0x378, H);
(
для (INT F = 0; F <8; F )
задержка (скорость);
outportb (0x378, F);
(
для (INT G = 0; G <9, G )
задержка (скорость);
outportb (0x378, G);
)
)
)
)
)
)
)
)
)
Е ( "\ nEnd ..... вращения \ п");
вернуть 0;
)
еще
(
Int К = 1;
Е ( "\ п ..... начинают вращаться по часовой стрелке");
для (INT Z = 0, Z <шагов; Z )
(
(
для (INT G = 0; G <9, G )
задержка (скорость);
outportb (0x378, G);
(
для (INT F = 0; F <8; F )
задержка (скорость);
outportb (0x378, F);
(
для (INT Н = 0, H <12; H )
задержка (скорость);
outportb (0x378, H);
(
для (INT D = 0; D <4; D )
задержка (скорость);
outportb (0x378, D);
(
для (INT E = 0; E <8; E )
задержка (скорость);
outportb (0x378, F);
(
для (INT B = 0; B <2; B )
задержка (скорость);
outportb (0x378;
(
для (INT C = 0; C <3; C )
задержка (скорость);
outportb (0x378, C);
(
для (INT = 0; <1; A )
задержка (скорость);
outportb (0x378,);
)
)
)
)
)
)
)
)
)
Е ( "\ nEnd ..... вращения \ п");
вернуть 0;
)
)