• 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: 請教有關"Timer"的設定....
#5
新會員
新會員


查看用戶資訊
如何讀取 16 位元的 TIMER1 的數值?有三種讀法,其中已上面那篇的習慣的寫法會百中錯一,很難發現,就算你用線上調試也一樣!

#include <16F877.H>

#use delay(clock = 20000000)
#use rs232( baud = 115200, xmit = PIN_C6, rcv = PIN_C7 )

#define TMR1 *(int16 *)(0x0E) // 定義 TMR1 為位於 0x0E 的 16 bit 變數
#define TMR1L *(int8 *)(0x0E) // 若寫成 *(0x0E) 的話,變成 8 bit !
#define TMR1H *(int8 *)(0x0F)

long Timer_1;
#byte Timer_1 = 0x0E
#byte Timer_1_L = 0x0E
#byte Timer_1_H = 0x0F

#bit A4 = 0x05.4
#bit TRISA4 = 0x85.4

#org 0x0800
void main()
{
int16 t_1, t_2, t_3; int8 i = 0;

setup_timer_1 ( T1_INTERNAL | T1_DIV_BY_8 ); // 1.6 usec per count

TRISA4 = 0;

while(1)
{
A4 = 1; // 用示波器看 pin_RA4 的信號,要加提昇電阻!

t_1 = TMR1; // 這種寫法會有 隨機的 錯誤! 小心喔!
t_2 = Timer_1;
t_3 = get_timer1();

A4 = 0;

if ( ((t_2-t_1)>3) || ((t_3-t_1)>3) || ((t_3-t_2)>3) ) // 抓到蟲啦
{
printf ( "i, t_1, t_2, t_3 = %3u 0x%04LX 0x%04LX 0x%04LX\r\n",
++i, t_1, t_2, t_3 );

t_1 = TMR1; // 這次絕對不會錯!
t_2 = Timer_1;
t_3 = get_timer1();

printf ( "i, t_1, t_2, t_3 = %3u 0x%04LX 0x%04LX 0x%04LX\r\n\n",
i, t_1, t_2, t_3 );
}
}
}

小弟的一點經驗,希望能讓 CCS 新手快樂向前行

祝 順心
~~~~~~~~~~~~~~~~~~~~~~~
以上是转贴,希望对关于timer1读写有帮助
我的问题是,我怎么能看到printf输出---- printf ( "i, t_1, t_2, t_3 = %3u 0x%04LX 0x%04LX 0x%04LX\r\n\n",
i, t_1, t_2, t_3 );

發表於: 2006/10/27 16:38
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教有關"Timer"的設定....
#4
版主
版主


查看用戶資訊
目的是一樣,但上述的方式只要改變 TMR0_VAL的定義 就可以改變 TMR0H and TMR0L 的值,

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


Re: 請教有關"Timer"的設定....
#3
高級會員
高級會員


查看用戶資訊
謝謝....
我已經解決了 .....不過是拿Timer1的範例來改的....

movlw (.65536-TMR0_VAL)/.256
movwf TMR0H, ACCESS
movlw (.65536-TMR0_VAL)%.256
movwf TMR0L, ACCESS

方法如上....怪了.... 這和我直接給值好像沒啥不同耶..?
真是怪了....

發表於: 2006/10/26 19:52
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教有關"Timer"的設定....
#2
資深會員
資深會員


查看用戶資訊
http://www.microchip.com.tw/modules/n ... 348&forum=1#forumpost5297

板主之前的回答
參考看看吧
基本上要先把值寫入TMR0H
(這時值還沒更新到TIMER0裡)
之後再把值寫入TMR0L
這時會同時把這16位元的值丟進TIMER0

發表於: 2006/10/26 19:06
木亟缶夬金戔
彳艮缶夬金戔
走召缶夬金戔
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


請教有關"Timer"的設定....
#1
高級會員
高級會員


查看用戶資訊
在此想跟各位高手說聲抱歉...這個問題可能已經被問過幾百次了...浪費大家的時間...真是抱歉....

我目前在測試PIC18F2455的Timer功能....
首先是Timer0.....我看Spec. Page.126尚有提到:

TMR0H是不可以直接被存取的...
在讀取TMR0L時使用Timer0高字節的內容更新TMR0H...

實在不懂上面那段話在說什麼...?...有高手可以解釋一下嗎..?

還有我看Microchip國外論壇上面在討論Initial Timer0時..
也市直接寫入TMR0H和TMR0L....跟Spec.說的不太像...??

我用的是16MHz的震盪器......我實在看不懂...Timer0到底該如何用阿....?....請問有人可以簡單說明一下嗎...?..謝謝...

比如說我想0.5ms中斷一次....那我的TMR0H和TMR0L該怎麼算阿..?.....

請各位高手多多指教.....謝謝..^^

發表於: 2006/10/26 18:59
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... ]

教育訓練中心

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