main.lst
来自「香港科大机器人资料 单片机相关知识」· LST 代码 · 共 149 行
LST
149 行
C51 COMPILER V8.02 MAIN 03/20/2008 15:06:14 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
13 //-------------函数声明----------------------
14 void key_on_off(uchar b); //按键开关
15
16 //======================主函数=========================
17 void main()
18 {
19 1 LCM1602_Init();
20 1 LCM1602_clear();
21 1 LCM1602_write_string(0,5,"scut");
22 1 LCM1602_write_string(1,3,"2008/3/11");
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
46 1 PWM_Init();
47 1 key_on_off(1);
48 1 SENSOR_TRG=0;
49 1
50 1 while(1)
51 1 {
52 2 if(KEY_1==0)
53 2 {
54 3 delay_ms(50);
55 3 if(KEY_1==0)
C51 COMPILER V8.02 MAIN 03/20/2008 15:06:14 PAGE 2
56 3 {
57 4 nip(30);
58 4 delay_ms(2000);
59 4 nip(1);
60 4 delay_ms(3000);
61 4 lift(80);
62 4 delay_ms(3000);
63 4 }
64 3 }
65 2 if(KEY_2==0)
66 2 {
67 3 delay_ms(50);
68 3 if(KEY_2==0)
69 3 {
70 4 lift(0);
71 4 delay_ms(3000);
72 4 nip(30);
73 4 delay_ms(2000);
74 4 nip(0);
75 4 }
76 3 }
77 2 if(buf_scom)
78 2 {
79 3 delay_ms(30);
80 3 lift(buf_scom);
81 3 delay_ms(3000);
82 3 buf_scom=0;
83 3 }
84 2 }
85 1 }
86
87 /*===================================================
88 串口中断
89 =====================================================*/
90 void scom(void) interrupt 4
91 {
92 1 if(RI)
93 1 {
94 2 RI=0;
95 2 buf_scom=SBUF; //读走数据
96 2 }
97 1 }
98
99 /****************************************
100 功能:按键开关
101 入口参数:b 1:开按键,0:关按键
102 *****************************************/
103 void key_on_off(uchar b)
104 {
105 1 if(b==1)
106 1 {
107 2 KEY_1=1;
108 2 KEY_2=1;
109 2 ADD_D0=1;
110 2 ADD_D1=0;
111 2 ADD_D2=0;
112 2 }
113 1 else if(b==0)
114 1 {
115 2 KEY_1=1;
116 2 KEY_2=1;
117 2 ADD_D0=0;
C51 COMPILER V8.02 MAIN 03/20/2008 15:06:14 PAGE 3
118 2 ADD_D1=0;
119 2 ADD_D2=0;
120 2 }
121 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1284 ----
CONSTANT SIZE = 15 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 34 8
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?