Перейти к содержанию
    

ControllerZ

Свой
  • Постов

    200
  • Зарегистрирован

  • Посещение

Весь контент ControllerZ


  1. Как получить случайное число в пике. А то смотрел бейсик для пиков там есть функция RND хотелось бы узнать как она работает и на сколько она случайная :)
  2. Может у кого есть заголовочный файл для пикухи чтобы можно было работать с 32 разрядными данными (сложить вычесть умножить и поделить). Зарание спасибо.
  3. Быть может сеть не поддерживает GPRS но я не уверен почитаю доку напишу. :maniac:
  4. У меня диплом такой был дома полностью лежит если нужен пиши договоримся. :smile3009:
  5. Можно поподробнее узнать что за положительная обратная связь по и2ц. Меня мучат сомнительные сомнения. :twak:
  6. Огромное спасибо за помощь Major и ValeraVi. :)
  7. Все заработало огромное спасибо я все теперь сделал по умному :) Вот кто хочет глянуть как я это сделал смотрите. i2c_P.txt
  8. Спасибо все попробую сегодня вечерем перепишу прогу. :smile3009:
  9. Вот моя программа где после Стоп микруха не откликается на Старт может кто подскажет: list p=16F84 #include <p16F84.inc> SDA equ 0 SCL equ 1 Byte equ 0x0C n equ 0x0D Err equ 0x0E ReadEEPROM equ 0xAE WriteEEPROM equ 0xAF org 0x00 Start clrf PORTB bsf STATUS, RP0 clrw movwf TRISB bcf STATUS, RP0 call SetupI2C ; Установки для I2C шины SDA - RA0, SCL - RA1 call StartI2C ; Установка ЕЕПРОМ в режим Старт movlw WriteEEPROM ; Насроить ЕЕПРОМ для записи в нее данных movwf Byte call SendByte call ACKTest ; Байт принят? btfsc Err, 0 ; Если не принят то обработка ошибки call OnError clrf Byte ; Устанавливаем адрес на 0 call SendByte call ACKTest ; Байт принят? btfsc Err, 0 ; Если не принят то обработка ошибки call OnError movlw 0xAA ; Записываем b'10101010' по заданному адресу movwf Byte call SendByte call ACKTest ; Байт принят? btfsc Err, 0 ; Если не принят то обработка ошибки call OnError call StopI2C ; Установка ЕЕПРОМ в режим Стоп ;ПОСЛЕ ЭТОЙ ЛЕБУДЫ МИКРОСХЕМА НЕ ПРИНИМАЕТ START movlw 0xAA movwf PORTB goto $ SetupI2C clrf PORTA bsf STATUS, RP0 movlw b'00011100' movwf TRISA bcf STATUS, RP0 bsf PORTA, SDA bsf PORTA, SCL return StartI2C bsf PORTA, SDA bsf PORTA, SCL nop nop nop nop bcf PORTA, SDA nop nop nop nop bcf PORTA, SCL return StopI2C bcf PORTA, SCL bcf PORTA, SDA bsf PORTA, SCL nop nop nop nop bsf PORTA, SDA return SendByte movlw 8 movwf n SBL btfsc Byte, 7 bsf PORTA, SDA btfss Byte, 7 bcf PORTA, SDA bsf PORTA, SCL nop nop nop nop bcf PORTA, SCL rlf Byte, f decfsz n, f goto SBL bcf PORTA, SDA return ACKTest clrf Err clrf PORTA bsf STATUS, RP0 movlw b'00011101' movwf TRISA bcf STATUS, RP0 bsf PORTA, SCL nop nop nop nop btfsc PORTA, SDA bsf Err, 0 bcf PORTA, SCL clrf PORTA bsf STATUS, RP0 movlw b'00011100' movwf TRISA bcf STATUS, RP0 return OnError movlw 0xFF movwf PORTB goto $ return end
  10. Есть поговорка против лома нет приема и в любом случае можно будеть залить патч через Test Point через него можно будит и залить патч против защиты :excl:
  11. У меня в программе алгоритм такой же как в датащите для того чтобы дождаться acknowledge: .... call STOP acknowledge_White call START btfsc ERROR goto acknowledge_White ...... ; далее код программы. Но на acknowledge_White он зацикливается т.к. акноун атвета в старте нет хотя перед формированием стоп ответ на старт был. (может проблема в 24С08 хотя я очень в этом сомневаюсь). :twak:
  12. Конешно 51 это самое лучшее, но для обучения я иверен что лучше PIC16F84. :maniac:
  13. Формирую Stop это переход SDA из 0 в 1 при SCl=1. После чего микросхема не риагирует на START это SDA из 1 в ноль при SCL=1. Попозже могу дать код своей программы для PIC16F84 но код я написал правельно по дата щиту 24C08. (на всякий случай обьясню что я имею опыт в программирования для контроллеров просто интересно почему микросхема на реагирует на START после STOP) :smile3009:
  14. Вродебы должно быть все нормально а если попробавать так: movlw b'00010010' movwf PORTA. ??????????
  15. имею опыт в написании патчей для c166 (siemens x55, x60) уверен что и с ARM7 разберусь почитал Дата Щит и без проблем разобрался с архетиктурой и ассемблером!!!!
  16. Есть такая проблема с микросхемой 24C08 После Start на микросхему могу записывать данные считывать все нормально но как только отправляю на нее Stop все микруха молчит и больше не реагирует на Start в чем проблема? :smile3046:
  17. А какой длинной у тебя провода? Если болле 2 метров придется собирать схему на MAX232.
  18. Также не маловажно знать и уметь пользоваться архитектурой процессора, это очень важная деталь в программировании.
  19. Я не хилую мигалку на PIC16F84 зделал вот программа: list p=16F84 #include <p16F84.inc> RegEf1 equ 0x0C RegEf2 equ 0x0D RegEf3 equ 0x0E RegEf4 equ 0x0F RegEf5 equ 0x10 RegEf6 equ 0x11 RegEf7 equ 0x12 RegEf8 equ 0x13 RegTim1 equ 0x14 RegTim2 equ 0x15 RegSetup equ 0x16 org 0x000 Start clrf PORTA clrf PORTB bsf STATUS, RP0 movlw b'00010100' movwf TRISA movlw 0x00 movwf TRISB bcf OPTION_REG, 7 bcf STATUS, RP0 movlw b'00000001' movwf RegEf1 movlw b'00000010' movwf RegEf2 movlw b'00000100' movwf RegEf3 movlw b'00001000' movwf RegEf4 movlw b'00010000' movwf RegEf5 movlw b'00100000' movwf RegEf6 movlw b'01000000' movwf RegEf7 movlw b'10000000' movwf RegEf8 movlw 0x00 movwf RegSetup Effect call Ef1 call Time call Ef2 call Time call Ef3 call Time call Ef4 call Time call Ef5 call Time call Ef6 call Time call Ef7 call Time call Ef8 call Time goto Effect Setup1 movlw 0x00 xorwf RegSetup, w btfsc STATUS, Z return decf RegSetup, f call GetEf1 movwf RegEf1 call GetEf2 movwf RegEf2 call GetEf3 movwf RegEf3 call GetEf4 movwf RegEf4 call GetEf5 movwf RegEf5 call GetEf6 movwf RegEf6 call GetEf7 movwf RegEf7 call GetEf8 movwf RegEf8 return Setup2 movlw 0x07 xorwf RegSetup, w btfsc STATUS, Z return incf RegSetup, f call GetEf1 movwf RegEf1 call GetEf2 movwf RegEf2 call GetEf3 movwf RegEf3 call GetEf4 movwf RegEf4 call GetEf5 movwf RegEf5 call GetEf6 movwf RegEf6 call GetEf7 movwf RegEf7 call GetEf8 movwf RegEf8 return GetEf1 movf RegSetup, w addwf PCL retlw b'00000001' retlw b'10000000' retlw b'10000001' retlw b'10000001' retlw b'10000000' retlw b'10101010' retlw b'11110000' retlw b'11111111' GetEf2 movf RegSetup, w addwf PCL retlw b'00000010' retlw b'00000001' retlw b'01000010' retlw b'11000011' retlw b'11000000' retlw b'01010101' retlw b'00001111' retlw b'00000000' GetEf3 movf RegSetup, w addwf PCL retlw b'00000100' retlw b'01000000' retlw b'00100100' retlw b'11100111' retlw b'11100000' retlw b'10101010' retlw b'11110000' retlw b'11111111' GetEf4 movf RegSetup, w addwf PCL retlw b'00001000' retlw b'00000010' retlw b'00011000' retlw b'11111111' retlw b'11110000' retlw b'01010101' retlw b'00001111' retlw b'00000000' GetEf5 movf RegSetup, w addwf PCL retlw b'00010000' retlw b'00100000' retlw b'00100100' retlw b'11100111' retlw b'11111000' retlw b'10101010' retlw b'11110000' retlw b'11111111' GetEf6 movf RegSetup, w addwf PCL retlw b'00100000' retlw b'00000100' retlw b'01000010' retlw b'11000011' retlw b'11111100' retlw b'01010101' retlw b'00001111' retlw b'00000000' GetEf7 movf RegSetup, w addwf PCL retlw b'01000000' retlw b'00010000' retlw b'10000001' retlw b'10000001' retlw b'11111110' retlw b'10101010' retlw b'11110000' retlw b'11111111' GetEf8 movf RegSetup, w addwf PCL retlw b'10000000' retlw b'00001000' retlw b'00000000' retlw b'00000000' retlw b'11111111' retlw b'01010101' retlw b'00001111' retlw b'00000000' Ef1 movf RegEf1, w movwf PORTB return Ef2 movf RegEf2, w movwf PORTB return Ef3 movf RegEf3, w movwf PORTB return Ef4 movf RegEf4, w movwf PORTB return Ef5 movf RegEf5, w movwf PORTB return Ef6 movf RegEf6, w movwf PORTB return Ef7 movf RegEf7, w movwf PORTB return Ef8 movf RegEf8, w movwf PORTB return Time btfss PORTA, 2 call Setup1 btfss PORTA, 4 call Setup2 movlw 0xFF movwf RegTim1 T1 movlw 0xFF movwf RegTim2 T2 decfsz RegTim2 goto T2 decfsz RegTim1 goto T1 return end
  20. Компиляторы для ARM7

    Пожалуйста посоветуете какими компиляторами пользоваться для написания патчей для мобильных телефонов на ARM7.
×
×
  • Создать...