|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.12.2012, 19:05 | #1 |
Новичок
Джуниор
Регистрация: 27.12.2012
Сообщений: 1
|
Keil, aduc842
Помогите пожалуйста.. у меня есть программка на C++. мне нужно знать что каждая строка означает.. помогите пожалуйста, кто может. Программку то нашла, а что строки значат не знаю ^__^
задание: В данном расчетно-графическом задании необходимо разработать электромузыкальный инструмент. При нажатии на кнопку должна звучать нота, соответствующая данной кнопке. Текст программы sfr TMOD=0x89; //TMOD - регистр конфигурации Таймера 1 и Таймера 0 sfr TCON=0x88; //TCON - регистр управления Таймера 1 и Таймера 0. sfr TH1=0x8D; //TH1- старший байт Таймера 1. sfr TL1=0x8B; //TL1 -младший байт Таймера 1. sbit TF1=0x8F; //Флаг переполнения Таймера 1. sbit TR1=0x8E; //Бит запуска Таймера 1. При TR1 = 1 счет разрешен. sfr P0=0x80; sbit P04=0x84; sbit P05=0x85; sbit P06=0x86; sfr P1=0x90; sbit P10=0x90; sbit P11=0x91; sbit P12=0x92; sbit P13=0x93; sbit P3_3=0xB3; //адрес звукового датчика sfr PLLCON=0xD7; int ss,str,b,s,k,f; void not (f) { PLLCON=0x51; TF1=0; //Обнуляем флаг переполнения таймера1 TMOD=0x10; TH1 = 65536-4194304/f >> 8; TL1 = 65536-4194304/f; TR1 = 1; //запускаем таймер P3_3=0; while(!TF1); TF1=0; TMOD=0x10; TH1 = 65536-4194304/f >> 8; TL1 = 65536-4194304/f; TR1 = 1; P3_3=1; while(!TF1); } void find (k) { if (P10=!P10) {str=1; b=k;} if (P11=!P11) {str=2; b=k;} if (P12=!P12) {str=3; b=k;} if (P1=!P13) {str=4; b=k;} if (str>0,b==k) {s=k;} } main() { while(1) { P04=1; P05=1; P06=1; str=0; b=0; s=0; P04=0; find (1); P04=1; P05=0; find (2); P05=1; P06=0; find (3); P06=1; ss=0; if (str==1) ss=s; if (str==2) ss=s+3; if (str==3) ss=s+6; if (str==4) ss=s+9; P0=ss; if (ss==1) f=262; if (ss==2) f=294; if (ss==3) f=330; if (ss==4) f=349; if (ss==5) f=392; if (ss==6) f=440; if (ss==7) f=494; if (ss==8) f=2*262; if (ss==9) f=2*294; if (ss==10) f=2*330; if (ss==11) f=2*349; if (ss==12) f=2*392; if (ss>0) not(f); } } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проги на Keil | lolwhat | Помощь студентам | 6 | 07.06.2012 22:22 |
задачи на keil | werturo | Фриланс | 0 | 22.05.2012 23:15 |