КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Звуковая библиотека
Программа в приложении 3.А является исходным кодом sound_robo51.h. Файл задержки библиотеки, который используют во всех экспериментах комплекта Robo-51. Пользователь может сделать программы в блокноте или любом редакторе и сохранить в.h-file. Описание функции заключаются в следующем: (1) delay_sound: установить время задержки для генерации звука сигнала Формат функции: void delay_sound (неподписанных Int мс) Параметр: Ms - время задержки в миллисекундах. Диапазон от 0 до 65535. (2) звук: генерация звукового сигнала Формат функции: void delay_sound (Int частота, Int время) Параметр: freq - Целевая частота в Гц; time - продолжительность времени во второй блок. (3) звуковой сигнал: генерация звукового сигнала на частоте 500 Гц 0,1 секунд. Формат функции: void delay_sound (недействительными) Пример: sound (700,200); / / Создание сигнала частотой 700Hz с длительностью 200 миллисекунд beep (); / / Создание звукового сигнала
- Открыть RIDE и создать новый проект. Сделайте C код в программе (Приложение 3.Б) и сохраните как act.c файл. Сборка проекта в HEX файл. - Скачать шестнадцатеричный файл и запустить FLIP программу. Соблюдайте операции. - Светодиод на P3.5 P3.7 к свету и можно слушать звук разной частоты. Порт P3.5 с частотой 1 кГц, P3.6 - 800Hz и 500Hz для P3.7.
Приложение 3.А
/*—————————————————————————————————————*/ // Program: Generate sound by frequency // Description: Generate sound function // Filename: sound_robo51.h // C compiler: RIDE 51 V6.1 /*—————————————————————————————————————*/ sbit s_bit = P2^7; #pragma DISABLE // for disable all interrupt // before call function delay_sound void delay_sound(unsigned int ms) { unsigned int x,a; // Keep for counter loop for(x=0;x<ms;x++) { for(a=0;a<75;a++); // Loop for delay 100 us per unit } } #pragma DISABLE // Disable all interrupt before call ‘sound’ function void sound(int freq,int time) { int dt=0,m=0; // Keep value and keep active logic delay time dt = 5000/freq; time = (5*time)/dt; // Keep counter for generating sound for(m=0;m<time;m++) { s_bit = 1; // P2.7 = high delay_sound(dt); // Delay for sound s_bit = 0; // P2.7 = low delay_sound(dt); // Delay for sound } } #pragma DISABLE // Disable all interrupt before call ‘beep’ function void beep(void) { sound(500,100); // Generate sound at default frequency } Note: In using all function of this library do not disturb from any interrupt. Because put #pragma DISABLE directive before call each function. Приложение 3.Б
/*—————————————————————————————————————*/ // Program: LED and sound // Description: drive LED P3.5, P3.6 and P3.7 by delay interval 2 seconds // and generate sound when LED changing // Filename: act0401.c // C compiler: RIDE 51 V6.1 /*—————————————————————————————————————*/ #include <C51ac2.h> // Declare T89C51AC2’s register #include <delay_robo51.h> // Declare Delay library #include <sound_robo51.h> // Declare Sound generator library sbit led1 = P3^5; // Define led1 to P3.5 sbit led2 = P3^6; // Define led2 to P3.6 sbit led3 = P3^7; // Define led3 to P3.7 void main() { while(1) // Endless loop { sound(1000,400); // Generate sound at 1000Hz for 0.4 second led1 = 0; // Turn-on LED at P3.5 delay_ms(2000); // Delay 2 seconds // (call function from Delay library) led1 = 1; // Turn-off LED at P3.5 sound(800,200); // Generate sound at 800Hz for 0.2 second led2 = 0; // Turn-on LED at P3.6 delay_100us(20000); // Delay 2 seconds // (call function from Delay library) led2 = 1; // Turn-off LED at P3.6 beep(); // Generate “beep” signal at 500Hz for 0.1s led3 = 0; // Turn-on LED at P3.7 delay_100us(20000); // Delay 2 seconds led3 = 1; // Turn-off LED at P3.7 } }
Задание по выполнению лабораторной работы:
1. Изучить управление светодиодами. 2. Написать и запустить тестовую программу по светодиодной визуализации. 3. Изучить LCD интерфейс. 4. Написать и запустить тестовую программу по LCD визуализации. 5. Изучить звуковое сопровождение МС. 6. Написать и запустить тестовую программу по звуковой визуализации. Контрольные вопросы: 1. Сферы применения мехатронных систем. 2. Способы вывода информации. 3. Построение модулей вывода информации. Лабораторная работа №4
Дата добавления: 2017-02-01; Просмотров: 44; Нарушение авторских прав?; Мы поможем в написании вашей работы! |