main.lst
字号:
C51 COMPILER V8.02 MAIN 03/20/2008 16:13:36 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "P89v51rx2.H"
2 #include "delay.h"
3 #include "lcd.h"
4 #include "motor.h"
5 #include "io_assign.h"
6 #include "IR_sensor.h"
7
8 //-------------变量定义----------------------
9 uchar min=0,sec=0,count_T=0;
10 uchar buf_scom=0; //串口接收缓存
11 uchar height=0,angle=0; //臂高和张角
12 uchar motor_status=0;
13 uchar rolls_status=0;
14
15 //-------------函数声明----------------------
16 void key_on_off(uchar b); //按键开关
17
18 //======================主函数=========================
19 void main()
20 {
21 1 LCM1602_Init();
22 1 LCM1602_clear();
23 1 delay_ms(30);
24 1
25 1 IP0=0x10; //中断优先级设置,串行口最高
26 1 IP0H=0x10;
27 1
28 1 EA=1; //开全局中断
29 1
30 1 SCON = 0x50; //串行口工作方式1
31 1 REN=1; //允许接收
32 1 // ES=1; //串行中断允许
33 1
34 1 TMOD=0x20; //T1工作于自动装载模式
35 1 TH1=0xFD; //T1产生串口波特率9600
36 1 TL1=0xFD;
37 1 TR1=1; //启动T1
38 1
39 1 ET2=1; //使能T2
40 1 TL2=0x2B; //装载T2脉宽调速初值
41 1 TH2=0xFE;
42 1 RCAP2L=0x2B; //T2自动重装值
43 1 RCAP2H=0xFE;
44 1 T2CON=0x04; //启动T2
45 1 PWM_Init();
46 1
47 1 key_on_off(1);
48 1
49 1 // IR_head_roll_on_off(1);
50 1
51 1 while(1)
52 1 {
53 2 key_on_off(0);
54 2 delay_ms(1);
55 2 LCM1602_clear();
C51 COMPILER V8.02 MAIN 03/20/2008 16:13:36 PAGE 2
56 2 LCM1602_write_string(0,0,"L:");
57 2 num(0,2,wheelCountLeft);
58 2 LCM1602_write_string(1,0,"R:");
59 2 num(1,2,wheelCountRight);
60 2 key_on_off(1);
61 2 delay_ms(10);
62 2 if(KEY_1==0)
63 2 {
64 3 delay_ms(30);
65 3 if(KEY_1==0)
66 3 {
67 4 GO(7);
68 4 delay_ms(2000);
69 4 BACK(15);
70 4 delay_ms(2000);
71 4 GOLEFT(16);
72 4 delay_ms(2000);
73 4 GORIGHT(10);
74 4 delay_ms(2000);
75 4 GO(7);
76 4 motor_status=1;
77 4 }
78 3 }
79 2 if(KEY_2==0)
80 2 {
81 3 delay_ms(20);
82 3 if(KEY_2==0)
83 3 {
84 4 STOP(17);
85 4 delay_ms(300);
86 4 motor_status=0;
87 4 }
88 3 }
89 2 }
90 1 }
91
92 /*===================================================
93 串口中断
94 =====================================================*/
95 void scom(void) interrupt 4
96 {
97 1 if(RI)
98 1 {
99 2 RI=0;
100 2 buf_scom=SBUF; //读走数据
101 2 }
102 1 }
103
104 /****************************************
105 功能:按键开关
106 入口参数:b 1:开按键,0:关按键
107 *****************************************/
108 void key_on_off(uchar b)
109 {
110 1 if(b==1)
111 1 {
112 2 KEY_1=1;
113 2 KEY_2=1;
114 2 ADD_D0=1;
115 2 ADD_D1=0;
116 2 ADD_D2=0;
117 2 }
C51 COMPILER V8.02 MAIN 03/20/2008 16:13:36 PAGE 3
118 1 else if(b==0)
119 1 {
120 2 KEY_1=1;
121 2 KEY_2=1;
122 2 ADD_D0=0;
123 2 ADD_D1=0;
124 2 ADD_D2=0;
125 2 }
126 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1446 ----
CONSTANT SIZE = 6 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 42 10
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 + -