Re: Regarding to Timer0
|
||||
---|---|---|---|---|
資深會員
![]() ![]() ![]() |
這次有建專案測試過了,應該不會有太大的錯誤了...
1.雖然有人建議我寫程式要分大小寫,來增加可讀性,但由於一下大寫一下小寫打字上實在很麻煩,所以我還是習慣全部用大寫. 2.但有些好習慣確實是要建立的,像_lable: 前面加底線後面加冒號,這是標記的好習慣,如果程式變大了,要找特定的程式就很快,像_timer:用搜尋一下子就找到了. 3.在程式的最開頭設定IC燒錄也是好習慣,能節省不少時間. 4.養成程式分段的好習慣,對程式的可讀性也是有很幫助的. 5.在程式最前面註明程式修改的時間及修改項目,供日後追查什麼時候鋳下大錯的.
; PIC12F508 FOR TIMER0 08-27-2007
發表於: 2007/9/3 14:18
|
|||
|
Re: Regarding to Timer0
|
||||
---|---|---|---|---|
資深會員
![]() ![]() ![]() |
想知道他怎麼貼圖的嗎??很簡單,回覆/引用文章,就可以看到.
1.先申請個網路硬碟,然後把圖片放上去. 2.[img algin=left ]http://圖片的網路位置 [/img ] ps:中括弧最後面沒空格 上全部的課??依你目前的功力,除了USB/CAN/C18..一些特殊的應用之外,其它都只是去吃便當而已,把便當留給有需要的人吧. 我不是老板啦~只是個小小的歹命的軟體工程師,只是太無聊常上來逛逛. debounce的程式沒幾行,但是很好用,能解決彈跳的問題,省了一些消除彈跳的硬體費用,簡單來說,在按鍵按下或放開的瞬間在MCU I/O用示波器能看到hi lo的變化,在這段時間MCU並沒有辨法確定此時的I/O狀態,最簡單的方式就是延遲一段時間等I/O狀態穩定再來讀取,所以把debounce程式加在timer的T5ms來做判斷是很合適的. 大部分的產品都會有按鍵的功能,也就會用到類似的程式來解決彈跳的問題,ex:手機,電話,..舉凡有按鍵的電子產品都有會彈跳的問題. 倒數計時器,也是常常會用到的功能,我舉個例子吧,像斷電延遲器,以前我去過一個同學的家裡,他家的廁所在門上裝了一個開關,在關門時會點亮廁所的燈,很省電又方便的設計對吧,鴨子家要不要也弄一個,但缺點是一開門,但還沒離開燈就滅了,一片漆黑...%$^#$^#&... 所以如果開門在3秒後才關燈,是不是就很理想了... 那個只是小考啦~粉簡單的,如果用一般call delay的方式來做時間反而不容易算的很準確. 12F629
?>
發表於: 2007/9/3 11:51
|
|||
|
Re: Regarding to Timer0
|
||||
---|---|---|---|---|
資深會員
![]() ![]() ![]() |
3Q Ryang ...
嗯.. 資料滿豐富的 ,可以好好 研究一下... 不是笨鴨鍾情於 PIC10Fxxx , 12F5xx.. 而是笨鴨功力有限, 正好這幾顆傻瓜型PIC對笨鴨而言還挺麻吉的.. 呵.. 呵.. 亂寫一通居然也會工作, 還真捷克, 太神奇啦 ! 哈..哈... 3Q , PIC , I love you , 嫁給偶吧!(目前只能當細姨, 二奶囉!)haha... ![]()
發表於: 2007/9/3 11:45
|
|||
|
Re: Regarding to Timer0
|
||||
---|---|---|---|---|
版主
![]() ![]() ![]() |
鴨先生這麼鍾情於 PIC10Fxxx 參考一下這個 pdf 檔,練練功還不錯。
http://ww1.microchip.com/downloads/en/DeviceDoc/41283B.pdf
發表於: 2007/9/3 11:06
|
|||
|
Re: Regarding to Timer0
|
||||
---|---|---|---|---|
資深會員
![]() ![]() ![]() |
Good Morning yiming ....
大鍋上班啦 ! 看來大鍋是老板呦, 哈.. 哈... 隔壁台有廣告耶, 只是好奇他是如何貼的圖? 不用錢又有免費便當吃??? 真好耶!! 有機會回去一定要上全部的課,, 哈.. 哈... 笨鴨只有一個最基本的 Baseline Flash MCU Programmer. 其他全沒有, 所以能燒錄的PIC有限, 將就用囉... 簡單的題目??? 笨鴨只是剛剛看懂大鍋的程式而已... 就要月烤啦 !!! 可不可以直接選重修呀??? 呵...呵... 這個程式如果用一般 Call Delay 方法 是不難, 如果用Timer0嘛 ?? 笨鴨又要頭大啦 !! 好吧? 先開個拔辣票, 不豬何時完成囉! 哈.. 哈... 先研究一下 I/O debounce 的程式吧 !! 這個比較重要,對不? ![]() ![]()
發表於: 2007/9/3 10:34
|
|||
|
Re: Regarding to Timer0
|
||||
---|---|---|---|---|
資深會員
![]() ![]() ![]() |
開補習班和microchip workshop搶生意嗎???我想大家會去不用錢又有免費便當吃的地方吧....呵呵~我自己也常去那吃便當,吃到講師都快不收我了.
嗯,12F675也是不錯的學習IC,只是如果想用ICD2模擬,還要接一個head,不然就只能用燒錄的方式來除錯了,用燒錄的方式來除錯對一些"簡單"的小程式是沒問題,但要玩通訊或是接收就有點累了,只是到目前為止都是簡單的小程式,無所謂啦~ 開新專題來討論,可以呀. 鴨,你對timer0的使用方法了解不少了,但還有一些東西要加進去的,不然寫起程式來還是會問題多多... ex: I/O debounce 可以加在T5MS那一段.(大多會用到按鍵輸入,就需要加入這段程式) I/O debouce我想你應該知道原理,忘記的話再提出來討論. ;暫存器定義說明 ;ORB OLD RB 記錄上一次SAMPLE RB 狀態(連續10ms狀態相同,表示I/O的狀態是一個穩定值了) ;TRB TEMP RB 用來記錄上一次SAMPLE RB狀態(不一定是穩定值) ;WORK 暫時存放RB的狀態. ;WORK,TRB 只是拿來做記錄,真正可在主程式使用的是ORB.
DEBOUNCE_IO:
倒數計時用的暫存器,可以加在T250Ms那一段.(這部分可有可無,有用到才加) 這個部分我出個"簡單的題目,讓給你想想要怎麼做吧. Q.做一按鍵1,每按一下則LED1亮5秒後熄減,做一按鍵2,每按一下則LED2亮8秒後熄減,做一按鍵3,每按一下則LED3亮13秒後熄減,如果60秒內沒有任何按鍵,則LED1/LED2/LED3 全亮.
發表於: 2007/9/3 9:36
|
|||
|
Re: Regarding to Timer0
|
||||
---|---|---|---|---|
資深會員
![]() ![]() ![]() |
yiming大鍋, 指導有方囉!
大鍋應該去開個補習班 或是函授班呀?小A點$嘛 ?? Hahaha.. 笨鴨認為是該進化啦 ! 所以挑個12F675 來玩玩... 選它的理由嘛 ? 是因為只有兩個PAGE, 有10Bit的A/D 可以練習; 有EEPROM可以練習存資料,還有中斷可以用 ... 看起來滿適合笨鴨的 ; 不知道 yiming大鍋認為如何呀 ??? 正好利用 Long weekend 來看 DATA "Shit",,,haha.. 反正外面熱的要死 一百多度F耶!!! 我想再開個專題來討論可以嗎?3Q lar,yiming大鍋. ![]()
發表於: 2007/9/3 0:40
|
|||
|
Re: Regarding to Timer0
|
||||
---|---|---|---|---|
資深會員
![]() ![]() ![]() |
連我打錯字都看的出來,功力進步很多了哦~
可以玩玩更難的東西了...
發表於: 2007/9/2 16:29
|
|||
|
Re: Regarding to Timer0
|
||||
---|---|---|---|---|
資深會員
![]() ![]() ![]() |
哇晒的... 光是一個Timer0 就可以變如此多戲法來呀???
笨鴨要學到何時呀? 是誰創造Timer0這麼個咚咚.. 累屎人囉!! 還有呀? 大鍋的程式不只是有病毒, 好像時間也有問題耶? 算起來, 笨鴨每四分鐘就被痛宰一次, 這也太狠了吧!! haha. 哦... 偶知道了, 大鍋是要烤笨鴨有沒有做功課對不? 哈..哈.. 修改如下....不豬到 有沒有對耶...
;**************************
![]()
發表於: 2007/9/2 11:24
|
|||
|