- •1. Предисловие.
- •2. Основные сведения, необходимые для создания программ на языке си.
- •3. Основные правила при работе с программами, написанными на языке cи.
- •4. Программная имитация системы автоматического управления.
- •5. Режимы работы системы автоматического управления.
- •6. Отображение параметров процесса управления.
- •7. Перечень и назначение подпрограмм системы автоматического управления.
- •8. Порядок разработки системы автоматического управления на основе образца.
- •9. Файлы входные режимов работы nn 3, 4, 5, 6.
- •Файл blackcs1.C. Регистрация процесса управления мо lvd-1.
- •Файл blackcs2.C. Регистрация процесса управления мо lvd-2.
- •Файл blackcs3.C. Регистрация процесса управления мо Автопилот.
- •11. Файл scont.C. Исходный текст программы scont.
- •12. Файл sys_cnst.H. Глобальные константы программы scont.C.
- •13. Файл sys_var.H. Глобальные переменные программы scont.C.
- •14. Файл sys_mus.H. Музыкальные подпрограммы программы scont.C.
- •15. Файл sys_prim.H. Графические примитивы программы scont.C.
- •16. Файл sys_dv0.H. Программная заглушка программы scont.C.
- •17. Файл moddv0.H. Музыкальный центр.
- •18. Файл moddv1.H. Электронная схема lvd-1.
- •19. Файл moddv2.H. Электронная схема lvd-2.
- •20. Файл moddv3.H. Автопилот.
- •Содержание.
14. Файл sys_mus.H. Музыкальные подпрограммы программы scont.C.
[1] /*########################################################*/
[2] /*
[3] Copyright (C) 2008 by A.E.Stefanovich tel. 236-2729, 268-3916
[4] Moscow State University of the Instrumentation and Informatics
[5] MGUPI
[6] Chair Information Maintenance of Systems Robototechnical and Mechatronic
[7] IS 5
[8] */
[9] /*########################################################*/
[10] /*
[11] File: SYS_MUS.h
[12] MUSIC
[13] */
[14] /*########################################################*/
[15] /*============================= Global Constants */
[16] /*------------- First oct. */
[17] #define D_ 262
[18] #define DD_ 277
[19] #define RB- 277
[20] #define R_ 294
[21] #define RD_ 311
[22] #define MB_ 311
[23] #define M_ 330
[24] #define F_ 349
[25] #define FD_ 370
[26] #define SB_ 370
[27] #define S_ 392
[28] #define SD_ 415
[29] #define LB_ 415
[30] #define L_ 440
[31] #define LD_ 466
[32] #define CB_ 466
[33] #define C_ 494
[34] /*------------- Coeficient frequency */
[35] #define OG 0.25 /* Big oct. */
[36] #define OL 0.5 /* Little oct. */
[37] #define O2 2 /* Second oct. */
[38] #define O3 4 /* Third oct */
[39] /*------------- Pause frequency */
[40] #define P_ 20000
[41] /*------------- Length of the whole note */
[42] #define ANDANTE 3375
[43] #define MODERATO 2250
[44] #define ALLEGRO 1700
[45] /*============================= DECLARATION */
[46] void n(float f,float l);
[47] void sonata17(float W);
[48] void sonata17r(float W);
[49] void elise(float W);
[50] /*######################################### SUB_PROGRAMMS */
[51] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIII*/
[52] void n(float f,float l)
[53] {
[54] sound(f);
[55] delay(l);
[56] nosound();
[57] }
[58] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIII*/
[59] void sonata17(float W)
[60] {
[61] n(L_,W/16); n(F_*O2,W/16); n(M_*O2,W/16);
[62] /*------------- 1 */
[63] n(R_*O2,W/8); n(P_,W/16); n(L_*O2,W/16); n(F_*O2,W/16); n(M_*O2,W/16);
[64] n(R_*O2,W/8); n(P_,W/16); n(L_*O2,W/16); n(F_*O2,W/16); n(M_*O2,W/16);
[65] n(R_*O2,W/8); n(P_,W/16); n(L_, W/16); n(F_*O2,W/16); n(R_*O2,W/16);
[66] n(M_*O2,W/8); n(P_,W/16); n(L_, W/16); n(S_*O2,W/16); n(F_*O2,W/16);
[67] /*------------- 2 */
[68] n(M_*O2,W/8); n(P_,W/16); n(L_,W/16); n(S_*O2,W/16); n(F_*O2,W/16);
[69] n(M_*O2,W/8); n(P_,W/16); n(L_ ,W/16); n(S_*O2,W/16); n(F_*O2,W/16);
[70] n(M_*O2,W/8); n(P_,W/16); n(L_, W/16); n(S_*O2,W/16); n(M_*O2,W/16);
[71] n(F_*O2,W/8); n(P_,W/16); n(R_*O2,W/16); n(L_*O2,W/16); n(R_*O3,W/16);
[72] /*------------- 3 */
[73] n(CB_*O2,W/8); n(P_,W/16); n(CB_ ,W/16); n(R_*O2,W/16); n(CB_ ,W/16);
[74] n(S_ *O2,W/8); n(P_,W/16); n(S_ ,W/16); n(CB_ ,W/16); n(S_*O2,W/16);
[75] n(M_ ,W/8); n(P_,W/16); n(M_, W/16); n(L_ ,W/16); n(M_*O2,W/16);
[76] n(F_*O2 ,W/8); n(P_,W/16); n(F_, W/16); n(L_ ,W/16); n(F_*O2,W/16);
[77] /*------------- 4 */
[78] n(R_*O2 ,W/8); n(P_,W/16); n(R_ ,W/16); n(L_ ,W/16); n(R_ *O2,W/16);
[79] n(DD_*O2,W/8); n(P_,W/16); n(DD_ ,W/16); n(L_ ,W/16); n(DD_*O2,W/16);
[80] n(R_ *O2,W/4);
[81] }
[82] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIII*/
[83] void sonata17r(float W)
[84] {
[85] n(L_,W/16); n(F_*O2,W/16); n(M_*O2,W/16);
[86] /*------------- 1 */
[87] n(R_*O2,W/8); n(P_,W/16); n(L_*O2,W/16); n(F_*O2,W/16); n(M_*O2,W/16);
[88] n(R_*O2,W/8); n(P_,W/16); n(L_*O2,W/16); n(F_*O2,W/16); n(M_*O2,W/16);
[89] n(R_*O2,W/8); n(P_,W/16); n(L_, W/16); n(F_*O2,W/16); n(R_*O2,W/16);
[90] n(M_*O2,W/8); n(P_,W/16);
[91] }
[92] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIII*/
[93] void elise(float W)
[94] {
[95] n(M_*O2,W/16); n(RD_*O2,W/16); n(M_*O2,W/16);
[96] /*------------- 1 */
[97] n(RD_*O2,W/16); n(M_*O2,W/16); n(C_,W/16); n(R_*O2,W/16); n(D_*O2,W/16);
[98] n(L_,W/8); n(P_,W/16);
[99] }
[100] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIII*/
[101] /*#############################################################*/
* * *