📄 kw_timer.lst
字号:
C51 COMPILER V7.50 KW_TIMER 10/12/2007 17:05:48 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE KW_TIMER
OBJECT MODULE PLACED IN kw_timer.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE kw_timer.c OBJECTADVANCED OPTIMIZE(11,SIZE) REGFILE(.\nand_fw2k.ORC) BROWSE
- ORDER INCDIR(c:\cypress\usb\target\inc) DEFINE(NAND_2K) DEBUG
line level source
1 /**************************************************************************************
2 Copyright (C), 1988-1999, Xi'an Keyway Control & Measurement Technology Co., Ltd
3 FileName: kw_timer.c
4 Description :nandflash 接口模块。
5 Version :1.0
6 Function List :
7 History: // 历史修改记录
8 <author> <time> <version > <desc>
9 LigangWang 07/08/08 1.0 build this moudle
10 *************************************************************************************/
11
12 #include "globals.h"
13
14 #define TIMER0_COUNT 0x63c0 // 10ms at 24MHz
15
16 WORD xdata timer0_tick; // 嘀哒数,10ms一周期
17
18 /*************************************************************************************
19 Function: TM_Timer0_Init
20 Description: 初始化 Timer 0,启动中断,每10ms中断一次
21 Called By: fw.c / main()
22 Input: N/A
23 Output: N/A
24 Return: void
25 Others:
26 *************************************************************************************/
27 void TM_Timer0_Init (void)
28 {
29 1 EA = 0; // 关闭中断
30 1 TR0 = 0; // 进制timer0
31 1
32 1 CKCON = 0x03; // Timer 0 使用 CLK24/12
33 1 TMOD &= ~0x0F; // 清除 timer0 mod位
34 1 TMOD |= 0x01; // 设置T imer 0 为16位模式
35 1
36 1 TL0 = (TIMER0_COUNT & 0x00FF); // 装载计数值
37 1 TH0 = (TIMER0_COUNT >> 8);
38 1
39 1 PT0 = 0; // 设置中断触发方式
40 1 ET0 = 1; // 允许 Timer 0 中断
41 1 TR0 = 1; // 启动 Timer 0
42 1 EA = 1; // 开中断
43 1 timer0_tick = 0;
44 1 }
45
46 /*************************************************************************************
47 Function: TM_Timer0
48 Description: Timer 0中断服务程序,嘀哒数 timer0_tick 加1,并重新装载计数初值
49 Called By: ...
50 Input: N/A
51 Output: N/A
52 Return: void
53 Others:
54 *************************************************************************************/
C51 COMPILER V7.50 KW_TIMER 10/12/2007 17:05:48 PAGE 2
55 void TM_Timer0 (void) interrupt 1 using 1
56 {
57 1 TR0 = 0; // 停止计数
58 1 timer0_tick++; // 嘀哒加1
59 1 TL0 = TL0 + (TIMER0_COUNT & 0x00FF); // 重新装载初值
60 1 TH0 = TH0 + (TIMER0_COUNT >> 8);
61 1 TR0 = 1; // 启动计数
62 1 }
63
64 /*************************************************************************************
65 Function: TM_ClearWTD
66 Description: 清除看门狗信号,该函数必须在1.5s周期内运行
67 Called By: ...
68 Input: N/A
69 Output: N/A
70 Return: void
71 Others:
72 *************************************************************************************/
73 void TM_ClearWTD()
74 {
75 1 if((IOE & (1 << 1)) == 0)
76 1 IOE |= (1 << 1); //置IOE.1为高电平
77 1 else
78 1 IOE &= (~(1 << 1)); //清除,设为0
79 1 }
80
81 /*************************************************************************************
82 Function: TM_InitWTD
83 Description: 初始化看门狗
84 Called By: ...
85 Input: N/A
86 Output: N/A
87 Return: void
88 Others:
89 *************************************************************************************/
90 void TM_InitWTD()
91 {
92 1 return ;
93 1 }
94
95
96
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 105 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 2 ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
EDATA SIZE = ---- ----
HDATA SIZE = ---- ----
XDATA CONST SIZE = ---- ----
FAR CONST SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -