

ПРОГРАММИРОВАНИЕ
// Запись его в сектор 56 MMC
tmp = Mmc_Write_Sector(56, data);
/** Теперь чтение секторов 55 и
56 **/
// Чтение сектора 55
tmp = Mmc_Read_Sector(55, data);
// Отправка 512 байтов из буфера
в USART
if (tmp == 0)
for (i = 0; i < 512; i++)
Usart_Write(data[i]);
// Чтение сектора 56
tmp = Mmc_Read_Sector(56, data);
// Отправка 512 байтов из буфера
в USART
if (tmp == 0)
for (i = 0; i < 512; i++)
Usart_Write(data[i]);
} // end
Ф
УНКЦИИ ДЛЯ ЗВУКА
СредаMikroCпредоставляет звуковую
библиотеку, которая позволяет органи
зовать звуковуюсигнализациюв разра
батываемом устройстве. Для этого пот
ребуется только пьезоэлектрический
излучатель и назначенный порт.
Библиотека включает в свой состав
функцию инициализации Sound_Init
и функцию формирования звука
Sound_Play. Описание этих функций
приведено в таблицах 39 и 40 соответ
ственно.
Следующий пример демонстрирует
использованиефункций звуковой биб
лиотеки для генерации тонового сиг
нала с помощьюпьезоэлектрического
излучателя. Данный программный код
может быть использован на любом
микроконтроллере, который имеет
PORTB и АЦПна порту PORTA. Частота
звука задаётся входным напряжением
АЦП (младший байт кода этого напря
жения используется как период сигна
ла
T
= 1/
f
).
unsigned adc_value;
void main() {
PORTB = 0; // Очистка PORTB
TRISB = 0; // PORTB – выход
INTCON = 0; // Запрет всех прерываний
ADCON1 = 0x82; // Конфигурирова
ние VDD как опорного напряжения,
// и выбор канала АЦП
TRISA = 0xFF; // PORTA – вход
Sound_Init(&PORTB, 2); // Инициа
лизация выдачи звука на RB2
do { // Цикл проигрывания звука:
adc_value = Adc_Read(2); // Полу
чить младший байт АЦП
Sound_Play(adc_value, 200); //
Проиграть его
} while (1);
}// end
Ф
УНКЦИИ ДЛЯ РАБОТЫ
С ОДНОПРОВОДНЫМ
ИНТЕРФЕЙСОМ
O
NE
W
IRE
Библиотека для работы с интер
фейсом One Wire (1 Wire) представ
ляет собой набор функций для свя
зи с внешним устройством по одно
71
WWW.SOEL.RUСОВРЕМЕННАЯ ЭЛЕКТРОНИКА
◆
№ 8 2010
GND
PIC18F458
+5V
+5V
10K
Reset
4MHz
MCLR/Vpp
RA0/AN0/Cwref
RA1/AN1
RA2/AN2/Vref–
RA3/AN3/Vref+
RA4/TOCKI
RA5/AN4/S9/LVDIN
RE0/AN5/RDV
RE1/AN6/WR/C1OUT
RE2/AN7/CS/C2OUT
Vdd
Vss
OSC1/CLKI
OSC2/CLKO/RA6
RCO/T1OSO/T1CKI
RC1/T1OSI
RC2/CCP1
RC3/SCK/SCL
RD0/PSP0/C1IN+
RD1/PSP1/C1IN–
RB7/PGD
RB6/PGC
RB5/PGM
RB4
RB3/CANRX
RB2/CANTX/INT2
RB1/INT1
RB0/INT0
Vdd
Vss
RD7/PSP7/P1O
RD6/PSP6/P1C
RD5/PSP5/P1B
2K2
RD4/PSP4/
ECCP1/P1A
RC7/RX/DT
RC8/TX/CK
RC5/SDO
RC4/SDI/SDA
RD3/PSP3/C2IN–
CS
MMC
SV1
Date_IN
GND
+3V3
CLK
GND
Date_OUT
RD2/PSP2/C2IN+
3K3
3K3
2K2
2K2
3K3
+5V
IN OUT
IC1
MC33269 3,3
+
100nF
+3V3
+
22uF
Рис. 27. Схема подключения карты памяти к микроконтроллеру
Реклама
© СТА-ПРЕСС