Меню сайта |
|
|
Категории раздела |
|
|
Мини-чат |
|
|
|
Пользовательский приемник GPS
Пользовательский приемник GPS Краткие характеристики модуля 46240-25. Lassen iQ модуль является полностью функциональным приемником с очень низким энергопотреблением, малыми габаритами для встраиваемых приложений. Габариты модуля 26х26х6мм, потребляемая мощность менее 89 мВт. Модуль вычисляет координаты места, скорость и точное время. Обмен с пользовательской частью может проводиться по трем протоколам - NMEA 3.0 ASCII протоколу, Trimble ASCII Interface Protocol (TAIP), и TSIP – Trimble Standart Interface Protocol. Напряжение питания модуля – 3,0-3,6 В.
Рисунок 2 – Вид модуля без металлического экрана
Модуль оснащен двумя разъемами – один для подключения линий обмена данными и напряжения питания, другой – для подключения антенны.
Рисунок 3 – Вид на разъемы модуля
Описание выводов разъема данных/питания Номер вывода Наименование Описание 1 TXD A Выход последовательного порта А, совместимый с 3,3 В ТТЛ логикой 2 GND Общий для сигналов и питания 3 RXD A Вход последовательного порта А, совместимый с 3,3 В ТТЛ логикой 4 PPS Выход секундного импульса 5 TXDB Выход последовательного порта В, совместимый с 3,3 В ТТЛ логикой 6 RXDB Вход последовательного порта В, совместимый с 3,3 В ТТЛ логикой 7 Prime Power (VCC) Питание +3,3В 8 Battery Backup Power Батарея резервного питания, +3,3В
Рисунок 4 – Вид снизу, нумерация выводов
Для корректной работы модуля, входы и выходы последовательных портов должны быть подключены к +3,3 В через подтягивающие сопротивления от 1 до 100 кОм.
Рисунок 5 – Сверх компактная встраиваемая антенна
Рисунок 6 – Компактная выносная антенна с магнитом
В данном случае была использована антенна, показанная на рис. 5.
Схема и программа были отлажены с помощью экспериментальной платы, описанной в http://elektron.ucoz.ru/publ/8-1-0-51 . К порту А платы был подключен символьный ЖКИ WC1602Аxxxx по схеме с 4 сигнальными линиями следующим образом
Рисунок 7 – Схема подключения ЖКИ к разъему платы
ЖКИ может быть любой другой, с таким же количеством символом, HD44780 совместимый.
Рисунок 8 – Схема подключения модуля к разъему платы
Использованные диоды – 1N4148 необходимы для получения напряжения питания примерно 3,3В. Подтягивающие резисторы – 100к, если нет батареи на 3,3 В, то вывод 8 можно соединить с выводом Vcc модуля. При необходимости подобрать сопротивление R5.
Заводские настройки портов А и В модуля Порт Входной протокол Настройки по умолчанию Выходной протокол Настройки по умолчанию Порт А TSIP Baud Rate: 9600 Data Bits: 8 Parity: Odd Stop Bits: 1 No Flow Control TSIP Baud Rate: 9600 Data Bits: 8 Parity: Odd Stop Bits: 1 No Flow Control Порт В RTCM Baud Rate: 4800 Data Bits: 8 Parity: None Stop Bits: 1 No Flow Control NMEA Baud Rate: 4800 Data Bits: 8 Parity: None Stop Bits: 1 No Flow Control
В нашем приложении используется только выход порта В с протоколом NMEA
Короткое описание используемых сообщений протокола NMEA 0183 (National Marine Electronics Association) Формат сообщения NMEA 0183 протокола следующий: $IDMSG,D1,D2,D3,D4,.......,Dn*CS[CR][LF] Где “$” – символ начала сообщения ID – идентификатор устройства, посылающего сообщение, в нашем случае – GP идентификатор определяет GPS устройство MSG – идентификатор сообщения “,” – кома, разделитель полей сообщения Dn – поле сообщения, поля между собой разделены комами “*” – звездочка, определяет начало посылки контрольной суммы CS – контрольная сумма [CR][LF] - carriage return [CR] и line feed [LF] – определяют конец сообщения.
По заводским настройкам, модуль посылает ежесекундно два сообщения – GGA и VTG. В данном устройстве используется только сообщение GGA. Структура сообщения GGA Сообщение GGA включает данные о времени места, координатах и некоторые данные статуса приемника.
$GPGGA,hhmmss.ss,llll.lll,a,nnnnn.nnn,b,t,uu,v.v,w.w,M,x.x,M,y.y,zzzz*hh <CR><LF>
Параметры полей GGA сообщения № поля Описание 1 Время UTC позиции (посылается, когда возможно вычислить UTC отклонение 2,3 Широта, N (Север) или S (Юг) 4,5 Долгота, E (Восток) или W (Запад) 6 Индикатор качества GPS – 0=отсутствует GPS, 1= GPS, 2=дифференциальный GPS 7 Количество используемых для вычислений сателлитов 8 Горизонтальная погрешность позиции (HDOP) 9,10 Возвышение антенны над уровнем моря, М= метры 11,12 Geoidal Separation 13 Время с последнего вычисления дифференциального GPS 14 Differential Reference Station ID (0000 to 1023) hh Контрольная сумма
Сообщение VTG несет данные о скорости движения объекта и сервисные данные
Приведенная ниже программа обрабатывает данные GGA сообщения и результаты выводит на дисплей. Так как дисплей имеет ограниченное количество знакомест, то переключение между показателями дисплея производится нажатием кнопки SW2 на плате. Программа была написана на ассемблере и отлажена в VMlab. В прилагаемом архиве полностью рабочий проект, исходники и прошивка. При запуске симуляции появляется стартовое сообщение, нужно подождать секунд 10 и нажать кнопку TX File в окне отладчика Control Panel. При этом начинается прием сообщений, сохраненных в файле gps.tx (лог ком порта). Для переключения между экранами нужно нажимать и удерживать некоторое время кнопку 0 на клавиатуре окна Control Panel. Если собрано все в железе, то для приема сигнала от спутников нужно, чтобы антенна «видела» небо напрямую (хотя бы через окно ). Далее, минут через 15-20 будут вычислены координаты. По умолчанию, на дисплее появляется сообщение с временем UTC и качеством сигнала. После нажатия на кнопку, на дисплее будет отображаться горизонтальная погрешность позиции и качество GPS. Если нажать еще раз, на дисплей будут выведены координаты местности. Экраны переключаются циклически. Если пропал сигнал, то соотв. поля заполняются звездочками
Рисунок 9 – Скриншот отладочной сессии в VMlab
Рисунок 10 – Время и качество сигнала
Рисунок 11 – Горизонтальная погрешность и количество используемых сателлитов. Чем меньше погрешность, тем точнее вычисляются координаты.
Рисунок 12 – Координаты местности. 49d – градусы, 40 – минуты, 4720 – доли минут.
Файл проекта ; ************************************************************ ; PROJECT: GPS Receiver V1.0 ; AUTHOR: VasylYE @IskraWorkGroup v.yefymchuk@gmail.com ; http://elektron.ucoz.ru/ ; ************************************************************
; Micro + software running ; ------------------------------------------------------------ .MICRO "ATmega16" .PROGRAM "gps.asm" .TARGET "gps.hex"
.TRACE ; Activate micro trace
; Following lines are optional; if not included ; exactly these values are taken by default ; ------------------------------------------------------------ .POWER VDD=5 VSS=0 ; Power nodes .CLOCK 4meg ; Micro clock .STORE 250m ; Trace (micro+signals) storage time
; Micro nodes: RESET, AREF, PA0-PA7, PB0-PB7, PC0-PC7, PD0-PD7, ACO, TIM1OVF ; Define here the hardware around the micro ; ------------------------------------------------------------
;Символьний рідкокристалічний дисплей підключений до ПОРТ А ;RS RW E D7 D6 D5 D4 D3 D2 D1 D0 X1 LCD(16 2 250k) PA0 PA1 PA2 PA7 PA6 PA5 PA4 nc3 nc2 nc1 nc0
;Кнопка переключення дисплея ПОРТ Д.2
K0 PD2 VSS
R1 PD2 VDD 6.8k
C1 PD2 VSS 0.1u
;Термінал UART 4800 bps 8 bit no parity 1 stop bit
XGPS TTY(4800 8) PD0 PD1
.plot V(PD0) v(PD1)
Текст программы:
; ************************************************************ ; PROJECT: GPS Receiver V1.0 ; AUTHOR: VasylYE @IskraWorkGroup v.yefymchuk@gmail.com ; http://elektron.ucoz.ru/ ; ************************************************************ ; .include "C:\VMLAB\include\m16def.inc"
; Визначення імен регістрів загального призначення ; Тимчасовий регістр .def temp = R16 ; Регістр індекса .def index = R18 ; Регістр флагів .def flags = R19 ; Регістр обміну даними .def Data = R20 ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; Макроси ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;Макрос запису в РК дисплей символів із памяті програм .MACRO LCD_printf ldi ZH, HIGH(2*@0) ldi ZL, LOW (2*@0) call LCD_write .ENDMACRO ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;Макрос запису в РК дисплей символів із памяті даних .MACRO LCD_prints ldi XH, HIGH(@0) ldi XL, LOW (@0) ldi index, @1 call LCD_write_s .ENDMACRO ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++
; Вектор переривань ; .ORG 0x000 reset: rjmp start
.ORG 0x02A ; Програма стартує звідси після RESET або включення живлення ; start: ; Ініціалізація вказівника стеку ldi temp, HIGH(RAMEND) out SPH, temp ldi temp, LOW(RAMEND) out SPL, temp ; Ініціалізація порта А для підключення LCD дисплея ldi temp, 0x00 out PORTA, temp ldi temp, 0xFF out DDRA, temp ; Ініціалізація порта PD2 (кнопка переключення екрану) cbi DDRD, 2 sbi PORTD, 2 ; Ініціалізація LCD дисплея call Delay call Ldelay call LCD_init ; Стартове повідомлення LCD_printf Mes1 ; Переводим курсор в другий рядок ldi Data, 0x40 call LCD_cursor LCD_printf Mes2 ; Затримка в реальнім приладі 5 сек. call ldelay ;call wdelay
; Ініціалізація сервісних повідомлень дисплея ; ldi flags, 0x00 ldi temp, '*' ldi XH, HIGH(Time) ldi XL, LOW(Time) ldi index, 0x00 fill: st X+, temp inc index cpi index, 0x28 brne fill ldi XH, HIGH(Qu_ind) ldi XL, LOW(Qu_ind) ldi temp, '0' st X, temp
; Ініціалізація UART 4800 bps no patity 1 stop bit call UART_init
; ;****************************************************** ;****************************************************** ; Головний цикл програми forever: ; Приймаєм перший символ call UART_rx ; Перевіряєм, якщо прийшов '$' - значить початок повідомлення cpi Data, '$' brne forever ;якщо не '$', то чекаєм дальше ; якщо прийшов '$' то приймаєм наступний символ ('G') call UART_rx ; 'P' call UART_rx ; 'G' or 'V' call UART_rx cpi Data, 'G' breq _Is_GGA cpi Data, 'V' breq _Is_VTG jmp forever ;Прийшло $GPGGA повідомлення _Is_GGA: call Get_GGA jmp forever ;після повідомлення GGA потрібно отримати повідомлення VTG _Is_VTG: call Get_VTG jmp Load_Disp
;Виведення інфи на дисплей + перевірка кнопки Load_Disp: ;clear disp ldi Data, 0x01 call LCD_cmd call eDelay sbic PIND, 2 jmp d00 call delay sbic PIND, 2 jmp d00 inc flags cpi flags, 0x03 brne d00 ldi flags, 0x00 d00: cpi flags, 0x00 brne d01 call Screen1 jmp forever d01: cpi flags, 0x01 brne d02 call Screen2 jmp forever
d02: cpi flags, 0x02 brne d03 call Screen3 d03: jmp forever
;++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; Бібліотека функцій ;++++++++++++++++++++++++++++++++++++++++++++++++++++++
;++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; Функції виводу даних на дисплей ;++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; Функція Screen1 виводить на дисплей час UTC ; і режим роботи GPS Screen1: LCD_printf MTime ldi Data, 0x07 call LCD_cursor LCD_prints Time, 2 ldi Data, ':' call LCD_dat LCD_prints (Time+2), 2 ldi Data, ':' call LCD_dat LCD_prints (Time+4), 2
ldi Data, 0x40 call LCD_cursor LCD_printf MQual lds temp, Qu_Ind cpi temp, '2' brne d000 LCD_printf MDGPS ret d000: cpi temp, '1' brne d001 LCD_printf MGPS ret d001: LCD_printf MNoG ret ;++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; Функція Screen2 виводить на дисплей ; і Screen2: LCD_printf MHDOP LCD_prints HDOP, 4 ldi Data, 0x40 call LCD_cursor LCD_printf MSATN LCD_prints SNum, 2 ret ;++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; Функція Screen3 виводить на дисплей ; і Screen3: ;latitude first! _is_nord: lds temp, Lat_Dir cpi temp, 'N' brne _is_south LCD_printf MNord _l: LCD_prints Lat, 2 ldi Data, 'd' call LCD_dat LCD_prints (Lat+2), 7 jmp _is_east _is_south: LCD_printf MSouth jmp _l
_is_east: ldi Data, 0x40 call LCD_cursor lds temp, Lon_Dir cpi temp, 'E' brne _is_west LCD_printf MEast _d: LCD_prints Lon, 3 ldi Data, 'd' call LCD_dat LCD_prints (Lon+3), 7 jmp scr3_end _is_west: LCD_printf MWest jmp _d scr3_end: ret ;++++++++++++++++++++++++++++++++++++++++++++++++++++++
;++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; Функції обробки протоколу NMEA ;++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; Функція Get_GGA обробляє повідомлення $GPGGA Get_GGA: call UART_rx ; 'G' call UART_rx ; 'A' call UART_rx ; ',' ;зчитування ЮТС часу позиції _Get_UTC: call UART_rx ;перевіряєм, чи не порожнє повідомлення cpi Data, ',' brne _Valid_UTC ;якщо повідомлення порожнє, заповнюєм поля зірочками '*' ldi temp, '*' ldi XH, HIGH(time) ldi XL, LOW(time) ldi index, 0x00 g00: ST X+, temp inc index cpi index, 0x0A brne g00 jmp _Get_Lat _Valid_UTC: ;повідомлення не порожнє ldi XH, HIGH(time) ldi XL, LOW(time) ;ldi index, 0x00 v00: st X+, Data ; inc index call UART_rx ;читаєм символ ; cpi index, 0x09 cpi Data, ',' brne v00 ;Зчитування широти _Get_Lat: call UART_rx ;перевіряєм, чи не порожнє повідомлення cpi Data, ',' brne _Valid_Lat ;якщо повідомлення порожнє, заповнюєм поля зірочками '*' ldi temp, '*' ldi XH, HIGH(Lat) ldi XL, LOW(Lat) ldi index, 0x00 L00: ST X+, temp inc index cpi index, 0x0A brne L00 jmp _Get_Lat_Dir _Valid_Lat: ;повідомлення не порожнє ldi XH, HIGH(Lat) ldi XL, LOW(Lat) L01: st X+, Data call UART_rx cpi Data, ',' brne L01 ;Зчитування напряму широти _Get_Lat_Dir: call UART_rx ;перевіряєм, чи не порожнє повідомлення cpi Data, ',' brne _Valid_Lat_Dir ;якщо повідомлення порожнє, заповнюєм поля зірочками '*' ldi temp, '*' ldi XH, HIGH(Lat_Dir) ldi XL, LOW(Lat_Dir) ST X, temp jmp _Get_Lon _Valid_Lat_Dir: ldi XH, HIGH(Lat_Dir) ldi XL, LOW(Lat_Dir) ST X, Data call UART_rx ;!!!!! ;Зчитування довготи _Get_Lon: call UART_rx ;перевіряєм, чи не порожнє повідомлення cpi Data, ',' brne _Valid_Lon ;якщо повідомлення порожнє, заповнюєм поля зірочками '*' ldi temp, '*' ldi XH, HIGH(Lon) ldi XL, LOW(Lon) ldi index, 0x00 L10: ST X+, temp inc index cpi index, 0x0B brne L10 jmp _Get_Lon_Dir _Valid_Lon: ldi XH, HIGH(Lon) ldi XL, Low(Lon) vl0: st X+, Data call UART_rx cpi Data, ',' brne vl0 ;Зчитування напряму довготи _Get_Lon_Dir: call UART_rx ;перевіряєм, чи не порожнє повідомлення cpi Data, ',' brne _Valid_Lon_Dir ;якщо повідомлення порожнє, заповнюєм поля зірочками '*' ldi temp, '*' ldi XH, HIGH(Lon_Dir) ldi XL, LOW(Lon_Dir) ST X, temp jmp _Get_Qual _Valid_Lon_Dir: ldi XH, HIGH(Lon_Dir) ldi XL, LOW(Lon_Dir) ST X, Data call UART_rx ;!!!!! ;Зчитування якості GPS сигналу _Get_Qual: call UART_rx ldi XH, HIGH(Qu_Ind) ldi XL, LOW(Qu_Ind) st X, Data ; cpi Data, '0' ; breq _End_GGA ;Якщо якість= 0, call UART_rx ;!!!!! ;Зчитування кількості використаних сателітів _Get_SNum: call UART_rx ldi XH, HIGH(SNum) ldi XL, LOW(SNum) st X+, Data call UART_rx st X+, Data call UART_rx ;!!!!! ;Зчитування HDOP _Get_HDOP: call UART_rx ;перевіряєм, чи не порожнє повідомлення cpi Data, ',' brne _Valid_HDOP ;якщо повідомлення порожнє, заповнюєм поля зірочками '*' ldi temp, '*' ldi XH, HIGH(HDOP) ldi XL, LOW(HDOP) ldi index, 0x00 H00: st X+, temp inc index cpi index, 0x04 brne H00 _Valid_HDOP: ldi XH, HIGH(HDOP) ldi XL, LOW(HDOP) H01: st X+, Data call UART_rx cpi Data, ',' brne H01 _End_GGA: call UART_rx cpi Data, 0x0A;0x0A! 0x0D brne _End_GGA ret ;++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; Функція Get_VTG обробляє повідомлення $GPVTG Get_VTG:
_End_VTG: ; ЗАГЛУШКА !!! call UART_rx ; ЗАГЛУШКА !!! cpi Data, 0x0A;0x0A ; ЗАГЛУШКА !!! brne _End_VTG ; ЗАГЛУШКА !!!
ret
;++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; Функції роботи з LCD дисплеєм ;++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; Функція LCD_cmd посилає команду, що знаходиться в ; регістрі Data LCD_cmd: push Data ;зберігаєм регістр даних в стек andi Data, 0xF0 ;обнуляєм молодших 4 біти sbr Data, 4 ;встановляєм OE біт рівний лог. 1 out PORTA, Data ;посилаєм перший півбайт в дисплей nop ;затримка приблизно 0,5 мкс nop ; cbi PORTA, 2 ;обнуляєм біт OE pop Data ;відновлюєм регістр даних із стека swap Data ;міняєм місцями півбайти регістру даних andi Data, 0xF0 ;обнуляєм молодших 4 біти sbr Data, 4 ; ... out PORTA, Data ; nop nop cbi PORTA, 2 ; ldi temp, 0x60 ;затримка приблизно 50 мкс необхідна для del0: dec temp ;того, щоб контролер дисплея відпрацював команду brne del0 ret ;вихід із функції ;++++++++++++++++++++++++++++++++++++++++++++++++++++++
;++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; Функція LCD_dat посилає дані, що знаходиться в ; регістрі Data LCD_dat: push Data ; ... andi Data, 0xF0 ; sbr Data, 4 ; sbr Data, 1 ;встановляєм біт признак даних рівним лог. 1 out PORTA, data ; nop ; nop ; cbi PORTA, 2 ; pop Data ; swap Data ; andi Data, 0xF0 ; sbr Data, 4 ; sbr Data, 1 ;встановляєм біт признак даних рівним лог. 1 out PORTA, data ; nop ; nop ; cbi PORTA, 2 ;
ldi temp, 0x60 ;затримка приблизно 50 мкс необхідна для del1: dec temp ;того, щоб контролер дисплея обробив дані brne del1 ret ;вихід із функції ;++++++++++++++++++++++++++++++++++++++++++++++++++++++
;++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; Функція ініціалізації дисплея LCD_init: call Delay ldi temp, 0b00100100 out PORTA, temp nop nop cbi PORTA, 2 call Delay ldi Data, 0b00101000 call LCD_cmd ldi Data, 0b00001000 call LCD_cmd ldi Data, 0b00000001 call LCD_cmd call eDelay ldi Data, 0b00000110 call LCD_cmd ldi DATA, 0b00001100 call LCD_cmd ret ;++++++++++++++++++++++++++++++++++++++++++++++++++++++
;++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; Встановлення курсора на задану позицію LCD_cursor: ori DATA, 0x80 call LCD_cmd ret ;++++++++++++++++++++++++++++++++++++++++++++++++++++++
;++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;Читання із FLASH памяті і відправка до LCD LCD_write: L2: lpm mov DATA, R0 tst DATA brne L3 jmp L4 L3: cpi DATA, 0x0D brne LC ldi DATA, 0xC0 call LCD_cmd jmp L3D LC: call LCD_dat L3D: adiw ZL, 1 jmp L2 L4: ret ;++++++++++++++++++++++++++++++++++++++++++++++++++++++
;++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;Читання із SRAM памяті і відправка до LCD ;регістр index містить к-сть байт для передачі в дисплей LCD_write_s: ldi temp, 0x00 push temp s: ld data, X+ call LCD_dat pop temp inc temp push temp cp temp, index brne s pop temp ret ;++++++++++++++++++++++++++++++++++++++++++++++++++++++
;++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; Функції задержки ;++++++++++++++++++++++++++++++++++++++++++++++++++++++ Delay: ldi temp, 0xFF D1: dec temp brne D1 ret ;++++++++++++++++++++++++++++++++++++++++++++++++++++++ Ldelay: ldi temp, 0xFF D2: push temp call Delay pop temp dec temp brne D2 ret ;++++++++++++++++++++++++++++++++++++++++++++++++++++++ eDelay: ldi temp, 0x0E D21: push temp call Delay pop temp dec temp brne D21 ret ;++++++++++++++++++++++++++++++++++++++++++++++++++++++ Wdelay: ldi temp, 0x64 D3: push temp call ldelay pop temp dec temp brne D3 ret ;++++++++++++++++++++++++++++++++++++++++++++++++++++++
;++++++++++++++++++++++++++++++++++++++++++++++++++++++
;++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; Функції роботи з UART ;++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; Функція Ініціалізації UART_init: ldi temp, 0x00 out UBRRH, temp ldi temp, 0x33 out UBRRL, temp ldi R16,(1<<RXEN)|(1<<TXEN) out UCSRB, temp ldi R16, (1<<URSEL)|(3<<UCSZ0) out UCSRC, temp ret UART_tx: sbis UCSRA, UDRE jmp UART_tx out UDR, DATA ret
UART_rx: sbis UCSRA, RXC jmp UART_rx in DATA, UDR ret ;++++++++++++++++++++++++++++++++++++++++++++++++++++++
;////////////////////////////////////////////////////// ;Системні повідомлення Mes1: .DB "GPS Receiver", 0x00 Mes2: .DB "Iskra WorkGroup", 0x00
MTime: .DB "UTC", 0x00 MGPS: .DB "GPS", 0x00 MQual: .DB "GPS_Qual ", 0x00 MDgps: .DB "DiffGPS", 0x00 MNoG: .DB "NoGPS", 0x00 MSatN: .DB "Satellite Num ", 0x00 MHDOP: .DB "HorizDOP ", 0x00 Meast: .DB "E.Lon", 0x00 Mwest: .DB "W.Lon", 0x00 Msouth: .DB "S.Lat ", 0x00 Mnord: .DB "N.Lat ", 0x00
;////////////////////////////////////////////////////// ;Системні змінні .DSEG Time: .BYTE 10 ;повідомлення часу Lat: .BYTE 10 ;повідомлення широти Lat_Dir: .BYTE 1 ;напрям широти Lon: .BYTE 11 ;повідомлення довготи Lon_Dir: .BYTE 1 ;напрям довготи Qu_Ind: .BYTE 1 ;індикатор якості сигналу SNum: .BYTE 2 ;Кількість використаних сателітів HDOP: .BYTE 4 ;HDOP .CSEG
Временные задержки определены для кварца 4,0 МГц. Для 16-й меги нужно прошить соотв. фьюзы (если она новая) Команда для AVreal (устанавливает то, что надо): avreal32 +mega16 -p1 -ab -o0 -n -w -%% -fCKSEL=F,CKOPT=0,SUT=3 >fuse.output
Все вопросы, как обычно, на форум http://elektron.ucoz.ru/forum/9
------------6JEh33A3pXAQvEf5TTonds
Content-Disposition: form-data; name="file1"; filename="ris12.gif"
Content-Type: image/gif
GIF87a� c � � � �� �� � �����������@ ` � � � � @ @ @@ `@ �@ �@ �@ �@ ` ` @` `` �` �` �` �` � � @� `� �� �� �� �� � � @� `� �� �� �� �� � � @� `� �� �� �� �� � � @� `� �� �� �� �� @ @@ @` @� @� @� @� @ @ @@ @` @� @� @� @� @ @@ @@@@@`@@�@@�@@�@@�@@ `@ `@@`@``@�`@�`@�`@�`@ �@ �@@�@`�@��@��@��@��@ �@ �@@�@`�@��@��@��@��@ �@ �@@�@`�@��@��@��@��@ �@ �@@�@`�@��@��@��@��@ � �@ �` �� �� �� �� � � �@ �` �� �� �� �� � @� @�@@�`@��@��@��@��@� `� `�@`�``��`��`��`��`� �� ��@��`�������������� �� ��@��`�����������ࠀ �� ��@��`�������������� �� ��@��`�������������� � �@ �` �� �� �� �� � � �@ �` �� �� �� �� � @� @�@@�`@��@��@��@��@� `� `�@`�``��`��`��`��`� �� ��@��`�������������� �� ��@��`�������������� �� ��@��`���������� |
Категория: МикроКонтроллеры | Добавил: ЛЕВША (24.05.2008)
| Автор: VasylYE
|
Просмотров: 6208
| Рейтинг: 0.0/0 |
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
|
|
Поиск |
|
|
Статистика |
|
|
Наш опрос |
|
|
|