• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
  • slider image 488
  • slider image 491
:::


Browsing this Thread:   1 Anonymous Users






Re: 瘦身完成....
#6
資深會員
資深會員


查看用戶資訊
哈哈 ... 居然會工作耶 !!!
不過程式有小修改一下 請參考啦 !!!!
Happy Happy ......

發表於: 2005/10/26 7:29
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 瘦身完成....
#5
資深會員
資深會員


查看用戶資訊
Dear abewu , 3Q lar ,
我是以 AN958 修改來用的,
ZCD 部份是用74HC14轉換成兩個同步訊號,
每8.26ms一次, 再用delay方式來Trigger Triac ;
AN958 提供的Dimmer asm, 我看不懂 ???
只好用硬體方式來解決, 笨鴨用笨方法啦 ,哈哈..
應該是行的通的 …I hope so????
謝謝 您的提醒.. 笨鴨會小心試驗...
因為5V電源來自110Vac , 怕怕呦,, haha.
如果有問題再請教您囉 3Q Again lor!

發表於: 2005/10/20 1:36
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 瘦身完成....
#4
初級會員
初級會員


查看用戶資訊
Hi!~Dear Duck288,
好幾天沒上來,一上來就看到您有成果了,恭喜您。

由於您的觸發是正向信號(Low to high),不確定輸出是否有反向線路,所以順道提醒您一下:
用 PIC 處理 Triac 時要注意觸發象限問題。
我的經驗是第二、三象限比第一、四象限佳。以前Microchip的參考文獻只有 PICREF-4,若用此線路衍生,Triac 的選用要特別注意。剛才看了一下網頁發覺多了 AN958,對此問題有若干解說,值得您參考。

不過您好像是 Zero Crossing Control,不是Phase Control,影響應該比較少。

希望您試過後把成果貼給大家了解一下。

發表於: 2005/10/19 16:35
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 瘦身完成....
#3
資深會員
資深會員


查看用戶資訊
3Q... Ryang 版主提示 ....
在Build 時,的確出現一些問題 ,
已經修正;看起來好像問題解決了;
待我燒個來試試看 ,是甚麼咚咚囉??

發表於: 2005/10/19 2:09
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 瘦身完成....
#2
版主
版主


查看用戶資訊
TRIS GPIO 的指令後應該加個 GOTO init 跳到你的 Main Routine才對,沒有GOTO 程式會當掉

發表於: 2005/10/18 18:06
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


瘦身完成....
#1
資深會員
資深會員


查看用戶資訊
Yeih ...piiii ... My science project is ready to go .Hahaha.
Basically , it is just a dimmer + PIR ...
人接近時由暗變亮 反之由亮變暗;
AN954的 dimmer.asm 笨鴨偶看不懂??
只好自己瞎掰一個囉! 原本程式有6-700條;
在此多謝 abewu 大哥的教導, 程式一下瘦身成下列程式...
關於常數宣告的方式 笨鴨偶還不會用,
只好在程式中, 多下些註解啦 ! Sorry lar. abewu 大哥.

程式...[code]
; PIC12F508 PIR+DIMMER
#include <p12F508.inc> ; processor specific variables
; Configure: Controls the reset pin, code protect, oscillator selection, WDT.
__CONFIG _MCLRE_OFF & _CP_OFF & _WDT_OFF &_IntRC_OSC
;-----[Defines & Variable Assignments]---------------------------------------
cblock 0x08 ; GP2=ZVS,GP5=TRIAC,GP3=SW1,GP4=PIR,GP1=SW2, GP0=MODE1-2
count ; count buffer
count1 ; count buffer
count2 ; count buffer
count3 ;total delay buffer
count4 ;max delay buffer
count5 ; loop buffer
endc
;-----[Reset Vector]---------------------------------------------------------
ORG 0x000 ; PIC goes here (Origin of code) after reset.
movwf OSCCAL ; Load the oscillator calibration factor.
movlw b'00000111' ; wake on pion change,pull-ups resister,max pre-scaler
OPTION ;
movlw b'00011111' ; Set GP0,1,2,3,4, to an input, GP5 to outputs.
TRIS GPIO ; Register 06h
goto init
;-----------------------------[Sub routine]-----------------------------------
dly_100us
movlw d'33'
movwf count
keep
decfsz count,f
goto keep
retlw 0
step_up
call dly_100us
decfsz count3 ;
goto step_up ;
retlw 0
step_down
call dly_100us ;
incfsz count3 ;
goto step_down ;
retlw 0

;-----[Main routine]---------------------------------------------------------
init
btfsc GPIO,0 ; Mode A or Mode B
goto mode_A
goto hold ; mode B
mode_A
btfss GPIO,4 ; PIR ready yet ??????
goto mode_A ; no
goto up
hold ;---------------- Minimum power routine.-------------------
btfsc GPIO,4 ; Check PIR Yes= H = SET.
goto up ; Go up routine .
btfsc GPIO,2 ; Zero Voltage crossing yet ?8.26ms for half cycle.
goto hold
movlw d'45' ; 5ms total delay.
movwf count3 ;
call step_up ; 100us per step up to increase light.
bsf GPIO,5 ; Set GP5 to trigger Triac .
call dly_100us ; Trigger width 100us .
bcf GPIO,5 ; Clear trigger.
goto hold
up ;---------------- Going up routine -----------------------------
movlw d'40' ; total delay 40+5= 4.5ms.
movwf count4 ;
loop
movlw d'10' ;10 times loop ,8.26msX10=0.0826s
movwf count5 ;
zcd
btfsc GPIO,2 ; Zero Voltage crossing yet ?
goto zcd ; No, check again ..
movlw d'5' ; Min delay 500us.
addwf count4,w ; add 45+5=50=5ms.
movwf count3 ; put in counter3
call step_up ;
bsf GPIO,5 ; set GP5 to triger Triac.
call dly_100us ; set triger width =100us.
bcf GPIO,5 ; Clear triger
decfsz count5,f ; loop counter for persistence of vision.
goto zcd ;
decfsz count4,f ;
goto loop ;
goto pw_100 ;
pw_100
btfsc GPIO,3 ; Hold on 10S or 30S.
goto next
goto hold_10s ;
next
btfsc GPIO,1 ; Hold on 30S or 60S
goto hold_30s
goto hold_60s ;
hold_10s
movlw d'12' ; 12 times loop. N=12
movwf count1
goto wait
hold_30s
movlw d'40' ; 40 times loop. N=40
movwf count1
goto wait
hold_60s
movlw d'160' ; 160 times loop. N=160

movwf count1
goto wait
wait
movlw d'100' ; 100 times loop.
movwf count2
wait_1
btfsc GPIO,2 ; Zero Voltage crossing yet ?
goto wait_1
call dly_100us
call dly_100us
call dly_100us
call dly_100us ; Total delay for 400us.
bsf GPIO,5 ; set GP5 to trigger Triac.
call dly_100us ; set trigger width = 0.1ms.
bcf GPIO,5 ;
decfsz count2,f ;
goto wait_1 ; 100 times loop = 8.26msX100=0.826s.
decfsz count1,f ; yes.
goto wait ; N times loop = 0.826s X N = N sec.
btfss GPIO,4 ; Has PIR still there.
goto down ; no
goto pw_100 ; yes
down ;-------------------- Going down routine ------------------------------
movlw d'40'
movwf count4 ;
loop_1
movlw d'10' ;
movwf count5 ;
zcd_1
btfsc GPIO,2 ; Zero Voltage crossing yet ?
goto zcd_1 ;
movlw d'210' ;
addwf count4,w ;
movwf count3 ;
call step_down ;
bsf GPIO,5 ; set GP5 to trigger Triac.
call dly_100us ;
bcf GPIO,5 ;
decfsz count5,f ;
goto zcd_1 ;
decfsz count4,f ;
goto loop_1 ;
goto init ;
end

發表於: 2005/10/18 7:27
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------