📄 l4-6.c
字号:
/**********************************************************************
程序名称:L4-6.c
程序功能:采用复合定时方法,实现较长时间的定时
程序作者:张三
创建时间:2008-3-28
**********************************************************************/
#include <reg51.h>
sbit D0 = P1^0; // 定义D0控制引脚
sbit S100ms = P1^2; // 定义周期为100ms的方波输出引脚
/**********************************************************************
函数名称:void main( )
功能描述:主函数,初始化CPU
函数作者:张三
创建时间:2008-3-28
**********************************************************************/
void main( void ) // 主函数,初始化CPU
{
D0 = 0;
S100ms = 1;
TMOD = 0x61; // 设置T/C的工作方式
TH0 = 0x3c; // 给计数器赋初值
TL0 = 0xb0;
TH1 = 0xf6;
TL1 = 0xf6;
IP = 0x08; // T/C1为高优先级中断
EA = 1; // 开中断
ET0 = 1; // 允许T/C0申请中断
ET1 = 1; // 允许T/C1申请中断
TR0 = 1; // 启动T/C0
TR1 = 1; // 启动T/C1
do{ }while( 1 );
}
/**********************************************************************
函数名称:void Time0( void )
程序功能:重装定时器初值,S100ms 高低电平转换
程序作者:张三
创建时间:2008-3-28
**********************************************************************/
void Time0( void ) interrupt 1 using 2
{
S100ms = ! S100ms; // S100ms 高低电平转换
TH0 = 0x3c; // 重装定时器初值
TL0 = 0xb0;
}
/**********************************************************************
函数名称:void Counter1( void )
程序功能:D0亮、灭转换
程序作者:张三
创建时间:2008-3-28
**********************************************************************/
void Counter1( void ) interrupt 3 using 3
{
D0 = ! D0; // D0亮、灭转换
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -