工作原理: 1. 设置T1工作在方式1设置TMOD为0,为计数器模式。 2. 每按一次开关计数器计数一次,按5 次后LED灯持续闪烁,每0.5s闪亮一次。2^16-5=65531=0xfffb. 3. TR1=1,启动T1计数,TR1=0,关闭T1计数。 仿真电路图(包含在附件中) 程序源码
- #include <reg51.h>
- sbit p2_0= P2^0;
- void delay(unsigned int i)
- {
- unsigned int j;
- for(;i>0;i--)
- for(j=0;j<125;j++)
- {;}//空函数
- }
- void main()
- {
- TMOD=0x50;
- TH1=0xff;
- TL1=0xfb;
- EA=1;
- ET1=1;
- TR1=1;
- while(1);
- }
- void T1_int(void) interrupt 3
- {
- for(;;)
- {
- p2_0=0xff;
- delay(500);
- p2_0=0;
- delay(500);
- }
- }
复制代码
Proteus仿真代码:
51单片机定时器.7z
(58.59 KB, 下载次数: 15)
|