|
我給你來個程序試試
- /*-----------------------------------------------
- 名稱:定時器0
- ------------------------------------------------*/
- #include<reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
- sbit Out10=P1^0; //定義端口
- sbit Out11=P1^1; //定義端口
- sbit Out12=P1^2; //定義端口
- sbit Out13=P1^3; //定義端口
- sbit Out14=P1^4; //定義端口
- sbit Out15=P1^5; //定義端口
- /*------------------------------------------------
- 定時器初始化子程序
- ------------------------------------------------*/
- void Init_Timer0(void)
- {
- TMOD |= 0x01; //使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響
- TH0=0xFF; //給定初值,50us
- TL0=0xDF; //50微秒@8.000MHz
- EA=1; //總中斷打開
- ET0=1; //定時器中斷打開
- TR0=1; //定時器開關(guān)打開
- }
- /*------------------------------------------------
- 主程序
- ------------------------------------------------*/
- main()
- {
- Init_Timer0();
- while(1);
- }
- /*------------------------------------------------
- 定時器中斷子程序
- ------------------------------------------------*/
- void Timer0_isr(void) interrupt 1 using 1
- {
- TH0=0xFF; //重新賦值
- TL0=0xDF;
- Out10=~Out10; //端口反相 輸出方波
- Out11=~Out11; //端口反相 輸出方波
- Out12=~Out12; //端口反相 輸出方波
- Out13=~Out13; //端口反相 輸出方波
- Out14=~Out14; //端口反相 輸出方波
- Out15=~Out15; //端口反相 輸出方波
- }
復(fù)制代碼 |
|