當前位置:首頁 » 課程大全 » pictimer1課程教學

pictimer1課程教學

發布時間: 2021-02-13 02:30:09

⑴ 問一個關於PIC單片機定時器1的問題,

⑵ PIC單片機用timer0作為timer1的門控信號源時,timer1怎麼工作

迷茫,你既然用了TIMER0中斷,幹嘛還要用TIMER1中斷呢。。。。你只要在TIMER0里弄個變數計數不就行了。。。。。

⑶ pic 定時器1

第一:你沒認真看數據手冊,PORTC口也復用了AD。如果不設置ANSEL的話,PORTC口默認是AD輸入。而專你只是把屬TRISC全設為輸出,但ANSEL的默認設置還是讓PORTC口是AD輸入狀態。注意要把ANSEL的相關位清零。這應該是問題的關鍵,也是所有初學PIC單片機的人常犯的一個毛病,就是沒認真看數據手冊,沒注意IO口的特性。
第二:說一下其他注意:你用__CONFIG在程序里設置了配置位,要注意不要再在MPLAB IDE的Configure里設置配置位了。

⑷ 急 PIC單片機的TIMER0作計數器和定時用有何不同

計數來就是直接從TIMER0的輸入信自號引腳T0CKI引腳讀入你的數據。這個時候定時器自動工作,單片機設置好它就不用管了,直到它溢出。在這段時間內,單片機可以空出來干別的事情。
如果你還設個變數,讓單片機自己檢測是否有按鍵按下。那這樣單片機就專門盯著按鍵是否按下了。沒能力干別的事情了。
如果只是拿來做實驗的話,沒啥區別。但在工程實際應用中,十幾到幾十塊錢的單片機不可能只用來一直盯著按鍵,還要發揮它的其他作用以便對得起買它的錢。

⑸ PIC單片機18F4520怎麼開定時器TIMER1和中斷的 最好有例子 ,一般開定時期要設置些什麼

看程序!!!MPLAB IDE 環境

⑹ pic單片機timer0怎麼用啊

實例說明:

假設時鍾周期為4MHZ,每隔50MS點亮LED,每隔50MS滅掉LED。這樣的程序要如何做到呢。

這50ms如何做到.

1,得到指令周期

4MHz/4=1MHz

1/1MHz=0.0000001s=1us

2,得到預分頻

定時器定時的最大時間要超過這50mS,所以預分頻器要選擇256

預分頻X256=最大的定時時間。256X256=65536us=65.536ms 大於50ms

3, 計算定時器初始值

(定時器最大值+1)- (定時時間/預分頻)=定時器的初始值。

255+1=256

50000/256=195.3125

256-195.3125=60.6875 四捨五入 定時器初始值為61.

設置相關的寄存器。

OPTION_REG寄存器中我們一般需要設置三處。

PS<2:0>設置用來設置預分頻預分頻范圍從2 ~256

PSA設置成0 講預分頻器分配給Timer0模塊

TMR0CS設置成0 內部指令周期時鍾。

實常式序:

/*開發環境 MPLAB X IDE 型號PIC16LF1823*/

#include<pic.h>
__CONFIG(FOSC_INTOSC&WDTE_OFF&PWRTE_ON&MCLRE_OFF&CP_ON&CPD_OFF

&BOREN_ON&CLKOUTEN_OFF&IESO_ON&FCMEN_ON);
__CONFIG(PLLEN_OFF&LVP_OFF) ;
#define LED LATA5/*也可用 #define LED RA5,只是PIC16LF1823 輸出電平的時候,直接控制LATA5執行速度更快,因為傳給RA5的數據最終也是傳給LATA5才執行的*/
void init_fosc(void)
{
OSCCON= 0x68;//時鍾設置為4MHz
}
void init_gpio(void)
{
PORTA = 0;
LATA = 0;
ANSELA = 0;
TRISAbits.TRISA5=0; //RA5口設置成輸出 用來控制LED
}
void init_timer0(void)
{
OPTION_REG=0x87; //預分頻為256
}
int main(int argc, char** argv)
{
init_fosc();
init_gpio();
init_timer0();
TMR0IF=0;//清除TMR0中斷標志位
TMR0=61;//設置中斷初始值61
while(1)
{
if(TMR0IF==1)//定時時間到了嗎??
{
LED = ~LED;//改變LED的狀態
TMR0IF=0;//清除TMR0中斷標志位
TMR0=61;//設置中斷初始值61為下次50ms定時做准備

}


}


}


⑺ pic使用timer1,用查詢的方法如何產生精確的定時

1、精確定時的話,存在FFFFH向0000H遞增和00FFH向0100H遞增這兩種糾結情況。寄存器TMR1H和TMR1L先讀哪回個都不合適。具答體處理方法是先讀高位元組,再讀低位元組,然後再讀一下高位元組。比較一下這兩個高位元組一樣么。一樣的話,就證明讀對了。不一樣的話就再讀一遍高位元組和低位元組,肯定就得到正確值了。
2、假設用TMR0,基本的溢出時間設為10ms,即10ms中斷一次,因此中斷10次是1秒,十分鍾要中斷10*60*10=6000,一分鍾要中斷600次,因要用二個整型變數來累計中斷次數。如一個為T0A,一個為T0B。每個TMR0中斷時T0A和T0B均加1,並判斷,當T0A>=6000,說明定時10分鍾到,此時先清T0A,接著你想讓它做啥就做啥。同樣,在TMR0中斷時,判斷,當T0B>=600,說明定時1分鍾到,此時先清T0B,接著你想讓它做啥還做啥。

⑻ 單片機數字鍾畢業中期檢查表中的一個問題

電子鍾相關畢業設計
·數字電子鍾的電路設計 (字數:9242,頁數:22 )·數字電子鍾的設計與製作 (字數:8017,頁數:22 )·數字鍾的設計 (字數:6208,頁數:21 )·基於8051單片機的數字鍾 (字數:21638,頁數:50)·基於單片機的電子時鍾控制系統 (字數:7935,頁數:42 )·數字電路數字鍾設計 (字數:4846,頁數:21 )·電子鬧鍾設計 (字數:4094,頁數:19 )·定時鬧鍾設計 (字數:5714,頁數:24 )·智能定時鬧鍾設計 (字數:3826,頁數:18 )·下棋定時鍾設計 (字數:5290,頁數:24 )·多功能數字鍾設計與製作 (字數:13129,頁數:34)·基於單片機的電子鍾設計 (字數:7710,頁數:24 )·基於單片機的數字電子鍾設計 (字數:10301,頁數:42)·基於Labview的虛擬數字鍾設計 (字數:17457,頁數:32)·電子日歷鍾 (字數:10677,頁數:33)·數字鍾的設計與製作 (字數:4922,頁數:23 )·單片機數字鍾設計 (字數:15355,頁數:47)·基於單片機的數字鍾設計 (字數:12541,頁數:27)·單片機定時鬧鍾設計 (字數:8450,頁數:24 )·萬年歷可編程電子鍾控電鈴 (字數:14371.頁數:41)·數字定時鬧鍾設計 (字數:7770,頁數:28 )·基於EDA技術的數字電子鍾設計 (字數:12247,頁數:32)·多功能時鍾打點系統設計 (字數:8353,頁數:31 )·智能音樂鬧鍾設計 (字數:10002,頁數:37)·基於AT89S51單片機的數字電子鍾設計 (字數:14560,頁數:39)

⑼ pic代碼中 timer0沒有設置TMR0值,為什麼可以計時呢

在一些PIC單片機中,TIM0比較特殊,它的運行/停止是不受控的。只要通電TIM0就會開始運行,
中斷中代碼:
if (T0IF&&T0IE) 所以在中斷中不僅僅判斷中斷標志位,還必須判斷中斷允許位

⑽ PIC單片機的TIMER1和TIMER2的問題求助!!!

pic 單片機的來中斷程序入口,自只有一個(關鍵字:interrupt),程序需自行判斷選擇哪個中斷。如:
void interrupt Servers()
{
if(TMR1IF && TMR1IE){}//IF需軟體清零
if(TMR2IF && TMR2IE){}//IF需軟體清零
}
Timer1採用的是給初值,計數到溢出(16位)就中斷。timer2採用的是給目標值(8位),從0計數到目標就中斷。

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919