📄 main.lst
字号:
C51 COMPILER V8.08 MAIN 04/11/2009 12:53:56 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\Out\Main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SourceFile\Main.c BROWSE DEFINE(_HW02_) DEBUG OBJECTEXTEND PRINT(.\Lst\Main
-.lst) OBJECT(.\Out\Main.obj)
line level source
1 //**
2 #include "Main.h"
3
4
5 //12/11.0592M = 1.0850694us
6 //46080*1.0850695 = 50000.00256us = 50.00000256ms
7 // = 50ms
8 //18432*1.0850695 = 20ms
9 //
10 //
11 // 12/12M = 1.0us
12 // 50000*1.0 = 50000us = 50ms
13 // 50ms * 20(count) = 1sec
14 // Div 120
15 // 12/30M = 0.4us
16 // 50000*0.4 = 20000us = 20ms
17 // 20ms * 50(count) = 1sec
18 // Div 4
19 // 4/30M = 0.133us
20 // 50000*0.133 = 6650us = 6.65ms
21 // 6.65ms * 150(count) = 1sec
22
23 //#define __DEBUG_UART_OUTPUT_DEBUG_
24
25 //BYTE bdata g_bFlag[8] _at_ 0x20;
26 //sbit g_bfInterfaceOpen = g_bFlag[0]^0;
27 //BYTE bdata g_bfKeyStatus _at_ 0x20;
28
29
30 /////////////////////////////////////////////////////////////////////////////
31 // Variable
32 #ifdef _HW01_
//BYTE bdata g_bfKeyStatus _at_ 0x20;
BYTE bdata g_bfCurrentMode;
//BYTE bdata g_bfLcdStatus _at_ 0x22;
BYTE data g_bSYS_MODE; //sbit MODE_CLOCK = g_bfCurrentMode^0;
BYTE data g_bTimeOut;
BYTE data g_bOutputH, g_bOutputL;
WORD data g_wTimerCount;
#endif
41
42 #ifdef _HW02_
43 WORD data g_wTimerCount;
44 BYTE data g_bfOneSec;
45
46 typedef union
47 {
48 BYTE baBD[4];
49 // DWORD dwValue;
50 struct
51 {
52 WORD wH;
53 WORD wL;
54 }tw;
C51 COMPILER V8.08 MAIN 04/11/2009 12:53:56 PAGE 2
55 struct
56 {
57 BYTE bX;
58 BYTE bO;
59 BYTE bH;
60 BYTE bL;
61
62 }tb;
63 }USTFREQ;
64 USTFREQ data g_dwFreq;
65 #endif
66
67 #ifdef _HW03_
//BYTE bdata g_bfKeyStatus _at_ 0x20;
BYTE bdata g_bfCurrentMode;
//BYTE bdata g_bfLcdStatus _at_ 0x22;
BYTE data g_bSYS_MODE; //sbit MODE_CLOCK = g_bfCurrentMode^0;
BYTE data g_bTimeOut;
BYTE data g_bOutputH, g_bOutputL;
WORD data g_wTimerCount;
#endif
76
77
78 /////////////////////////////////////////////////////////////////////////////
79 // Main.c
80
81 void fnDelay1ms(int count)
82 {
83 1 int i,j;
84 1
85 1 for(i=0;i<count;i++)
86 1 for(j=0;j<122;j++);
87 1 }
88
89 /*
90 void fnDelay100ms()
91 {
92 unsigned char i,j,k;
93 for(i=5;i>0;i--)
94 for(j=132;j>0;j--)
95 for(k=150;k>0;k--);
96 }
97
98
99 void fnDelay200ms()
100 {
101 unsigned char i,j,k;
102 for(i=5;i>0;i--)
103 for(j=132;j>0;j--)
104 for(k=150;k>0;k--);
105 }
106
107
108 void fnDelay500ms()
109 {
110 unsigned char i,j,k;
111 for(i=15;i>0;i--)
112 for(j=202;j>0;j--)
113 for(k=81;k>0;k--);
114 }
115
116
C51 COMPILER V8.08 MAIN 04/11/2009 12:53:56 PAGE 3
117 void fnDelay1000ms()
118 {
119 unsigned char h,i,j,k;
120 for(h=5;h>0;h--)
121 for(i=4;i>0;i--)
122 for(j=116;j>0;j--)
123 for(k=214;k>0;k--);
124 }
125
126
127 void fnFlashLED(BYTE bLed, BYTE bCount)
128 {
129 while (bCount-- > 0)
130 {
131 P1 = bLed;
132 fnDelay1ms(500);
133 P1 = 0;
134 fnDelay1ms(500);
135 }
136 }
137 */
138
139 /////////////////////////////////////////////////////////////////////////////
140 // Initial
141 void InitPort(void)
142 {
143 1 P0 = 0xFF;
144 1 P1 = 0xFF;
145 1 P2 = 0xFF;
146 1 P3 = 0xFF;
147 1 }
148
149
150 void InitInterrupt(void)
151 {
152 1 IT0 = 0; //
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -