程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> STC10F10XE定時器中斷輸出10KHz的方波程序,stc10f10xe10khz

STC10F10XE定時器中斷輸出10KHz的方波程序,stc10f10xe10khz

編輯:關於C語言

STC10F10XE定時器中斷輸出10KHz的方波程序,stc10f10xe10khz


//咱做硬件的也動手做點測試程序,為了測試新做的電機驅動板,找了個51的板子當10K信號發生器測試IGBT開關延時時間。

#include <STC_NEW_8051.H>
#include<intrins.h>
#define uchar unsigned char
//這個T0定時器中斷程序網上找的,改了下定義和計數器值,移植到STC10F10XE上。
sbit OUT=P2^7; //定義OUT輸出端口

/*------------------------------------------------
定時器初始化子程序
------------------------------------------------*/
void Init_Timer0(void)
{
TMOD |= 0x01; //使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響
//TH0=0x00; //給定初值,這裡使用定時器最大值從0開始計數一直到65535溢出
//TL0=0x00;
EA=1; //總中斷打開
ET0=1; //定時器中斷打開
TR0=1; //定時器開關打開
}
/*------------------------------------------------
主程序
------------------------------------------------*/
main()
{

CLK_DIV=0x00; //不分頻
P2M1=0x00; //P2端口推挽輸出
P2M0=0xff; //P2端口推挽輸出
Init_Timer0();
while(1);
}

/*------------------------------------------------
定時器中斷子程序
------------------------------------------------*/
void Timer0_isr(void) interrupt 1 using 1
{
TH0=255; //重新賦值 11.0592M晶振,示波器實測10KHz波形輸出。
TL0=211; //
//溢出然後輸出端取反
OUT=~OUT; //用示波器可看到方波輸出

}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved