|
定時器3和4
- sfr T4T3M = 0xD1; //定時器3和定時器4控制寄存器
- sfr T4H = 0xD2; //定時器4高8位
- sfr T4L = 0xD3; //定時器4低8位
- sfr T3H = 0xD4; //定時器3高8位
- sfr T3L = 0xD5; //定時器3低8位
- void Timer3Init(void) //100微秒@12.000MHz
- {
- T4T3M |= 0x02; //定時器時鐘1T模式
- T3L = 0x50; //設(shè)置定時初值
- T3H = 0xFB; //設(shè)置定時初值
- T4T3M |= 0x08; //定時器3開始計時
- }
- void Timer4Init(void) //100微秒@12.000MHz
- {
- T4T3M |= 0x20; //定時器時鐘1T模式
- T4L = 0x50; //設(shè)置定時初值
- T4H = 0xFB; //設(shè)置定時初值
- T4T3M |= 0x80; //定時器4開始計時
- }
復(fù)制代碼
- #include "reg51.h"
- #define TIMS 3036
- sfr CLK_DIV=0x97;
- sfr IE2 =0xAF;
- sfr TH3 =0xD4;
- sfr TL3 =0xD5;
- sfr T4T3M =0xD1;
- void timer_3() interrupt 19
- {
- P46=!P46;
- P47=!P47;
- }
- main()
- {
- CLK_DIV=0x03;
- TL3=TIMS;
- TH3=TIMS>>8;
- T4T3M=0x08; //定時器3
- P46=0;
- P47=0;
- IE2|=0x20;
- EA=1;
- while(1);
- }
復(fù)制代碼 |
|