會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





關於計數問題
高級會員
註冊日期:
2007/03/24 09:21
所屬群組:
註冊會員
文章: 74
等級: 7; EXP: 53
HP : 0 / 163
MP : 24 / 5525
離線
各位前輩,

目前想寫一個計數50分鐘到後led亮(時間可調整),想請問大家是否哪裡可以找到些相關sample code

2月25日 14:35:44
轉換PDF檔 列印


Re: 關於計數問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14501
等級: 73; EXP: 6
HP : 1080 / 1801
MP : 4833 / 76214
離線
是沒有直接受你要的 Code Example,不過有些教材可以參考學習一下就能輕易修改成你所需的程式。

參考一下教育訓練光碟下的:
8-Bits MCU 相關課程 -->
PIC101 X IDE & MCC & XC8 的綜合基礎課程 New! 裡的 Lab 4,稍作修改即可達成。

http://www.microchip.com.tw/Data_CD/

2月26日 14:13:14
轉換PDF檔 列印


Re: 關於計數問題
高級會員
註冊日期:
2007/03/24 09:21
所屬群組:
註冊會員
文章: 74
等級: 7; EXP: 53
HP : 0 / 163
MP : 24 / 5525
離線
明白~~~謝謝您幫忙

2月26日 22:55:52
轉換PDF檔 列印


Re: 關於計數問題
高級會員
註冊日期:
2007/03/24 09:21
所屬群組:
註冊會員
文章: 74
等級: 7; EXP: 53
HP : 0 / 163
MP : 24 / 5525
離線
請問一下如果目前使用PIC16F877A 使用Time1 當作計時器,
想請問一下如果計算假設今天設定為10ms, 我的TMR1H及TMR1L要怎麼計算,下述我在網路找到範例,但我不知道閃爍時間該如何計算


void interrupt ISR(void)
{
TMR1L = (65536 - 37500)%256;
TMR1H = (65536 - 37500)/256;
if(TMR1IF&&TMR1IE)
{
TMR1IF = 0;
PORTD = ~PORTD;
}
}

2月27日 15:43:48
轉換PDF檔 列印


Re: 關於計數問題
資深會員
註冊日期:
2004/05/19 03:43
來自 台灣
所屬群組:
註冊會員
文章: 1750
等級: 35; EXP: 10
HP : 0 / 852
MP : 583 / 35949
離線
TMR1H 跟 TMR1L 的值 都是常數,所以可用 EQUAL 預定義(在編譯時就算好)
就不須浪費MCU的資源


.

2月28日 17:48:41
轉換PDF檔 列印


Re: 關於計數問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14501
等級: 73; EXP: 6
HP : 1080 / 1801
MP : 4833 / 76214
離線
假設 PIC16F877A 系統頻是 4MHz,則進入到 Timer1 的 Fcy 為 1MHz.

1MHz/1000 = 1mS
1MHz/10000 = 10ms
也就是說 1uS x 10000 = 10mS ,這 10000 就是要計數的值。

由於該 Timer1 是屬於 Overflow 的方式,最高 16-bit 計數值為 65536。要讓它計數 10000 次才到達 10mS 的時間。因為是往上計數所以修改一下載入值為 (65536-10000) 即可。

但因是 8-bit 的暫存器所以要在分成 MSB & LSB 的載入。所以程式中就可以使用這樣的方式來載入這 10mS 的計時:

TMR1H = (65536 - 10000)/256; 取出 MSB 的值,送入 TMR1H 暫存器
TMR1L = (65536 - 10000)%256; 取出餘數作為 LSB 的值,送入 TMR1L 暫存器

3月01日 14:05:09
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結

網頁捷徑
2018 Winter Elite 報名
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project