main.lst
来自「香港科大机器人资料 单片机相关知识」· LST 代码 · 共 139 行
LST
139 行
C51 COMPILER V8.02 MAIN 03/20/2008 15:12:19 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,2,"xieqianli");
22 1 delay_ms(30);
23 1
24 1 IP0=0x10; //中断优先级设置,串行口最高
25 1 IP0H=0x10;
26 1
27 1 EA=1; //开全局中断
28 1
29 1 SCON = 0x50; //串行口工作方式1
30 1 REN=1; //允许接收
31 1 // ES=1; //串行中断允许
32 1
33 1 TMOD=0x20; //T1工作于自动装载模式
34 1 TH1=0xFD; //T1产生串口波特率9600
35 1 TL1=0xFD;
36 1 TR1=1; //启动T1
37 1
38 1 ET2=1; //使能T2
39 1 TL2=0x2B; //装载T2脉宽调速初值
40 1 TH2=0xFE;
41 1 RCAP2L=0x2B; //T2自动重装值
42 1 RCAP2H=0xFE;
43 1 // T2CON=0x04; //启动T2
44 1 // PWM_Init();
45 1
46 1 CCAPM1=0;
47 1
48 1 while(1)
49 1 {
50 2 // get_IR_front();
51 2 get_IR_back();
52 2
53 2 LCM1602_clear();
54 2
55 2 num(0,0,IR_front_d[1]);
C51 COMPILER V8.02 MAIN 03/20/2008 15:12:19 PAGE 2
56 2 num(0,2,IR_front_d[2]);
57 2 num(0,4,IR_front_d[3]);
58 2 num(0,6,IR_front_d[4]);
59 2 num(0,8,IR_front_d[5]);
60 2 num(0,10,IR_front_d[6]);
61 2 num(0,12,IR_front_d[7]);
62 2 num(0,14,IR_front_d[8]);
63 2
64 2 num(1,0,IR_back_d[1]);
65 2 num(1,2,IR_back_d[2]);
66 2 num(1,4,IR_back_d[3]);
67 2 num(1,6,IR_back_d[4]);
68 2 num(1,8,IR_back_d[5]);
69 2 num(1,10,IR_back_d[6]);
70 2 num(1,12,IR_back_d[7]);
71 2 num(1,14,IR_back_d[8]);
72 2
73 2 delay_ms(100);
74 2 }
75 1 }
76
77 /*===================================================
78 串口中断
79 =====================================================*/
80 void scom(void) interrupt 4
81 {
82 1 if(RI)
83 1 {
84 2 RI=0;
85 2 buf_scom=SBUF; //读走数据
86 2 }
87 1 }
88
89 /****************************************
90 功能:按键开关
91 入口参数:b 1:开按键,0:关按键
92 *****************************************/
93 void key_on_off(uchar b)
94 {
95 1 if(b==1)
96 1 {
97 2 KEY_1=1;
98 2 KEY_2=1;
99 2 ADD_D0=1;
100 2 ADD_D1=0;
101 2 ADD_D2=0;
102 2 }
103 1 else if(b==0)
104 1 {
105 2 KEY_1=1;
106 2 KEY_2=1;
107 2 ADD_D0=0;
108 2 ADD_D1=0;
109 2 ADD_D2=0;
110 2 }
111 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1362 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
C51 COMPILER V8.02 MAIN 03/20/2008 15:12:19 PAGE 3
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 + -
显示快捷键?