CODE
;------user-varieble-----------------------------------------
a_L EQU 0X20
a_H EQU 0X21
a_3 EQU 0X22
reg1 EQU 0X28
a_0 EQU 0X29
reg EQU 0X2A
var_1 EQU 0X30
var_2 EQU 0X31
var_3 EQU 0X32
var_4 EQU 0X33
var_5 EQU 0X34
var_6 EQU 0X35
var_7 EQU 0X36
var_8 EQU 0X37
var_9 EQU 0X38
var_0 EQU 0X39
var_sb EQU 0X3A
parol_0 EQU 0X3B
parol_1 EQU 0X3C
parol_2 EQU 0X3D
parol_3 EQU 0X3E
xs EQU 0X3F
var_kod EQU 0X2D
b_1 EQU 0X40
b_2 EQU 0X41
b_3 EQU 0X42
b_4 EQU 0X43
b_5 EQU 0X44
b_6 EQU 0X45
b_7 EQU 0X46
b_8 EQU 0X47
b_9 EQU 0X48
b_0 EQU 0X49
x_0 EQU 0X23
x_1 EQU 0X24
x_2 EQU 0X25
x_3 EQU 0X26
lc2 EQU 0X27
lc1 EQU 0X2B
a_x EQU 0X2C
reg3 EQU 0X50
reg4 EQU 0X51
;-----define labels of the text---------------------
#DEFINE z STATUS,2
#DEFINE c STATUS,0
;-------user-program---------------------------------
ORG 0X000;define start adres sfter restart
;
goto begin;start program
;
ORG 0X004
;
goto begin
;---------------initialization----------------
begin
bcf STATUS, RP1;Ystanovka v 0
bsf STATUS, RP0; Bank_1
movlw b'00000000'
movwf TRISD
movlw b'00000000'
movwf TRISB
movlw b'00000001'
movwf TRISC
movlw b'00000010'
movwf TRISE
movlw b'00011111'
movwf PR2
bcf STATUS, RP0;Bank_0
movlw b'00011111'
movwf CCPR2L
movlw b'00000100'
movwf T2CON
movlw b'00111100'
movwf CCP2CON
bcf PIR1,0
clrf var_5
clrf PORTE
clrf PORTD
clrf PORTB
clrf PORTC
clrf TMR0
clrf TMR1H
clrf TMR1L
movlw b'11111111'
movwf PORTC
bsf STATUS, RP0; Bank_1
movlw b'11000111'
movwf OPTION_REG
bcf STATUS, RP0; Bank_0
movlw b'00000110'
movwf T1CON
;-------------timer---------
nm bcf INTCON,2
bsf T1CON,0
movlw b'01110100'
movwf TMR0
a btfss INTCON,2
goto a
;---------------perepolnenie---------
btfss PIR1,0
goto next
movlw b'01101110'
movwf var_5
;----------------indikacija----------------
next bcf T1CON,0
movf TMR1L,0
movwf a_L
movf TMR1H,0
movwf a_H
dec movlw b'00000000
iorwf a_H,w
btfss z
goto dec10000
movlw b'00000000'
iorwf a_L,w
btfss z
goto next2
movlw b'00000011'
movwf reg4
ind3 movlw b'11111111'
movwf reg3
ind2 movf var_0,0
call num_tab
movwf PORTD
bcf PORTC,2
nop
nop
nop
nop
bsf PORTC,2
movf var_1,0
call num_tab
movwf PORTD
bcf PORTC,3
bsf PORTD,0
nop
nop
nop
nop
bcf PORTD,0
bsf PORTC,3
movf var_2,0
call num_tab
movwf PORTD
bcf PORTC,4
nop
nop
nop
nop
bsf PORTC,4
movf var_3,0
call num_tab
movwf PORTD
bcf PORTC,5
nop
nop
nop
nop
bsf PORTC,5
movf var_4,0
call num_tab
movwf PORTD
bcf PORTC,6
bsf PORTD,0
nop
nop
nop
nop
bcf PORTD,0
bsf PORTC,6
movf var_5,0
movwf PORTD
bcf PORTC,7
nop
nop
nop
nop
bsf PORTC,7
decfsz reg3,f
goto ind2
decfsz reg4,f
goto ind3
clrf TMR0
clrf TMR1L
clrf TMR1H
clrf a_H
clrf a_L
clrf var_0
clrf var_1
clrf var_2
clrf var_3
clrf var_4
clrf var_5
bcf PIR1,0
goto nm
num_tab addwf PCL,1
retlw b'01111110';0
retlw b'00001100';1
retlw b'10110110';2
retlw b'10011110';3
retlw b'11001100';4
retlw b'11011010';5
retlw b'11111010';6
retlw b'00001110';7
retlw b'11111110';8
retlw b'11011110';9
;--------------konvertirovanie 16 bit timer v chisla
dec10000
movlw b'00100111';-10000
subwf a_H,w
btfss c
goto next1
movlw b'00010000'
subwf a_L,w
btfsc c
goto n1
movlw b'00101000'
subwf a_H,w
btfss c
goto next1
n1 call pl10000
movlw b'00100111'
subwf a_H,f
movlw b'00010000'
subwf a_L,f
btfsc c
goto dec
decf a_H,f
goto dec
next1 movlw b'00000011';-1000
subwf a_H,w
btfss c
goto next2
movlw b'11101000'
subwf a_L,w
btfsc c
goto n2
movlw b'00000100'
subwf a_H,w
btfss c
goto next2
n2 call pl1000
movlw b'00000011'
subwf a_H,f
movlw b'11101000'
subwf a_L,f
btfsc c
goto dec
decf a_H,f
goto dec
next2 movlw b'01100100';-100
subwf a_L,w
btfss c
goto n3
call pl100
movlw b'01100100'
subwf a_L,f
goto dec
n3 movlw b'00000000'
iorwf a_H,w
btfsc z
goto next3
movlw b'01100100'
subwf a_L,f
decf a_H,f
call pl100
goto dec
next3 movlw b'00001010';-10
subwf a_L,w
btfss c
goto next4
call pl10
movlw b'00001010'
subwf a_L,f
goto dec
next4 movlw b'00000001';-1
subwf a_L,w
btfss c
goto dec
call pl1
movlw b'00000001'
subwf a_L,f
goto dec
pl1 incf var_0,1
movlw b'00001010'
subwf var_0,0
btfss z
return
clrf var_0
pl10 incf var_1,1
movlw b'00001010'
subwf var_1,0
btfss z
return
clrf var_1
pl100 incf var_2,1
movlw b'00001010'
subwf var_2,0
btfss z
return
clrf var_2
pl1000 incf var_3,1
movlw b'00001010'
subwf var_3,0
btfss z
return
clrf var_3
pl10000 incf var_4,1
return
end
Вивод 15 вхід частотоміра, вихід 16 ШИМ
Вибачте що скинув програму на форум не в некоректному вигляді, вона трошки не коректно відобразилась
Так що заважало вiдкоректувати? Виправив. Будьте уважнiшим.все нормально все правильно
Вивод 15 вхід частотоміра, вихід 16 ШИМ
Цитата(kovigor @ Mar 8 2013, 13:13)

1. Проверьте монтаж.
2. Проверьте источник питания и качество выдаваемого им напряжения.
3. Покажите схему (например, в формате pdf). Без этого вообще говорить не о чем.
4. Кварц качественный ? На пол не падал ?
5. Программку покажите. Но едва ли дело только в ней ...
Я використовую макетну плату, на ній роблю різні схеми і використовую той самий кварц, інші програми на цій платі нормально працюють
Це моя макетна плата з запущеною програмою частотоміра який міряє вихід ШИМ