Re: 我不太看的懂c語言寫出來的語法,有人知道怎麼解釋這行嗎?
|
||||
---|---|---|---|---|
初級會員
|
聽你們解釋,偶已經看懂了,由其程式也有列了出來,不懂就太落伍了,真是感謝呢
發表於: 2006/10/1 12:07
|
|||
|
Re: 組合語言寫 SWITCH---CASE
|
||||
---|---|---|---|---|
初級會員
|
抱歉,我看過16f87x的datasheet裡面好像都沒介紹到skpc與skpnc這兩個指令,不曉得,要是運用在16的ic上,應該會有問題吧?
另外一點,是不是這樣子就要運用到某些記憶體來記錄一些要跑的程式的頁面呢,再以這個記錄當準備要呼叫超過頁面的時候,再先前先將之頁面數值先放入Pclath裡,以免跳錯頁
發表於: 2006/6/24 16:35
|
|||
|
Re: 請問一下笨笨的問題,movlw 6 + 6的意思是? 跟movlw 12有什麼不同
|
||||
---|---|---|---|---|
初級會員
|
嗯嗯,這幾行,看起來的確讓人知道這個運算的問題可以簡單的寫入這個部份,那這個運算部份,在程式裡不會有其他處理運算的問題嗎?
這麼說好了,pic16的組語來寫的話,要加,減,乘,除的話,好像還要寫一堆程式來輔助與判斷,而且還要用到w的暫存器,這樣寫的話,在complier後會也把那些加減乘除也自動寫出一段出來嗎?我想不會吧,還是其實這樣寫,只能在某些ic上才可以做?
發表於: 2006/6/24 0:07
|
|||
|
Re: 如果要將副程式分開放在各別檔案時,該怎麼分配?
|
||||
---|---|---|---|---|
初級會員
|
感謝,不過我沒註明清楚,真是不好意思,我使用的是pic16f876a
寫的方式是使用組語 我倒不是問題出在暫存器要用的記憶體分配,而是程式記憶體寫法的問題上,程式為了做判斷,所以利用pcl跳去執行下面的幾行 問題是在,當程式愈來愈大時,已經超過ff~100h的時候會發生跳頁的問題,所以我把副程式分開放在可以用的程式記憶體空間,而在主程式時已經使用Pclath把頁數跳開了,即可解決這個問題 但是若我要分開把副程式放在各自的檔案中時,想做成模組化,但是程式可以分開寫入各自的檔案嗎?而不是只有寫變數,對於主程式關聯到的副程式,不用去分配位址嗎?不然到時又超過一頁怎麼辦?因為沒辦法自己判斷現在的程式已經跑到了第幾頁,若沒在使用pcl前更改Pclath則就會開始跳錯頁了,是不是我每次在整個complier時,我都要很注意模組化程式又會跳錯頁的問題?
發表於: 2006/6/23 23:57
|
|||
|
如果要將副程式分開放在各別檔案時,該怎麼分配?
|
||||
---|---|---|---|---|
初級會員
|
假如我想把副程式一個一個寫好各別放在其檔案中,除了主檔要去INCLUDE加入他之外,對於記憶體使用的分配,須注意到要如何分配呢?
是否也要將記憶體分配一併寫入子程式裡,如果是的話,假設別的不相干的案子要共同使用這些子程式的話,不就要很注意記憶體的分配才能使用它了? 難道不能自動分配,以免GOTO或CALL或者是有用到PCL時以免它跳錯,而且子程式與子程式也不會位址相衝突?
發表於: 2006/6/19 2:22
|
|||
|
我有一個溫度表要轉換電壓控制如下,請問怎麼讀取值會比較好?
|
||||
---|---|---|---|---|
初級會員
|
溫度
50 14.57 45 14.60 40 14.62 35 14.65 30 14.67 25 14.70 20 14.73 15 14.75 10 14.78 5 14.80 0 14.83 -5 14.85 -10 14.88 -15 14.90 -20 14.93 溫度是介由NTC轉換成電壓讀入的,由於溫度不可能像表中只有5度5度的跳,要轉換成表中的電壓的話,假如溫度剛好介於5度的中間,那電壓值轉換時怎麼辦,因為要轉換表很多,不只一個表,所以為了節省記憶,不考慮把255個數值(一個暫存器)均列入,請問有人知道有什麼方法可以即簡單又容易把正確的數值傳回來?
發表於: 2006/6/19 2:11
|
|||
|
請問一下笨笨的問題,movlw 6 + 6的意思是? 跟movlw 12有什麼不同
|
||||
---|---|---|---|---|
初級會員
|
如題
為何不乾脆直接寫成 movlw H'0c' 就好了,到底差在哪裡,意思又有可不一樣的地方?
發表於: 2006/6/19 2:02
|
|||
|
Re: 如何設計一個由a/d接收電壓不足,控制pwm時序的on跟off?
|
||||
---|---|---|---|---|
初級會員
|
真是糟糕,我沒登入,寫了一大篇居然給我消失,我以為已經登成功了,看來我是要重打了
看到你的回應,我真的很高興,因為你已經回答我從何著手的方法了. 1)我今天就公佈我的線路讓你知道吧,不用猜了 我是從之前已經設計出來的類比線路來修改的,我做的是12-220的弦波inverter,這個pwm由於是一次側推動出15V的準確電壓後再推一個變壓器到二側的小電路用,而這個小電路是主要推動輸出弦波的MOS,由於它要推動時會造成部份時間電流有點過大而造成一次的電壓壓降,而且二次側的電壓又要很穩壓判斷一些電位,所以我不能使用開廻路做法來使用,因為電壓會忽高忽低,二次側就會判斷有誤了,但是,這個電流其實也不用很大啦,我曾試過,以12.8V的話來說,總須要的電流也不過才150mA以內,所以我不須要您所說的大電流,只是瞬間須要,所以還是採用閉廻路的會比較穩,那即然是這樣,EMI/EMC的問題就不大,這我LAYOUT會處理掉,其他的我想您看了大概也知道,我要用100K來推的用意,我是沒試過用比較慢的頻率,倒是可以嚐試看看,這樣第一個問題就可以解決掉了 2)您所說的PID這個我以為用不上,我看大概是有這個須求了,我還不會,這部份我得溫書一下,不曉得哪裡可以找到這部份的資料或範例,我須要練習一下新的東西.至於為什麼有PWM的IC怎麼不用,我想您大概也愈來愈了解我電路愈來愈多時的麻煩,我本來是設計SMD的,結果做一做還是常常一堆打件空焊,維修太耗時了,當然能夠一顆IC可以解決的話,生產就會快多了.我也不用麻煩到還要去維修了啊. 3)終於了解應該要這樣寫才可以順順的跑,我懂了,感謝你啦,你說的沒錯,我一直重點都是放在PWM的控制,怎麼想到它是最重要的本來就要放在主程式中,呵呵,你要是沒說的話,我真的就還搞亂了,謝謝您提醒了我了
發表於: 2006/1/7 19:08
|
|||
|
Re: 如何設計一個由a/d接收電壓不足,控制pwm時序的on跟off?
|
||||
---|---|---|---|---|
初級會員
|
嗯,我懂了,不過我還是要提些議見,或許我是還有點問題想問
1)針對您說的開迴路,我不是不能設計,但因為我輸出的電壓要去推動某些動態會須要瞬間大電流的零件會導致壓降過大,所以我不得不考慮閉迴路動態的來做穩定的穩壓源,今日若還用類比的線路,則可以直接回應而且不用考慮損失問題,既然我已想改成軟體來處理,所以眼前的問題就一定得克服掉,降頻率亦不是不可行,但漣波可能過大或許,後面的電容就要很大顆來做充放電了,不然漣波就會變的太大 2)這麼說起來,我是該立即改變CCPR1L即可控制Duty了,那數值我要怎麼給它呢,因為它寫了數值後就會直接開到那個Duty才關,我才抓到電壓值,怎麼預先曉得Duty要開到多久以後電壓到達準位才OFF的數值? 3)您的第三個說明我覺得您的意思大概是,這個PWM與ADC讀A/D該寫在主程式,而Delay該寫在中斷裡,又或者是全部都寫在中斷裡,由各自中斷用觸發方式去跑該跑的細項的中斷,這樣子嗎? 多謝您的指導,疑問多,您的回應,已經有幫助我寫程式的方法了
發表於: 2006/1/5 0:59
|
|||
|