Предыдущая Следующая

void main(void) {

CPUinitO; //инициализация системы

_disable_interrupt(); //запрет прерываний

INTERRUPTSinit(); //инициализация прерываний

TIMEROinitstart(); //инициализация ТО

_enable_interrupt(); //разрешение прерываний

delay(1000000); //задержка на сброс ЖКИ

lcd_init(); //инициализация ЖКИ

delay(1000000); //

lcd_clear(); //очистка экрана ЖКИ

SPIOinit(); //инициализация модуля SPI0

AD7705_CS_RES(); //Инициализация линий CS и RES AD7705

AD7705reset(); //Сброс AD7705 через SPI0

AD7705init(); //Инициализация AD7705 через SPI0

A_LED1_0FF; //Погасить светодиоды 1, 2 A_LED2_OFF;

while(1) //Начало основного цикла

{

AD7705izm_ind (); //измерение AD7705 и индикация результата в десятичном виде,

//в дискретах АЦП и вольтах delay(100000); //задержка

По существу, предлагаемый проект представляет собой цифровой вольтметр с разрешающей способностью около 0.0001В и диапазоном входного напряжения 0...2.5 В.

Фрагмент принципиальной схемы подключения AD7705 к LPC2129, который необходимо добавить к базовому макету целевой пользовательской системы (Рис. 33.3), приведен на Рис. 33.8. Соединительные разъемы на схеме условно не показаны.

Помимо «штатных» сигнальных линий интерфейса SPI (MISO, MOSI, SCLK и CS), программа использует вход сброса RESET микросхемы AD7705, при подаче на который внешнего НИЗКОГО уровня производится сброс внутренней логики, цифрового фильтра, аналогового модулятора AD7705 и запись в регистры AD7705 заданных по умолчанию значений.

Микросхеме AD7705 требуется для работы внешнее опорное напряжение, для получения которого используется микросхема источника опорного напряжения AD780 [15]. Опорное напряжение, вырабатываемое AD780, составляет 2.5 В. Соответственно, входное измеряемое напряжение AD7705 может лежать в диапазоне от 0 до +2.5 В. Тактироваться AD7705 может от встроенного генег^атора с внешним кварцевым резонатором на частоту 1 МГц, 2 МГц, 2.4576 МГц или 4.9152 МГц. Чтобы повысить эффективную разрешающую способность аналого-цифровых преобразований прициспользовании AD7705, целесообразно разде-

лить общий провод в схеме на аналоговую и цифровую «земли», как показано на Рис. 33.8, причем, соединяться между собой эти «земли» должны в одной точке (лучше всего, непосредственно на отрицательном выводе источника питания).

if (flagn_kn0==l)

//нажималась ли кнопка 0

flagn_kn0=0; A_LED1_0N; AD7705reset(); AD7705init(); A_LED1_0FF;

//да, сбросить флаг нажатия //зажечь светодиод 1 //сброс AD7705 через SPI0 //инициализация AD7705 через SPI0 //погасить светодиод 1

// //

Упрощенная внутренняя блок-схема AD7705 изображена на Рис. 33.9. Устройство имеет регистровый банк, состоящий из нескольких регистров, предназначенных для управления и конфигурирования. К каждому из них можно обращаться через SPI. Первый регистр в банке называется регистром связи. Этот 8-битный регистр управляет выбором канала АЦП, определяет является ли следующая операция SPI операцией записи или чтения, а также определяет из каких регистров последует чтение и какие регистры будут доступны для записи в ходе следующего обращения. Сеанс обмена с AD7705 через SPI, с целью произвести запись или чтение любого регистра устройства, всегда должен начинаться с записи в регистр связи. Регистр связи содержит также бит занятости устройства (бит 7) DRDY. НИЗКИЙ уровень DRDY означает, что результат последнего преобразования, находящийся в 16-битном регистре данных AD7705 после завершения преобразования или автокалибровки, доступен для чтения. Если бит DRDY установлен (в ВЫСОКИЙ уровень), то чтение результата АЦП запрещено. Состояние бита DRDY всегда совпадает с состоянием одноименного логического выхода микросхемы, таким образом опрос готовности к чтению результата АЦП ведущее устройство может производить и без участия SPI. Назначение отдельных битов регистра связи приведено в Табл. 33.1.


Предыдущая Следующая



НА ГЛАВНУЮ | ЧТО ТАКОЕ PIC ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА
Hosted by uCoz