adc0804 s p16f627 sučelje

M

mvdmescht

Guest
moj projekt mora pročitati ADC izlaz i prikaz 0-5V na 7seg, ja uspio doći 0-3V za prikaz krug, ali čini se da na smrzavanje 3v.what se to može?

 
mvdmescht wrote:

moj projekt mora pročitati ADC izlaz i prikaz 0-5V na 7seg, ja uspio doći 0-3V za prikaz krug, ali čini se da na smrzavanje 3v.what se to može?
 
broj za adc0804 da p16f627 mjerenje 5v, moram isto tako pošta circiut dijagram za ovaj projekt?

;------------------------------------------------- -------------------------------------------
; initialise
;------------------------------------------------- -------------------------------------------
intialise: BSF 3,5; izabire bank1
movlw 0xff; postavlja porta kao ulazni priključak
movwf 5; sprema postavke porta
movlw 0x21; setovi rb0 i RB5 kao inpiuts na portb (0010 0001)
movwf 6; sprema postavke portb
Bcf 3,5; izabire bank0
movlw d'07 '; poteze 111 do radni registar
movwf 1fh; onemogućiti komparatori

# define int 6,0; definirati rb0 kao intterrupt pin za ADC
# define WR 6,1; definirati kao rb1 napisati pin za ADC #
# define rd 6,2; rb2 definirati kao pročitane pin za ADC
# define sr_clk 6,3; rb3 definirati kao sat za pomak reg..
# define sr_data 6,4; rb4 definirati kao serijski podatci u smjeni za reg..
# define switch 6,5; RB5 definirati kao prekidač za kontrolu pic
# define led_2V 6,6; definirati kao rb6 vodio za 2 volta
# define led_3V 6,7; definirati kao rb7 vodio za 3 Volti

count equ 20h; digitalni izlaz odredište
file1 equ 21h; rotirati šalter broj puta
;------------------------------------------------- --------------------------------------------
; početak ni pod kojim uvjetima
;------------------------------------------------- --------------------------------------------

BSF WR, WR set igla na ADC onemogućiti
NOP; ne opperation
NOP; ne opperation
Bcf WR; jasno WR igla na ADC omogućiti
NOP; ne opperation
NOP; ne opperation
BSF WR; onemogućiti pisati igla na ADC
BSF rd; onemogućiti čitanje igla na ADC
;------------------------------------------------- --------------------------------------------
; glavni program
;------------------------------------------------- --------------------------------------------

Glavni: clrf count; briše digitalni izlaz odredišne datoteke

; poziv test_s1, pod isprobati ako prebacite se aktivno
poziv rd_adc; pod za čitanje podataka iz ADC do pic
poziv stol; pod pretvoriti izlaz
poziv test1, pod na test za 2
test2 poziv, pod na test za 3
poziv shift_data; pod za pomak na DISP
poziv delay; pod da DISP podataka za 1sec

;------------------------------------------------- ---------------------------------------------
; test prekidač za
;------------------------------------------------- ---------------------------------------------

test_s1: btfss switch; test prekidač pin za jednu
goto test_s1, ako ne držati na testiranju
NOP; ne opperation
NOP; ne opperation
NOP; ne opperation
btfss switch; test prekidač pin za jednu
goto test_s1, a ako ne početak test opet
povratak, povratak u glavni program
;------------------------------------------------- ----------------------------------------------
; pročitajte na ADC pic
;------------------------------------------------- ----------------------------------------------

rd_adc: poziv kašnjenje
poziv kašnjenje
poziv kašnjenje
BSF WR; onemogućiti pisati igla na ADC
Bcf WR; postavlja napišite pin na ADC
poziv kašnjenje
poziv kašnjenje
poziv kašnjenje
BSF WR; onemogućiti pisati igla na ADC

čekati: btfsc int; ako je jasno pin aktivan i coversion završila
goto čekati, ako je postavljen PIN je neaktivna i konverzija nije dovršen
Bcf rd; postavlja pročitati igla na ADC dobiti digitalni izlaz kod
poziv kašnjenje
poziv kašnjenje
poziv kašnjenje
movf 5,0; potez digitalnih ulaza do radnog reg..
movwf count; spremanje digitalnih izlaza na 20h
BSF rd; onemogućiti čitanje na ADC
povratak, povratak u glavni program
;------------------------------------------------- ----------------------------------------------
; test za 2 volta
;------------------------------------------------- ----------------------------------------------

test1: btfss računati, 1; test counter bit1 za skup
goto next; ako nije postavljen goto sljedeći korak
btfsc računati, 0; test counter bit0 za vedro
goto next; ako nije jasno goto sljedeći korak
BSF led_2V; skup vodio 2 volta, ako je ispunjen uvjeti
Bcf led_3V; jasno je vodio 3 volta ako doveo je na 2 volta
sljedeći: NOP; ne opperation
povratak, povratak u glavni program
;------------------------------------------------- ----------------------------------------------
; test za 3 Volti
;------------------------------------------------- ----------------------------------------------

test2: btfss računati, 1; test counter pin1 za skup
goto next2, ako ne postavite goto next2 korak
btfss računati, 0; test counter pin0 za skup
goto next2, ako ne postavite goto next2 korak
BSF led_3V; skup vodio 3 Volt, ako je ispunjen uvjeti
Bcf led_2V; jasno je vodio 2 volta ako doveo je na 3 volta
next2: NOP; ne opperation
povratak, povratak u glavni program
;------------------------------------------------- ----------------------------------------------
; pomak serijski podatci za prevodjenje reg..
;------------------------------------------------- ----------------------------------------------

shift_data: movlw 0x08; seli broj radnih
movwf file1; sprema broj na counter rotirati

opet: btfss računati, 0; test bit0 o datoteci
Bcf sr_data; daje nulu izlaz na pomak
btfsc računati, 0; test bit0 o datoteci
BSF sr_data; daje jedan izlaz u smjeni

sat: Bcf sr_clk; daje 0 na smjene reg..sat pin
BSF sr_clk; daje reg. 1 na smjene.sat pin
NOP; ne opperation
NOP; ne opperation
Bcf sr_clk; daje 0 na smjene reg..sat pin

rotirati: RRF računati, 1; rotirati sliku jednu do prava i spremanje datoteka
decfsz file1, 1; okretati se mora ponoviti 8 puta
goto opet; goto opet ako ne ponavljaju 8 puta
povratak, povratak u glavni program
;------------------------------------------------- ----------------------------------------------
; pregledna tablica
;------------------------------------------------- ----------------------------------------------

stol: movf računati, 0; potezi u suprotnosti s rada
poziv op_table; poziv subrotine
movwf count; poteze radi reg..kako bi se suprotstavilo datoteku
povratak, povratak u glavni program

op_table: addwf 2,1; sprema radi na programu counter datoteke kako bi skočiti
retlw 0x00; 0000 0000-0 - vraća broj radnih
retlw 0x00; 0000 0001-1
retlw 0x00; 0000 0010-2
retlw 0x00; 0000 0011-3
retlw 0x00; 0000 0100-4
retlw 0x00; 0000 0101-5
retlw 0x00; 0000 0110-6
retlw 0x00; 0000 0111-7
retlw 0x00; 0000 1000-8
retlw 0x00; 0000 1001-9
retlw 0x00; 0000 1010-10
retlw 0x00; 0000 1011-11
retlw 0x00; 0000 1100-12
retlw 0x00; 0000 1101-13
retlw 0x00; 0000 1110-14
retlw 0x00; 0000 1111-15
retlw 0x00; 0001 0000-16
retlw 0x00; 0001 0001-17
retlw 0x00; 0001 0010-18
retlw 0x00; 0001 0011-19
retlw 0x00; 0001 0100-20
retlw 0x00; 0001 0101-21
retlw 0x00; 0001 0110-22
retlw 0x00; 0001 0111-23
retlw 0x00; 0001 1000-24
retlw 0x00; 0001 1001-25
retlw 0x00; 0001 1010-26
retlw 0x00; 0001 1011-27
retlw 0x00; 0001 1100-28
retlw 0x00; 0001 1101-29
retlw 0x00; 0001 1110-30
retlw 0x00; 0001 1111-31
retlw 0x00; 0010 0000-32
retlw 0x00; 0010 0001-33
retlw 0x00; 0010 0010-34
retlw 0x00; 0010 0011-35
retlw 0x00; 0010 0100-36
retlw 0x00; 0010 0101-37
retlw 0x00; 0010 0110-38
retlw 0x00; 0010 0111-39
retlw 0x00; 0010 1000-40
retlw 0x00; 0010 1001-41
retlw 0x00; 0010 1010-42
retlw 0x00; 0010 1011-43
retlw 0x01; 0010 1100-44
retlw 0x01; 0010 1101-45
retlw 0x01; 0010 1110-46
retlw 0x01; 0010 1111-47
retlw 0x01; 0011 0000-48
retlw 0x01; 0011 0001-49
retlw 0x01; 0011 0010-50
retlw 0x01; 0011 0011-51
retlw 0x01; 0011 0100-52
retlw 0x01; 0011 0101-53
retlw 0x01; 0011 0110-54
retlw 0x01; 0011 0111-55
retlw 0x01; 0011 1000-56
retlw 0x01; 0011 1001-57
retlw 0x01; 0011 1010-58
retlw 0x01; 0011 1011-59
retlw 0x01; 0011 1100-60
retlw 0x01; 0011 1101-61
retlw 0x01; 0011 1110-62
retlw 0x01; 0011 1111-63
retlw 0x01; 0100 0000-64
retlw 0x01; 0100 0001-65
retlw 0x01; 0100 0010-66
retlw 0x01; 0100 0011-67
retlw 0x01; 0100 0100-68
retlw 0x01; 0100 0101-69
retlw 0x01; 0100 0110-70
retlw 0x01; 0100 0111-71
retlw 0x01; 0100 1000-72
retlw 0x01; 0100 1001-73
retlw 0x01; 0100 1010-74
retlw 0x01; 0100 1011-75
retlw 0x01; 0100 1100-76
retlw 0x01; 0100 1101-77
retlw 0x01; 0100 1110-78
retlw 0x01; 0100 1111-79
retlw 0x01; 0101 0000-80
retlw 0x01; 0101 0001-81
retlw 0x01; 0101 0010-82
retlw 0x01; 0101 0011-83
retlw 0x01; 0101 0100-84
retlw 0x01; 0101 0101-85
retlw 0x01; 0101 0110-86
retlw 0x02; 0101 0111-87
retlw 0x02; 0101 1000-88
retlw 0x02; 0101 1001-89
retlw 0x02; 0101 1010-90
retlw 0x02; 0101 1011-91
retlw 0x02; 0101 1100-92
retlw 0x02; 0101 1101-93
retlw 0x02; 0101 1110-94
retlw 0x02; 0101 1111-95
retlw 0x02; 0110 0000-96
retlw 0x02; 0110 0001-97
retlw 0x02; 0110 0010-98
retlw 0x02; 0110 0011-99
retlw 0x02; 0110 0100-100
retlw 0x02; 0110 0101-101
retlw 0x02; 0110 0110-102
retlw 0x02; 0110 0111-103
retlw 0x02; 0110 1000-104
retlw 0x02; 0110 1001-105
retlw 0x02; 0110 1010-106
retlw 0x02; 0110 1011-107
retlw 0x02; 0110 1100-108
retlw 0x02; 0110 1101-109
retlw 0x02; 0110 1110-110
retlw 0x02; 0110 1111-111
retlw 0x02; 0111 0000-112
retlw 0x02; 0111 0001-113
retlw 0x02; 0111 0010-114
retlw 0x02; 0111 0011-115
retlw 0x02; 0111 0100-116
retlw 0x02; 0111 0101-117
retlw 0x02; 0111 0110-118
retlw 0x02; 0111 0111-119
retlw 0x02; 0111 1000-120
retlw 0x02; 0111 1001-121
retlw 0x02; 0111 1010-122
retlw 0x02; 0111 1011-123
retlw 0x02; 0111 1100-124
retlw 0x02; 0111 1101-125
retlw 0x02; 0111 1110-126
retlw 0x02; 0111 1111-127
retlw 0x02; 1000 0000-128
retlw 0x02; 1000 0001-129
retlw 0x03; 1000 0010-130
retlw 0x03; 1000 0011-131
retlw 0x03; 1000 0100-132
retlw 0x03; 1000 0101-133
retlw 0x03; 1000 0110-134
retlw 0x03; 1000 0111-135
retlw 0x03; 1000 1000-136
retlw 0x03; 1000 1001-137
retlw 0x03; 1000 1010-138
retlw 0x03; 1000 1011-139
retlw 0x03; 1000 1100-140
retlw 0x03; 1000 1101-141
retlw 0x03; 1000 1110-142
retlw 0x03; 1000 1111-143
retlw 0x03; 1001 0000-144
retlw 0x03; 1001 0001-145
retlw 0x03; 1001 0010-146
retlw 0x03; 1001 0011-147
retlw 0x03; 1001 0100-148
retlw 0x03; 1001 0101-149
retlw 0x03; 1001 0110-150
retlw 0x03; 1001 0111-151
retlw 0x03; 1001 1000-152
retlw 0x03; 1001 1001-153
retlw 0x03; 1001 1010-154
retlw 0x03; 1001 1011-155
retlw 0x03; 1001 1100-156
retlw 0x03; 1001 1101-157
retlw 0x03; 1001 1110-158
retlw 0x03; 1001 1111-159
retlw 0x03; 1010 0000-160
retlw 0x03; 1010 0001-161
retlw 0x03; 1010 0010-162
retlw 0x03; 1010 0011-163
retlw 0x03; 1010 0100-164
retlw 0x03; 1010 0101-165
retlw 0x03; 1010 0110-166
retlw 0x03; 1010 0111-167
retlw 0x03; 1010 1000-168
retlw 0x03; 1010 1001-169
retlw 0x03; 1010 1010-170
retlw 0x03; 1010 1011-171
retlw 0x03; 1010 1100-172
retlw 0x04; 1010 1101-173
retlw 0x04; 1010 1110-174
retlw 0x04; 1010 1111-175
retlw 0x04; 1011 0000-176
retlw 0x04; 1011 0001-177
retlw 0x04; 1011 0010-178
retlw 0x04; 1011 0011-179
retlw 0x04; 1011 0100-180
retlw 0x04; 1011 0101-181
retlw 0x04; 1011 0110-182
retlw 0x04; 1011 0111-183
retlw 0x04; 1011 1000-184
retlw 0x04; 1011 1001-185
retlw 0x04; 1011 1010-186
retlw 0x04; 1011 1011-187
retlw 0x04; 1011 1100-188
retlw 0x04; 1011 1101-189
retlw 0x04; 1011 1110-190
retlw 0x04; 1011 1111-191
retlw 0x04; 1100 0000-192
retlw 0x04; 1100 0001-193
retlw 0x04; 1100 0010-194
retlw 0x04; 1100 0011-195
retlw 0x04; 1100 0100-196
retlw 0x04; 1100 0101-197
retlw 0x04; 1100 0110-198
retlw 0x04; 1100 0111-199
retlw 0x04; 1100 1000-200
retlw 0x04; 1100 1001-201
retlw 0x04; 1100 1010-202
retlw 0x04; 1100 1011-203
retlw 0x04; 1100 1100-204
retlw 0x04; 1100 1101-205
retlw 0x04; 1100 1110-206
retlw 0x04; 1100 1111-207
retlw 0x04; 1101 0000-208
retlw 0x04; 1101 0001-209
retlw 0x04; 1101 0010-210
retlw 0x04; 1101 0011-211
retlw 0x04; 1101 0100-212
retlw 0x04; 1101 0101-213
retlw 0x04; 1101 0110-214
retlw 0x04; 1101 0111-215
retlw 0x05; 1101 1000-216
retlw 0x05; 1101 1001-217
retlw 0x05; 1101 1010-218
retlw 0x05; 1101 1011-219
retlw 0x05; 1101 1100-220
retlw 0x05; 1101 1101-221
retlw 0x05; 1101 1110-222
retlw 0x05; 1101 1111-223
retlw 0x05; 1110 0000-224
retlw 0x05; 1110 0001-225
retlw 0x05; 1110 0010-226
retlw 0x05; 1110 0011-227
retlw 0x05; 1110 0100-228
retlw 0x05; 1110 0101-229
retlw 0x05; 1110 0110-230
retlw 0x05; 1110 0111-231
retlw 0x05; 1110 1000-232
retlw 0x05; 1110 1001-233
retlw 0x05; 1110 1010-234
retlw 0x05; 1110 1011-235
retlw 0x05; 1110 1100-236
retlw 0x05; 1110 1101-237
retlw 0x05; 1110 1110-238
retlw 0x05; 1110 1111-239
retlw 0x05; 1111 0000-240
retlw 0x05; 1111 0001-241
retlw 0x05; 1111 0010-242
retlw 0x05; 1111 0011-243
retlw 0x05; 1111 0100-244
retlw 0x05; 1111 0101-245
retlw 0x05; 1111 0110-246
retlw 0x05; 1111 0111-247
retlw 0x05; 1111 1000-248
retlw 0x05; 1111 1001-249
retlw 0x05; 1111 1010-250
retlw 0x05; 1111 1011-251
retlw 0x05; 1111 1100-252
retlw 0x05; 1111 1101-253
retlw 0x05; 1111 1110-254
retlw 0x05; 1111 1111-255
;------------------------------------------------- ----------------------------------------------
; kašnjenje
;------------------------------------------------- ----------------------------------------------

kašnjenje: movlw 0xff; opterećenja 255 za radni
movwf 40h; broj sprema u datoteku
loop2: movlw 0xff; opterećenja 255 za radni
movwf 41H; broj sprema u datoteku
loop1: decfsz 41H, 1; smanjenje datoteke sve dok nula sprema rezultat u datoteku
goto loop1, ako ne nula držati decrementing
decfsz 40h, 1; smanjenje datoteke sve dok nula sprema rezultat u datoteku
goto loop2, ako ne nula držati decrementing
povratak, povratak u glavni program
;------------------------------------------------- -----------------------------------------------
kraj

 

Welcome to EDABoard.com

Sponsor

Back
Top