?? stepmotor.lst
字號:
C51 COMPILER V8.02 STEPMOTOR 06/25/2008 01:21:26 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE STEPMOTOR
OBJECT MODULE PLACED IN stepmotor.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE stepmotor.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /////////////////////////////////////
2 // Generated Initialization File //
3 /////////////////////////////////////
4
5 #include "C8051F120.h"
6 #define T1 1843
7 #define T2 3000
8 #define T3 1843
9 #define T4 922
10 sbit p = P3 ^ 3; //平移電機脈沖
11 sbit eud = P3 ^ 7; //升降電機使能
12 sbit p1 = P3 ^ 2; //升降電機脈沖
13 sbit elr = P3 ^ 5; //平移電機使能
14 char a = 0; //標志位
15 char b = 0;
16 char c = 0;
17 char d = 0;
18 // Peripheral specific initialization functions,
19 // Called from the Init_Device() function
20 void Reset_Sources_Init()
21 {
22 1 WDTCN = 0xDE;
23 1 WDTCN = 0xAD;
24 1 }
25
26 void Port_IO_Init()
27 {
28 1 // P0.0 - TX0 (UART0), Open-Drain, Digital
29 1 // P0.1 - RX0 (UART0), Open-Drain, Digital
30 1 // P0.2 - TX1 (UART1), Open-Drain, Digital
31 1 // P0.3 - RX1 (UART1), Open-Drain, Digital
32 1 // P0.4 - Unassigned, Open-Drain, Digital
33 1 // P0.5 - Unassigned, Open-Drain, Digital
34 1 // P0.6 - Unassigned, Open-Drain, Digital
35 1 // P0.7 - Unassigned, Open-Drain, Digital
36 1
37 1 // P1.0 - Unassigned, Open-Drain, Digital
38 1 // P1.1 - Unassigned, Open-Drain, Digital
39 1 // P1.2 - Unassigned, Open-Drain, Digital
40 1 // P1.3 - Unassigned, Open-Drain, Digital
41 1 // P1.4 - Unassigned, Open-Drain, Digital
42 1 // P1.5 - Unassigned, Open-Drain, Digital
43 1 // P1.6 - Unassigned, Open-Drain, Digital
44 1 // P1.7 - Unassigned, Open-Drain, Digital
45 1
46 1 // P2.0 - Unassigned, Open-Drain, Digital
47 1 // P2.1 - Unassigned, Open-Drain, Digital
48 1 // P2.2 - Unassigned, Open-Drain, Digital
49 1 // P2.3 - Unassigned, Open-Drain, Digital
50 1 // P2.4 - Unassigned, Open-Drain, Digital
51 1 // P2.5 - Unassigned, Open-Drain, Digital
52 1 // P2.6 - Unassigned, Open-Drain, Digital
53 1 // P2.7 - Unassigned, Open-Drain, Digital
54 1
55 1 // P3.0 - Unassigned, Push-Pull, Digital
C51 COMPILER V8.02 STEPMOTOR 06/25/2008 01:21:26 PAGE 2
56 1 // P3.1 - Unassigned, Push-Pull, Digital
57 1 // P3.2 - Unassigned, Push-Pull, Digital
58 1 // P3.3 - Unassigned, Push-Pull, Digital
59 1 // P3.4 - Unassigned, Push-Pull, Digital
60 1 // P3.5 - Unassigned, Push-Pull, Digital
61 1 // P3.6 - Unassigned, Push-Pull, Digital
62 1 // P3.7 - Unassigned, Push-Pull, Digital
63 1
64 1 SFRPAGE = CONFIG_PAGE;
65 1 P3MDOUT = 0xFF;
66 1 P4MDOUT = 0xFF;
67 1 P5MDOUT = 0xFF;
68 1 P6MDOUT = 0xFF;
69 1 P7MDOUT = 0xFF;
70 1 XBR0 = 0x04;
71 1 XBR2 = 0x44;
72 1 }
73
74 void Oscillator_Init()
75 {
76 1 int i = 0;
77 1 SFRPAGE = CONFIG_PAGE;
78 1 OSCXCN = 0x67;
79 1 for (i = 0; i < 3000; i++); // Wait 1ms for initialization
80 1 while ((OSCXCN & 0x80) == 0);
81 1 CLKSEL = 0x01;
82 1
83 1 }
84
85 // Initialization function for device,
86 // Call Init_Device() from your main program
87 void Init_Device(void)
88 {
89 1 Reset_Sources_Init();
90 1 Port_IO_Init();
91 1 Oscillator_Init();
92 1 eud = 0;
93 1 elr = 0;
94 1 }
95
96 /******************************************************************************
97 函數:Timer0Isr
98 描述:定時器3中斷服務程序,Timer0
99 參數:無
100 返回:無
101 ******************************************************************************/
102 void Timer0Isr (void) interrupt 1 using 1
103 { p = !p;
104 1 p1 = !p1;
105 1 if(a == 1)
106 1 { TH0 = -T1/256;
107 2 TL0 = -T1%256;
108 2 }
109 1 else if(b == 1)
110 1 { TH0 = -T2/256;
111 2 TL0 = -T2%256;
112 2 }
113 1 else if(c == 1)
114 1 { TH0 = -T3/256;
115 2 TL0 = -T3%256;
116 2 }
117 1 else if(d == 1)
C51 COMPILER V8.02 STEPMOTOR 06/25/2008 01:21:26 PAGE 3
118 1 { TH0 = -T4/256;
119 2 TL0 = -T4%256;
120 2 }
121 1 }
122 /* void delay(long t)
123 {
124 for(;t>=0;t--);
125
126 } */
127 void pulse(void)
128 { p = 0;
129 1 p1 = 0;
130 1 SFRPAGE = TIMER01_PAGE;
131 1 TMOD|= 0x01; //TMOD: timer 0, mode 1, 16-bit timer
132 1 TH0 = -T1/256; //Timer0 TH0 high byte reload initial value
133 1 TL0 = -T1%256; //Timer0 TL0 low byte write initial value(1ms)
134 1 EA = 1;
135 1 ET0 = 1; //Timer0 Interrupt enable(IE.1)
136 1 TR0 = 1;
137 1
138 1 }
139
140 main()
141 { Init_Device();
142 1 pulse();
143 1 c = 1;
144 1 eud = 1;
145 1 elr = 1;
146 1 while(1);
147 1 }
148
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 170 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -