Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 14
1

Как разобраться в передаче 1 и 0 в rfPIC12F675?

21.05.2012, 17:03. Показов 1688. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
XMIT
 
        bsf     RFENA           ; Enable Transmitter
 
        movlw   0x73            ; send Serial number  
        movwf   CSR0
 
        movfw   FuncBits        ; send Function Bits
        movwf   CSR1
 
                                ; send 16-bit Counter
                                ;
                                ; send analog value (this is modified from the fixed 
                                ;   KeeLoq(r) protocol; these two fields are normally 
                                ;   used for 16-bit counter value)
 
        bsf     STATUS, RP0     ; ----- Select Bank 1 -----
        movfw   ADRESL          ; ADRESL Result
        bcf     STATUS, RP0     ; ----- Select Bank 0 -----
        movwf   CSR2
 
        movfw   ADRESH          ; ADRESH Result
        movwf   CSR3
 
        movlw   0x56            ; send 32-bit serial number 1 (ignored by receiver)
        movwf   CSR4
 
        movlw   0x34
        movwf   CSR5
 
        movlw   0x12
        movwf   CSR6
 
        movlw   0x20
        movwf   CSR7
 
        movlw   0x55            ; send Flags
        movwf   CSR8
 
 
;----------------------------------
; Transmission Loop
;----------------------------------
 
TXLoop
 
        ; send preamble (50% duty cycle)
 
Preamble
        movlw   PREAMB
        movwf   BitCount        ; init number of preamble bits
 
PreL
        bsf     TXD             ; ON
        movlw   1
        call    WaitxTE         ; delay
        bcf     TXD             ; OFF
        movlw   1
        call    WaitxTE         ; delay
 
        decfsz  BitCount,F      ; loop
        goto    PreL
            
; sync pause
 
TXloop      
        movlw   D'10'           ; Theader = 10 x Te
        call    WaitxTE
            
; send 72 bit pattern
 
        movlw   CSR0            ; lsb first 
        movwf   FSR
            
TXNextByte
        movlw   D'8'
        movwf   BitCount
 
TXNextBit
        rrf     INDF,W           ; 8 bit rotate
        rrf     INDF,F           ; Carry contain lsb
        BC      ONE
ZERO            
        movlw   2               ; 
        movwf   TimeHi          ;   +---+---+   +--
        movlw   1               ;   |       |   |
        movwf   TimeLo          ;---+       +---+
        goto    Trasm_BIT       ;   |  2Te   Te |
 
ONE
        movlw   1               ;              
        movwf   TimeHi          ;   +---+       +--
        movlw   2               ;   |   |       |
        movwf   TimeLo          ;---+   +---+---+
                                ;   | Te   2Te  |
Trasm_BIT
        bsf     TXD             ; ON
        movf    TimeHi,W          
        call    WaitxTE
 
        bcf     TXD             ; OFF
        movf    TimeLo,W          
        call    WaitxTE
 
        decfsz  BitCount,F
        goto    TXNextBit       ; loop on bits
 
        incf    FSR,F
        movlw   CSR8+1          ; check if finished
        xorwf   FSR,W
        andlw   0x1F
        BNZ     TXNextByte
 
; guard time
        movlw   TGUARD
        call    WaitxTE
 
        goto    SCANPB          ; go back and scan for push button presses
 
 
;----------------------------------------------------------------------
; Data EEPROM Memory (Section 8.0)
;
; PIC12F629/675 devices have 128 bytes of data EEPROM with address
; range 0x00 to 0x7F.
 
        ; Initialize Data EEPROM Memory locations
 
;        ORG 0x2100
;        DE  0x00, 0x01, 0x02, 0x03
 
 
;----------------------------------------------------------------------
; Calibrating the Internal Oscillator (Section 9.2.5.1)
; Oscillator Calibration Register (OSCCAL) (Section 2.2.2.7)
;
; The below statements are placed here so that the program can be
; simulated with MPLAB SIM.  The programmer (PICkit or PROMATE II)
; will save the actual OSCCAL value in the device and restore it.
; The value below WILL NOT be programmed into the device.
 
        org     0x3ff
        retlw    0x80
 
;----------------------------------------------------------------------
        end                         ; end of program directive
;----------------------------------------------------------------------
вот часть программы поясняющая передачу 1 и 0 по радиоканалу, не понятно что за BC ONE. и не понятно как передается "1"
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2012, 17:03
Ответы с готовыми решениями:

Не могу разобраться с указателями в массивах и векторах при передаче по ссылки в функцию
void bubble_sort(vector<int> *array) { ull size = array->size(); for(ull i = 0; i <...

Не могу разобраться в передаче значений массива с одной функции в другую используя делегаты
В общем не могу разобрать один момент с делегатами. Переменные научился перекидывать с одной...

Как шифровать файлы при передаче на сервер и дешефровать при передаче с сервера на клиент
Есть программа клиент/сервер, файлы со стороны клиента передаются на сервер, если были внесены...

Одинаково ли быстродействие: 1. при передаче параметров в функцию или 2. создание кортежа и передаче его в функцию?
Одинаково ли быстродействие: 1. при передаче параметров в функцию или 2. создание кортежа и...

5
1176 / 653 / 111
Регистрация: 15.05.2012
Сообщений: 4,015
21.05.2012, 17:20 2
movlw D'8'
А это понятно?
Похоже, что ВС - макрос. Во всяком случае на месте его должен быть переход по какому-то условию, скорее всего связанного с флагом переноса.
А передача 0 и 1 очень красиво разрисована на ASCII-графиках.
0
10231 / 6609 / 498
Регистрация: 28.12.2010
Сообщений: 21,156
Записей в блоге: 1
21.05.2012, 20:47 3
как разобраться в ... rfPIC12F675
открыть даташит на rfPIC12F675.
0
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 14
22.05.2012, 09:08  [ТС] 4
я пишу точно такую же прогу, то есть прямо эти куски программы закидываю, получается сформировать 0 а вот 1 не хочет, получается такая картина что все время передается 0
0
1176 / 653 / 111
Регистрация: 15.05.2012
Сообщений: 4,015
22.05.2012, 09:52 5
Естественно. Тебе надо раскрыть суть
Assembler
1
2
3
4
TXNextBit
        rrf     INDF,W           ; 8 bit rotate
        rrf     INDF,F           ; Carry contain lsb
        BC      ONE
этого ВС.
Попробуй

Assembler
1
2
btfsc STATUS, C
goto ONE
1
317 / 268 / 61
Регистрация: 12.10.2011
Сообщений: 434
22.05.2012, 10:23 6
http://www.microchip.ru/?mid=3&cid=138
1
22.05.2012, 10:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2012, 10:23
Помогаю со студенческими работами здесь

Как подписать комментарии и разобраться с работой кода? Дали задание разобраться и объяснить, а я совсем новичок
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data;...

Не могу разобраться с загрузкой данных из файлов,и чтоб в дальнейшем с ними мжно было работать как с массивом,не могу разобраться(
void __fastcall TPoisk::Button3Click(TObject *Sender) { Memo2->Lines->Clear();...

Задали работу, не могу разобраться. Используется делфи 10, не могу разобраться, как это сделать
В одномерном массиве, состоящем из n вещественных элементов, вычислить: минимальный элемент массива...

Как бороться с наводками при передаче видеосигнала?
Вообщем проблема такая: Есть аналоговая видеокамера от которой идет провод КММ(0.35) на...

Как изменить нагрузку пакета при передаче?
Пытаюсь реализовать метод сетевой стеганографии RSTEG используя scapy. То есть, отправляя пакет,...

Как изменяются переменные при передаче в метод
Дана функция public void myMethod(int a, int b, int c) { c = b; b = a; a = c; } ...

Как шифровать данные при передаче на сервер?
Немного запутался в шифровании,подскажите как будет правильнее шифровать 1)Есть клиент на андроиде...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru