• slider image 514
  • slider image 516
  • slider image 517
  • slider image 518
  • slider image 519
:::


Browsing this Thread:   1 Anonymous Users






Re: 16位元PIC有人用 組語 撰寫嗎?
#6
資深會員
資深會員


查看用戶資訊
其實問題不在你身上,只能說MCU的功能差異太大造成程式語言或多或少有不能向下相容,必須做小幅修改.

用組言對底層的控制最為精準掌控也最高(功力夠的話),相對硬體或功能更新修改褔度也最大 XD
用C是相容度比較大 但掌控度弱了一點,但大部分的應用應該問題不大,可以加點inline asm來處理.

用C不見得就比較弱,用ASM也未必就強,用的順手最重要.

有時是公司環境決定的,像我們公司的防盜器早期都用16C57(IO多 ROM 2K stack=2 其它什麼功能都沒有),前輩依然能寫出功能強大的防盜器,連2WAY也能寫出來,當初看到快瘋了....
後來16F57便宜了才換成FLASH程式原封不動換過去了依然沒問題...

但現在則改用由於代理商建議改用16F886,883,價格差不多但功能上強很多,內建EEPROM,盪振器,ROM 8/4K,所以程式寫起來相對簡單,也省了不少開發時間,..所以我們公司大多用16F系列的PIC用到C的機會也不大,頂多自己去上workshop在家自己玩玩而已,用不太習慣反而覺C的宣告比ASM麻煩了好多 >"<
但只要有實際做幾個CASE應該就能習慣了.

[註]用C語要換別個廠商的MCU比較方便 ^^"
但很多公司還是偏好microchip PIC 呵呵

參照:

2bod 寫道:
我現在的主管就是PIC的組合語言老手

但因為公司要用更複雜的dsPIC系列後,其特殊功能暫存器之多,嚇死人了

現在也因為我引進C語言的操作方式,再管理及交接過程絕對沒啥問題

C語言再加上註解寫得好,我想會比使用組合語言來的快速及便捷

再加上dsPIC系列要上不上(32位元)要下不下(8位元)的對很多高階使用者來說很怕寫底層,對低階使用者來說又放棄不了組合語言的完全掌控

我想最好的解決方式就是使用C語言,但就光個EEPROM的寫法,使用C語言搬運EEPROM的資料,幾年前還可以編譯的程式,這幾天下載的MPLAB8.33後有些東西又出現ERROR,做起來還真麻煩,下載最新的EEPROM的操作方式,有與兩三年前不一樣了,小弟今天又花了一點時間把eeprom,c移植過來,還自己加入連續讀取16個word的函式

所以話說回來,c語言的編譯器一直在更新,很多功能都太繁複了,也不知道要如何選擇

但是還是對堅持使用組合語言的老前輩送上最高的敬意

發表於: 2009/7/15 11:31
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 16位元PIC有人用 組語 撰寫嗎?
#5
中級會員
中級會員


查看用戶資訊
我現在的主管就是PIC的組合語言老手

但因為公司要用更複雜的dsPIC系列後,其特殊功能暫存器之多,嚇死人了

現在也因為我引進C語言的操作方式,再管理及交接過程絕對沒啥問題

C語言再加上註解寫得好,我想會比使用組合語言來的快速及便捷

再加上dsPIC系列要上不上(32位元)要下不下(8位元)的對很多高階使用者來說很怕寫底層,對低階使用者來說又放棄不了組合語言的完全掌控

我想最好的解決方式就是使用C語言,但就光個EEPROM的寫法,使用C語言搬運EEPROM的資料,幾年前還可以編譯的程式,這幾天下載的MPLAB8.33後有些東西又出現ERROR,做起來還真麻煩,下載最新的EEPROM的操作方式,有與兩三年前不一樣了,小弟今天又花了一點時間把eeprom,c移植過來,還自己加入連續讀取16個word的函式

所以話說回來,c語言的編譯器一直在更新,很多功能都太繁複了,也不知道要如何選擇

但是還是對堅持使用組合語言的老前輩送上最高的敬意

發表於: 2009/7/10 23:37
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 16位元PIC有人用 組語 撰寫嗎?
#4
資深會員
資深會員


查看用戶資訊
參照:

ke730 寫道:
請問現在還有人用組合語言寫16位元的PIC程式嗎?

有一次拜訪中部某家PIC代理商,我看到他們的工程師居然用組合語言寫PIC18程式,滿滿將近800行,我想他應該是異類吧?很不可思議。

PIC18最少也有16K WORD,他寫了800行組譯之後的機械碼卻不到4K WORD。真不知道這些前輩是否組合語言用慣了,還是自己以前建立不少函式庫而情有獨衷無法忘懷。


800行程式 產生 4 K WORDs ,  應該是用了不少  MACRO 這絕對是老手前輩 

如 MACRO 或 副程式用量夠多的話 
組合語言 與 高階語言 也相差不多了

尤其是這些  ROUTINE 都是自己開發的話 
用起來更是得心應手 比起一邊寫程式 一邊看 參考手冊,  更是方便不少  ........

發表於: 2009/7/8 0:46
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 16位元PIC有人用 組語 撰寫嗎?
#3
初級會員
初級會員


查看用戶資訊
嗯嗯,感謝回答。
對 組語 前輩敬上至高崇拜!

另,我覺得C語言利用中斷來管理時間也是會有問題。
例如:大大舉例的40KHZ、12.5US來說。
由於時間太快,在中斷副程式裡面多了幾行程式都會影響時間,尤其是指令長度不固定的情況下。即使軟體模擬的結果正確,而實際硬體RUN起來還是會飄移。

發表於: 2009/7/7 21:05
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 16位元PIC有人用 組語 撰寫嗎?
#2
資深會員
資深會員


查看用戶資訊
用組合語言寫沒什麼函式庫可言吧,只有幾個副程式是可以通用的如此而已.而這些副程式在C都有函式可以呼叫.
用C是可讀性比較高,維護也比較方便,但對硬體和時間及程式碼長度的掌控會比較差一點.
用組語對硬體和時間的掌控性比較好,但維護上相對麻煩,尤其是看別人的程式碼更是OOXX.

當你的程式必須對時間要求很準的時候你還是必須選擇組語或是插入式組語
例:超音波40KHZ信號,使用8MHZ振盪器,對於12.5US用C來寫也是蠻吃力的,用中斷來做也不方便光是PUSH POP就超過這些時間了.

發表於: 2009/7/7 9:28
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


16位元PIC有人用 組語 撰寫嗎?
#1
初級會員
初級會員


查看用戶資訊
請問現在還有人用組合語言寫16位元的PIC程式嗎?

以前寫8位元PIC用組合語言,是為了節省ROM空間。直到這幾年出現了16、32位元,我看了DATASHEET,他的週邊功能增加不少,當然,暫存器也增加很多,其控制方式也很複雜,於是放棄了組合語言而改用C語言。

有一次拜訪中部某家PIC代理商,我看到他們的工程師居然用組合語言寫PIC18程式,滿滿將近800行,我想他應該是異類吧?很不可思議。

PIC18最少也有16K WORD,他寫了800行,組譯之後的機械碼卻不到4K WORD。真不知道這些前輩是否組合語言用慣了,還是自己以前建立不少函式庫而情有獨衷無法忘懷。

發表於: 2009/7/4 11:35
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... ]

教育訓練中心

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