當前位置:編程學習大全網 - 編程語言 - 請幫忙寫壹段程序,單片機定時器如何定時1小時後停5S又接著定時1小時?

請幫忙寫壹段程序,單片機定時器如何定時1小時後停5S又接著定時1小時?

#include<stc89.h>

#define uchar unsigned char

#define uint unsigned int

void TI2_way0(uint numerical);//定時器2 16位定時計數 numerical 定時計數數值 傳統方式

void TI2_way1(uint numerical);//定時器2 16位自動重裝定時計數 numerical 定時計數數值

void TI2_RUNset(bit state,way,control);//計數器/定時器2 運行與設置函數

/*定時器2相關函數開始*/

void TI2_way0(uint numerical) //定時器2 numerical 定時計數數值

{

numerical=(65536-numerical); //計算出定時值

TH2=(numerical/256); //定時器2的高8位計數值

TL2=(numerical%256); //定時器2的低8位計數

}

/*定時器2 16位自動重裝定時計數 numerical 定時計數數值*/

void TI2_way1(uint numerical)//定時器2 16位自動重裝定時計數 numerical 定時計數數值

{

//numerical=(65536-numerical); //計算出定時值

TH2=RCAP2H=(numerical/256); //定時器2的高8位計數值

TL2=RCAP2L=(numerical%256); //定時器2的低8位計數

}

/*

計數器/定時器2 運行與設置函數

state 0關閉定時計數器2 1啟動定時計數器2

way 0定時器模式 1計數器模式

control 0:16位自動重裝定時器計數器 1:16位捕獲

*/

void TI2_RUNset(bit state,way,control)//計數器/定時器2 運行與設置函數

{

//IPH=PT2H; //定時器2中斷優先級控制高位

RCLK=0;//接收時鐘標誌,0:使用定時器1作為串口接收發生器 1:使用定時器2作為串口接收發生器

TCLK=0;//發送時鐘標誌,0:使用定時器1作為串口發送發生器 1:使用定時器2作為串口發送發生器

switch(control) //啟動方式選擇

{

case 0x00:CP_RL2=0;EXEN2=0;break; // 0:16位自動重裝定時器計數器

case 0x01:CP_RL2=1;EXEN2=1;break; // 1:16位捕獲 捕獲模式使能位

}

switch(way) //啟動方式選擇

{

case 0x00:C_T2=0;break; //定時器模式

case 0x01:C_T2=1;break; //計數器模式

}

TR2=state;//定時器2的啟動控制位,1:啟動定時器 0:停止定時器

ET2=1; //定時器2中斷使能位

EA =1; //打開總中斷

}

/*

void Timing_count2() interrupt 5 //引腳P10

{

TF2=0;//定時器2溢出標誌,由硬件置1,必須由軟件清0

EXF2=0;//定時器2的外部標誌,由硬件置1,必須由軟件清0

}

*/

  • 上一篇:誰能幫我翻譯下這篇文章啊,急用啊 謝謝大哥啊
  • 下一篇:自學編程用什麽語言好?
  • copyright 2024編程學習大全網