Студопедия

КАТЕГОРИИ:


Архитектура-(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; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopediasu.com - Студопедия (2013 - 2026) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.