📄 time_module.lst
字号:
C51 COMPILER V7.20 TIME_MODULE 09/15/2005 21:50:11 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE TIME_MODULE
OBJECT MODULE PLACED IN time_module.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe time_module.c DB OE SMALL ROM(LARGE)
line level source
1 /************************************************************************
2 * 广州周立功单片机发展有限公司 http://www.zlgmcu.com *
3 ************************************************************************/
4 /************************************************************************
5 * *
6 * 系统定时、软件延时处理程序 *
7 * *
8 ************************************************************************/
9
10
11 #include <P8XC5X2.H>
*** WARNING C318 IN LINE 11 OF time_module.c: can't open file 'P8XC5X2.H'
12
13 //数据类型定义
14 #define uchar unsigned char
15 #define ulong unsigned long
16 #define uint unsigned int
17
18 //利用T0定时器以实现精确的延时
19 #define Crystal 11059200L //定义晶体频率11.592MHZ
20 #define Base_50us 256-46 //50us溢出时间基准
21 uint data Tcounter; //基准时间计数器
22 bit T0IR; //T0中断标志
23
24 void Delay_50us(uint _time); //延时函数,非中断方式,延时时间基准50us
25 void TimeOut_Start(uint _time50us); //开始时间溢出,中断方式,时间基准50us
26 void TimeOut_Stop(void); //停止时间溢出定时
27
28 /*-------------------------------------------------------------------------------------------
29 定时器0中断函数 、用以实现定时功能
30 -------------------------------------------------------------------------------------------*/
31 void T0_Val(void) interrupt 1 using 2
32 {
33 1 Tcounter--;
34 1 if(Tcounter == 0)
35 1 {
36 2 T0IR = 1; //时间定时到,置位标志
37 2 TR0 = 0;
*** ERROR C202 IN LINE 37 OF TIME_MODULE.C: 'TR0': undefined identifier
38 2 }
39 1
40 1 }
41
42
43 /*-------------------------------------------------------------------------------------------
44 函数原型: void Delay_50us(uint _time50us)
45 参数说明: _time50us延时时间基准单位为50us 的个数
46 返回值: 无
47 说明: 用于系统时间定时
48 -------------------------------------------------------------------------------------------*/
49 void Delay_50us(uint _time50us)
50 { uint TempCount;
51 1 TempCount = _time50us;
52 1 TMOD |= 0x02; //T0,初值自动重装
*** ERROR C202 IN LINE 52 OF TIME_MODULE.C: 'TMOD': undefined identifier
C51 COMPILER V7.20 TIME_MODULE 09/15/2005 21:50:11 PAGE 2
53 1 TH0 = Base_50us; //设置定时初值
*** ERROR C202 IN LINE 53 OF TIME_MODULE.C: 'TH0': undefined identifier
54 1 TL0 = Base_50us;
*** ERROR C202 IN LINE 54 OF TIME_MODULE.C: 'TL0': undefined identifier
55 1 ET0 = 0; //禁止T0中断
*** ERROR C202 IN LINE 55 OF TIME_MODULE.C: 'ET0': undefined identifier
56 1 TR0 = 1; //计时开始
*** ERROR C202 IN LINE 56 OF TIME_MODULE.C: 'TR0': undefined identifier
57 1 while( TempCount--)
58 1 {
59 2 while(!TF0);TF0 = 0; //等待
*** ERROR C202 IN LINE 59 OF TIME_MODULE.C: 'TF0': undefined identifier
*** ERROR C202 IN LINE 59 OF TIME_MODULE.C: 'TF0': undefined identifier
60 2 }
61 1 TR0 = 0;
*** ERROR C202 IN LINE 61 OF TIME_MODULE.C: 'TR0': undefined identifier
62 1 }
63
64 /*-------------------------------------------------------------------------------------------
65 函数原型: void TimeOut_Start(uint _time)
66 参数说明: _time 定时时间基准单位为50us 的个数
67 返回值: 无
68 说明: 用于系统时间延时
69 -------------------------------------------------------------------------------------------*/
70 void TimeOut_Start(uint _time)
71 {
72 1 Tcounter = _time;
73 1 TMOD |= 0x02; //T0,初值自动重装
*** ERROR C202 IN LINE 73 OF TIME_MODULE.C: 'TMOD': undefined identifier
74 1 TH0 = Base_50us; //设置定时初值
*** ERROR C202 IN LINE 74 OF TIME_MODULE.C: 'TH0': undefined identifier
75 1 TL0 = Base_50us;
*** ERROR C202 IN LINE 75 OF TIME_MODULE.C: 'TL0': undefined identifier
76 1 T0IR = 0; //清除中断T0标志
77 1 ET0 = 1; //使能T0中断
*** ERROR C202 IN LINE 77 OF TIME_MODULE.C: 'ET0': undefined identifier
78 1 EA = 1;
*** ERROR C202 IN LINE 78 OF TIME_MODULE.C: 'EA': undefined identifier
79 1 TR0 = 1; //计时开始
*** ERROR C202 IN LINE 79 OF TIME_MODULE.C: 'TR0': undefined identifier
80 1 }
81 /*
82
83 void TimeOut_Stop(void)
84 {
85 Tcounter=0;
86 ET0 = 0;
87 TR0 = 0;
88 }
89
90 */
91
C51 COMPILATION COMPLETE. 1 WARNING(S), 15 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -