timer.c

来自「CF8051F040开发板的 timer_test程序」· C语言 代码 · 共 60 行

C
60
字号
/************************************************************************************
*  Copyright (c) 2004,西安铭朗电子科技有限责任公司
*            All rights reserved.
*
* 文件名称: timer.C
* 文件标识: none
* 适用器件: C8051F040
* 
* 摘 要: 本文件是定时器延时子函数程序,定时器延时;将跳线器JP4短接;使用外部22.1184MHz晶振.
*		
* 当前版本:1.2
* 作 者:张宁强
* 完成日期:2006年1月10日
*
* 历史版本:1.0 
* 原作者 : 李林利 卢阳
* 完成日期:2005年6月1日
*************************************************************************************/

/************************************************************************************/
// 引用外部头文件

#include "c8051f040.h"                 
#include "timer.h"

/************************************************************************************/

/***********************************************************************************
* 函数名称:Timer0_Delay;
*
* 函数功能描述:定时器延时子函数;
*              
* 输入参数:延时时间(单位毫秒);
*
* 返回数据:none;
*
* 注意:    none;
************************************************************************************/

void Timer0_init(unsigned int count)
{
	char data SFRPAGE_SAVE = SFRPAGE;    // Save Current SFR page   
    SFRPAGE = SFR_PAGE_0;          	 	// set SFR page 0

	TCON  &= ~0x30;                     // 停止Timer0
	TMOD  &= ~0x00;                     // 配置定时器Timer0工作在16位模式
	TMOD  |=  0x01;
	CKCON |=  0x00;                     // 定时器Timer0时钟选择

	TR0 = 0;                         	// 停止定时器Timer0
	TH0 = -count >> 8;       		    // 设置定时器Timer0溢出时间
	TL0 = -count;

	SFRPAGE = SFRPAGE_SAVE;          // Restore SFR page
}

/***********************************************************************************/
// 文件结束
/***********************************************************************************/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?