l4-6.c
来自「单片机C语言程序设计教程与实训源代码及图片 单片机C语言程序设计教程与实训源代码」· C语言 代码 · 共 57 行
C
57 行
/**********************************************************************
程序名称: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 + =
减小字号Ctrl + -
显示快捷键?