定時編程
① 如何對定時器編程
. Plugins下點開BiNGO。彈出BiNGO設置窗口,按照偏好,完成後面的設置:a. 給聚類分析取個名字;b. 勾上「Get Cluster from Network」框;c. 「Select a statistical test」下,選擇「Hypergeometric」,如果數據量非常大,可以選用「Binomial」,不過一般的處理用Hypergeometric 即可;d. 「Select a multiple testing correction」下,選用「Benjamini & Hochberg False Discovery Rate (FDR)」,這種FDR計算方法比Bonferroni較為不保守,不過多數情況下已經夠用;e. 「Choose a significance level」輸入「0.05」,此閾值控制計算結果中報告的GO分類的細致程度,0.05並不一定足夠保守,不過可以根據結果調整此閾值;f. 「Select the categories to be visualized」下選擇「Overrepresented categories after correction」,這樣結果中就能直接看到富集的分類,當然選別的也可以;
② 定時器編程
#include<reg52.h>
sbit light=P2^0;
unsigned char flag;
void main()
{
EA=1;
ET0=1;
TMOD=0x01;//定時器工作在1方式
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
TR0=1;
while(1)
{
if(flag==1)
{
light=0;
}
}
}
void timer() interrupt 0
{
unsigned char i,j;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
i++;
if(i==20)
{
i=0;
j++;
if(j==99) flag=1;
}
}
③ 編程實現10ms定時程序(採用定時終端)
這個是很土的入門級別程序。
找單片機參考書仔細看定時器章節,都能找到介紹常式。
如果不是單片機,仔細找說明書總有介紹。
不行就找技術支持。一對一幫扶。。
學習不要好高騖遠。先看懂了原理再自己想怎麼做。
④ plc的定時較長時怎樣編程
1、定時器串聯
2、時鍾脈沖配合計數器
3、定時中斷配合計數器
4、定時器與計數器配合
5、系統如果帶有實時時鍾的話,採用讀取實時時鍾比較。
⑤ 單片機 定時器編程
應該比較簡單吧。比如用at89s52,晶振頻率12m
其程序如下:
#include<stdio.h>
#include<reg51.h>
void timer0_init()
{
TMOD=0x01;//方式1
TL0=0xb0;
TH0=0x3c;
TR0=1;
ET0=1;
}
void timer0_ISR(void) interrupt 1
{
TL0=0xb0;
TH0=0x3c;//50ms中斷一次
single++;
if(single==20)
{ kk++;
single=0;
}
}
void main()
{
int kk=0;//計數器
int single=0;
timer0_init();
}
顯示器用個八位口連接七段led就行了。
⑥ 51單片機定時器的匯編語言程序編程,
LED BIT P1.0 ;定義LED的引腳
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0ISR
ORG 0030H
MAIN:
MOV TMOD,#01H ;定時器0工作模式1
MOV TH0,#HIGH(65536-50000) ;初值,50毫秒中斷一次
MOV TL0,#LOW(65536-50000)
SETB TR0 ;啟動定時器
SETB ET0 ;啟動定時器中斷
SETB EA ;開總中斷
MOV R2,#40 ;中斷計數初始值
SJMP $
T0ISR:
CLR TR0
MOV TH0,#HIGH(65536-50000)
MOV TL0,#LOW(65536-50000)
SETB TR0
DJNZ R2,T0E ;R2減到0重新賦值,否則退出
MOV R2,#40
CPL LED ;LED亮滅轉換
T0E:
RETI
END
⑦ 怎麼利用單片機定時器實現定時的編程過程
定時器其實就是單片機的一個內部自身時鍾的計數器,每一個周期計數器加1,所以使用定時器功能時候先要給定時器付初值,就是先寫TH0TL0的值(如下),寫完初值後就等著定時器功能的那個計數器記滿了數後也就是到了65536後就溢出了,所以一次定時的過程就是65536-初值 之間的數 所代表的時鍾周期,計數滿了溢出要產生中斷就要寫一個中斷服務子程序,子程序如下void timer0() interrrupt X 中斷服務子程序中還要給定時器計數器的TH TL付初值 進行下一次的計數,明白了吧。。樓上的那個沒寫interrupt 選擇定時器工作方式。哎呀,媽呀 累死我了
void main()
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;//定時器0初值,定時50ms 定時多少MS就多少*1000
EA=1;//開啟總中斷
ET0=1;//定時器0中斷允許
TR0=1;//開啟定時器0
while(1)
{
}
}
void timer0() interrrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}
⑧ 定時器怎麼編程
是什麼cpu上的定時器?看數據手冊。
⑨ 定時器/計時器在編程中要(_)(_)(_)等三個步驟。
SetTimer函數的用法
1 )用WM_TIMER來設置定時器
先請看SetTimer這個API函數的原型
UINT_PTR SetTimer(
HWND hWnd, // 窗口句柄
UINT_PTR nIDEvent, // 定時器ID,多個定時器時,可以通過該ID判斷是哪個定時器
UINT uElapse, // 時間間隔,單位為毫秒
TIMERPROC lpTimerFunc // 回調函數
);
例如
SetTimer(m_hWnd,1,1000,NULL); //一個1秒觸發一次的定時器
在MFC程序中SetTimer被封裝在CWnd類中,調用就不用指定窗口句柄了
於是SetTimer函數的原型變為:
UINT SetTimer(UINT nIDEvent,UINT nElapse,void(CALLBACK EXPORT *lpfnTimer)(HWND,UINT ,YINT ,DWORD))
當使用SetTimer函數的時候,就會生成一個計時器。函數中nIDEvent指的是計時器的標識,也就是名字。nElapse指的是時間間隔,
也就是每隔多長時間觸發一次事件。第三個參數是一個回調函數,在這個函數里,放入你想要做的事情的代碼,你可以將它設定為NULL,
也就是使用系統默認的回調函數,系統默認認的是onTime函數。這個函數怎麼生成的呢?你需要在需要計時器的類的生成onTime函數:
在ClassWizard里,選擇需要計時器的類,添加WM_TIME消息映射,就自動生成onTime函數了。然後在函數里添加代碼,讓代碼實現功能。
每隔一段時間就會自動執行一次。
例:
SetTimer(1,1000,NULL);
1:計時器的名稱;
1000:時間間隔,單位是毫秒;
NULL:使用onTime函數。
當不需要計時器的時候調用KillTimer(nIDEvent);
例如:KillTimer(1);
2) 調用回調函數
此方法首先寫一個如下格式的回調函數
void CALLBACK TimerProc(HWND hWnd,UINT nMsg,UINT nTimerid,DWORD dwTime);
然後再用SetTimer(1,100,TimerProc)函數來建一個定時器,第三個參數就是回調函數地址。
二. 或許你會問,如果我要加入兩個或者兩個以上的 timer怎麼辦?
繼續用SetTimer函數吧,上次的timer的ID是1,這次可以是2,3,4。。。。
SetTimer(2,1000,NULL);
SetTimer(3,500,NULL);
嗯,WINDOWS會協調他們的。當然onTimer函數體也要發生變化,要在函數體內添加每一個timer的處理代碼:
onTimer(nIDEvent)
{
switch(nIDEvent)
{
case 1:........;
break;
case 2:.......;
break;
case 3:......;
break;
}
}
⑩ 可編程定時器
按 start->help and support-> ask for asst.
那裡有