@richey
2020-09-02T04:03:36.000000Z
字数 1982
阅读 1508
单片机 讲义 中断 定时器





#include <reg51.h>#include "common.h"#define FOSC 11059200ul#define T0_H (65536-(50*FOSC)/(12*1000))/256#define T0_L (65536-(50*FOSC)/(12*1000))%256uint8_t counter = 0;bit bFlag = 0;void initSys();sbit LED0 = P1^0;void main(){initSys();while(TRUE){if(bFlag){bFlag = 0;LED0 = !LED0;}}}void initSys(){TMOD = 0x01;TH0 = T0_H;TL0 = T0_L;EA = 1;ET0 = 1;TR0 = 1;}void timer0() interrupt 1 {TH0 = T0_H;TL0 = T0_L;if(++counter>20){counter = 0;bFlag = 1;}}
#include <reg51.h>#include "common.h"#define FOSC 11059200ul#define T1_H 256-(1*FOSC)/(12*10000)#define T1_L 256-(1*FOSC)/(12*10000)uint8_t counter = 0;bit bFlag = 0;void initSys();sbit LED0 = P1^0;void main(){initSys();while(TRUE){;}}void initSys(){TMOD = 0x20;TH1 = T1_H;TL1 = T1_L;EA = 1;ET1 = 1;TR1 = 1;}void timer1() interrupt 3 {LED0 = !LED0;}
