От мобилни телефони до цифрови камери
bonjyr89 - специалист
Оки 10х :wink:
ELEMENTAL - специалист
ssi написа:
Ех този ELEMENTAL!!! Винаги можеш да разчиташ да ти помогне :razz:
Това като какво да го разбирам :? :lol: ?
Ето една елементарна схема с PIC16F913 генерираща честота 1-3Hz (60-180имп. за минута).С UP и DOWN бутоните се избира честотата.Стъпката е 5 импулса за минута.
Изображение
Заб.1 Седемсегментните индикатори са с общ анод!!!
Заб.2 Схемата е тествана :arrow: http://www.youtube.com/watch?v=IeZhV2r5wXw
Заб.3 Кр=50%

Прикачен файл

SC36-11EWA_m.jpg
SC36-11EWA_m.jpg (23.82 KиБ) Видяна 8621 пъти

Прикачен файл

7805.jpg
7805.jpg (76.43 KиБ) Видяна 8621 пъти
Последна промяна от ELEMENTAL на пет яну 16, 2009 2:41 pm, променено общо 3 пъти.
ELEMENTAL - специалист
Ето го и сорс кода:
;913 oscillator 1-3Hz, 24 steps
;ver.1.0
;designed by ELEMENTAL
;The LED indicators are with common anode!!!
list p=16F913
#include <p16F913.inc>
__CONFIG _DEBUG_OFF & _FCMEN_ON & _IESO_OFF & _BOD_OFF & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
;*********************************promenlivi i konstanti*************************************************************************
w EQU 0
f EQU 1
Digit_1 EQU H'23'
Digit_10 EQU H'24'
Digit_100 EQU H'25'
Counterh EQU H'26' ;nc7,g6,f5,e4,d3,c2,b1,a0,
Temp_in EQU H'27'
Counterl EQU H'28'
Leddata EQU H'29'
Ledtemp EQU H'2A'
#define COM100 PORTC,0
#define OUT PORTC,5
#define UP PORTC,6
#define DOWN PORTC,7
#define tempup Temp_in,0
#define tempdown Temp_in,7
;*******************************
ORG H'0000'
goto start
;*******************************
start bsf STATUS,RP0
movlw B'01010111'
movwf OPTION_REG
movlw B'00000000'
movwf TRISB
movlw B'00000000'
movwf TRISA
movlw B'11011110'
movwf TRISC
clrf PCON
clrf ANSEL
movlw B'00000111'
movwf CMCON0
bcf STATUS,RP0
movlw B'00110001'
movwf T1CON
movlw B'00001011'
movwf CCP1CON
clrf PORTA
nop
clrf PORTB
nop
movlw D'255'
movwf PORTC
movlw B'11110100'
movwf CCPR1H
movlw B'00100100'
movwf CCPR1L
bsf STATUS,RP1
movlw B'00000000'
movwf LCDCON
bcf STATUS,RP1
movlw B'00000010'
movwf PORTA
bsf PORTB,6
clrf Temp_in
nop
clrf Counterh
movlw D'1'
movwf Counterl
nop
movlw D'60'
movwf Leddata
goto main
;**************~65ms delay**************
Wait clrf TMR0
bcf INTCON,T0IF
again btfss INTCON,T0IF
goto again
nop
return
;************Table_num********************
Table_num addwf PCL,f
retlw B'11000000' ;0
retlw B'11111001' ;1
retlw B'10100100' ;2
retlw B'10110000' ;3
retlw B'10011001' ;4
retlw B'10010010' ;5
retlw B'10000010' ;6
retlw B'11111000' ;7
retlw B'10000000' ;8
retlw B'10010000' ;9
;************Table_data********************
Table_data addwf PCL,f
retlw B'11110100' ;62500 h 60
retlw B'00100100' ;62500 l
retlw B'11100001' ;57693 h 65
retlw B'01011101' ;57693 l
retlw B'11010001' ;53572 h 70
retlw B'01000100' ;53572 l
retlw B'11000011' ;50000 h 75
retlw B'01010000' ;50000 l
retlw B'10110111' ;46875 h 80
retlw B'00011011' ;46875 l
retlw B'10101100' ;44118 h 85
retlw B'01010110' ;44118 l
retlw B'10100010' ;41667 h 90
retlw B'11000011' ;41667 l
retlw B'10011010' ;39747 h 95
retlw B'00110010' ;39747 l
retlw B'10010010' ;37500 h 100
retlw B'01111100' ;37500 l
retlw B'10001011' ;35714 h 105
retlw B'10000010' ;35714 l
retlw B'10000101' ;34091 h 110
retlw B'00101011' ;34091 l
retlw B'01111111' ;32609 h 115
retlw B'01100001' ;32609 l
retlw B'01111010' ;31250 h 120
retlw B'00010010' ;31250 l
retlw B'01110101' ;30000 h 125
retlw B'00110000' ;30000 l
retlw B'01110000' ;28846 h 130
retlw B'10101110' ;28846 l
retlw B'01101100' ;27778 h 135
retlw B'10000010' ;27778 l
retlw B'01101000' ;26786 h 140
retlw B'10100010' ;26786 l
retlw B'01100101' ;25862 h 145
retlw B'00000110' ;25862 l
retlw B'01100001' ;25000 h 150
retlw B'10101000' ;25000 l
retlw B'01011110' ;24193 h 155
retlw B'10000001' ;24193 l
retlw B'01011011' ;23437 h 160
retlw B'10001101' ;23437 l
retlw B'01011000' ;22727 h 165
retlw B'11000111' ;22727 l
retlw B'01010110' ;22059 h 170
retlw B'00101011' ;22059 l
retlw B'01010011' ;21429 h 175
retlw B'10110101' ;21429 l
retlw B'01010001' ;20833 h 180
retlw B'01100001' ;20833 l
;********************incdata****************
incdata movf Counterh,w
bcf STATUS,2 ;Z
xorlw D'48'
btfsc STATUS,2
return
incf Counterh,f
incf Counterh,f
incf Counterl,f
incf Counterl,f ;add 2 to Counterh and l
movlw D'5'
addwf Leddata,f ;add 5 to Leddata
movf Counterh,w
call Table_data
movwf CCPR1H
nop
movf Counterl,w
call Table_data
movwf CCPR1L
call Led_update
return
;********************decdata****************
decdata movf Counterh,w
bcf STATUS,2 ;Z
xorlw D'0'
btfsc STATUS,2
return
decf Counterh,f
decf Counterh,f
decf Counterl,f
decf Counterl,f ;subtract 2 to Counterh and l
movlw D'5'
subwf Leddata,f ;subtract 5 to Leddata
movf Counterh,w
call Table_data
movwf CCPR1H
nop
movf Counterl,w
call Table_data
movwf CCPR1L
call Led_update
return
;********************led_update*************
Led_update bcf STATUS,2
movf Leddata,w
movwf Ledtemp
nop
movlw D'60'
subwf Ledtemp,f
btfsc STATUS,2
goto upload60
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload65
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload70
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload75
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload80
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload85
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload90
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload95
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload100
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload105
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload110
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload115
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload120
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload125
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload130
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload135
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload140
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload145
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload150
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload155
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload160
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload165
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload170
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload175
movlw D'5'
subwf Ledtemp,f
btfsc STATUS,2
goto upload180
goto upload180
upload60 bsf COM100
movlw D'6'
movwf Digit_10
clrf Digit_1
goto Ledready
upload65 bsf COM100
movlw D'6'
movwf Digit_10
movlw D'5'
movwf Digit_1
goto Ledready
upload70 bsf COM100
movlw D'7'
movwf Digit_10
clrf Digit_1
goto Ledready
upload75 bsf COM100
movlw D'7'
movwf Digit_10
movlw D'5'
movwf Digit_1
goto Ledready
upload80 bsf COM100
movlw D'8'
movwf Digit_10
clrf Digit_1
goto Ledready
upload85 bsf COM100
movlw D'8'
movwf Digit_10
movlw D'5'
movwf Digit_1
goto Ledready
upload90 bsf COM100
movlw D'9'
movwf Digit_10
clrf Digit_1
goto Ledready
upload95 bsf COM100
movlw D'9'
movwf Digit_10
movlw D'5'
movwf Digit_1
goto Ledready
upload100 bcf COM100
movlw D'0'
movwf Digit_10
clrf Digit_1
goto Ledready
upload105 bcf COM100
movlw D'0'
movwf Digit_10
movlw D'5'
movwf Digit_1
goto Ledready
upload110 bcf COM100
movlw D'1'
movwf Digit_10
clrf Digit_1
goto Ledready
upload115 bcf COM100
movlw D'1'
movwf Digit_10
movlw D'5'
movwf Digit_1
goto Ledready
upload120 bcf COM100
movlw D'2'
movwf Digit_10
clrf Digit_1
goto Ledready
upload125 bcf COM100
movlw D'2'
movwf Digit_10
movlw D'5'
movwf Digit_1
goto Ledready
upload130 bcf COM100
movlw D'3'
movwf Digit_10
clrf Digit_1
goto Ledready
upload135 bcf COM100
movlw D'3'
movwf Digit_10
movlw D'5'
movwf Digit_1
goto Ledready
upload140 bcf COM100
movlw D'4'
movwf Digit_10
clrf Digit_1
goto Ledready
upload145 bcf COM100
movlw D'4'
movwf Digit_10
movlw D'5'
movwf Digit_1
goto Ledready
upload150 bcf COM100
movlw D'5'
movwf Digit_10
clrf Digit_1
goto Ledready
upload155 bcf COM100
movlw D'5'
movwf Digit_10
movlw D'5'
movwf Digit_1
goto Ledready
upload160 bcf COM100
movlw D'6'
movwf Digit_10
clrf Digit_1
goto Ledready
upload165 bcf COM100
movlw D'6'
movwf Digit_10
movlw D'5'
movwf Digit_1
goto Ledready
upload170 bcf COM100
movlw D'7'
movwf Digit_10
clrf Digit_1
goto Ledready
upload175 bcf COM100
movlw D'7'
movwf Digit_10
movlw D'5'
movwf Digit_1
goto Ledready
upload180 bcf COM100
movlw D'8'
movwf Digit_10
clrf Digit_1
Ledready nop
movf Digit_10,w
call Table_num
movwf PORTA
movf Digit_1,w
call Table_num
movwf PORTB
return
;********************main*******************
main btfsc UP
goto continue
bsf tempup
continue nop
btfsc DOWN
goto continue1
bsf tempdown
continue1 nop
call Wait ;~130msec
btfss UP
goto continue2
nop
bcf tempup
continue2 nop
btfss DOWN
goto continue3
nop
bcf tempdown
continue3 nop
bcf PIR1,CCP1IF
again1 btfss PIR1,CCP1IF
goto again1
nop
btfss OUT
goto toogle
nop
bcf OUT
goto senddata
toogle bsf OUT
senddata btfss tempup
goto continue4
nop
goto incdat
continue4 btfss tempdown
goto main
nop
goto decdat
incdat nop
call incdata
nop
goto main
decdat nop
call decdata
nop
goto main
END
Това пък е HEX кода:
:020000040000FA
:1000000001288316573081000030860000308500BB
:10001000DE3087008E01910107309C008312313061
:1000200090000B3097008501000086010000FF3032
:100030008700F430960024309500031700308700C5
:100040000313023085000617A7010000A601013046
:10005000A80000003C30A900922981010B110B1D62
:100060002F28000008008207C034F934A434B034CB
:10007000993492348234F834803490348207F434E2
:100080002434E1345D34D1344434C3345034B7348F
:100090001B34AC345634A234C3349A3432349234E0
:1000A0007C348B34823485342B347F3461347A341D
:1000B0001234753430347034AE346C348234683475
:1000C000A234653406346134A8345E3481345B3440
:1000D0008D345834C73456342B345334B5345134FA
:1000E000613426080311303A03190800A60AA60A4B
:1000F000A80AA80A0530A90726083E209600000095
:1001000028083E2095009920080026080311003A8F
:1001100003190800A603A603A803A8030530A90233
:1001200026083E209600000028083E2095009920D1
:10013000080003112908AA0000003C30AA02031994
:1001400002290530AA02031907290530AA0203195A
:100150000D290530AA02031912290530AA02031934
:1001600018290530AA0203191D290530AA0203190E
:1001700023290530AA02031928290530AA020319E8
:100180002E290530AA02031933290530AA020319C2
:1001900039290530AA0203193E290530AA0203199C
:1001A00044290530AA02031949290530AA02031976
:1001B0004F290530AA02031954290530AA02031950
:1001C0005A290530AA0203195F290530AA0203192A
:1001D00065290530AA0203196A290530AA02031904
:1001E00070290530AA02031975290530AA020319DE
:1001F0007B290530AA02031980290530AA020319B8
:100200008629862907140630A400A3018A29071429
:100210000630A4000530A3008A2907140730A40083
:10022000A3018A2907140730A4000530A3008A29F6
:1002300007140830A400A3018A2907140830A40079
:100240000530A3008A2907140930A400A3018A29D4
:1002500007140930A4000530A3008A2907100030D4
:10026000A400A3018A2907100030A4000530A300D0
:100270008A2907100130A400A3018A290710013040
:10028000A4000530A3008A2907100230A400A301AE
:100290008A2907100230A4000530A3008A2907101C
:1002A0000330A400A3018A2907100330A4000530FD
:1002B000A3008A2907100430A400A3018A2907108B
:1002C0000430A4000530A3008A2907100530A400DB
:1002D000A3018A2907100530A4000530A3008A294C
:1002E00007100630A400A3018A2907100630A400D5
:1002F0000530A3008A2907100730A400A3018A292A
:1003000007100730A4000530A3008A290710083021
:10031000A400A30100002408332085002308332013
:1003200086000800071B952927140000871B9929C0
:10033000A71700002D20071F9F290000271000008D
:10034000871FA4290000A71300000C110C1DA6296B
:100350000000871EAE2900008712AF298716271CD0
:10036000B3290000B729A71F92290000BB2900006C
:0E0370007120000092290000852000009229D3
:02400E00C438B4
:00000001FF
skartalov - специалист
ELEMENTAL: Направо те признах!
Добре измислено.
Ама май по- лесно щеше вмесно на асемблер да се напишат няколко реда на PICBASIC. По- малко занимавка щеше да е.
Успех на пича, дето ще трябва да си го сглоби.
ssi - специалист
Това като какво да го разбирам ?
Е... как като какво? Хваля те! Няма никаква ирония! Много ти благодаря и аз за схемата!!!
ELEMENTAL - специалист
Нещо не съм разбрал правилно явно :ops:
Последна промяна от ELEMENTAL на пет яну 16, 2009 8:29 pm, променено общо 1 път.
Тани - модератор
Чак сега видях темата! Но аз съм доста нива под ELEMENTAL , защото съм се занимавал за последно с електроника преди 10 - 12 години . Определено съм изостанал с материала , а ще трябва да наваксвам , защото мисля да си автоматизирам къщата и в частност отоплението и вентилацията и ще трябва да вкарам много логика. Като гледам простотата на схемата явно съм на прав път с идеята да си купя тези книги и да започвам да се подготвям теоретически

http://constructor.bg/shop/product_info ... s_id=10736

http://constructor.bg/shop/product_info ... ts_id=9948

Има ли по-лесни за изучаване контролери/програмиране?
ELEMENTAL - специалист
Тези ръководства ги имам и аз.Добре са разработени.Първата част я има в нета на английски.МК само са я превели на БГ.
Тани - модератор
Мислиш ли че биха свършили работа , на някой като мен и повечето потребители на форума , които никога не са работили с микроконтролери , но имат елементарни познания познания по електроника?
ELEMENTAL - специалист
Написани са на възможно най-разбираем език.
П.С. Виж си пощата :wink:

Тема "ПОМОЩ!!! Схема на импулсен генератор!!!" | Включи се в дискусията:


Сподели форума:

Бъди информиран. Следвай "Направи сам" във Facebook:

Намери изпълнител и вдъхновения за дома. Следвай MaistorPlus във Facebook: