📄 main.lst
字号:
C51 COMPILER V8.18 MAIN 03/20/2010 16:53:38 PAGE 1
C51 COMPILER V8.18, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE source\main.c BROWSE DEBUG OBJECTEXTEND PRINT(.\main.lst) OBJECT(main.obj)
line level source
1 /***********************************************
2 * copyrite (c) 2007
3 *文件名: main.c
4 *作者: larry
5 *当前版本: v1.0
6 *建立时间: 2007-6-11 09:03
7 *完成日期: 2007-6-29 9:48
8
9 *描述: 测试A7102通讯性能(W78e52B,5V VDD,33.177M OSC)
10 ************************************************/
11 #include "../header/main.h"
12 /***********************************************
13 函 数: main()
14 功 能: 主体循环函数
15 输 入: /
16 输 出: /
17 描 述: /
18 ***********************************************/
19 void main(void)
20 {
21 1 /* 上电初始化系统 */
22 1 PowerOn_Initialisation();
23 1
24 1 while(1)
25 1 {
26 2 KeyScan();
27 2
28 2 if(flag_transimiter)
29 2 {/* 1S发射一次 */
30 3 WriteLcdCmd(0xc0); /* 设置DDRAM地址第二行 */
31 3 Delay(3);
32 3
33 3 Lcd_Display_Character(0x52);
34 3 Lcd_Display_Character(0x78);
35 3 Lcd_Display_Character(0x3a);
36 3 Lcd_Display_Character(0x20); /* Rx: */
37 3
38 3 Lcd_Display_Character(0x20);
39 3 Lcd_Display_Character(0x20);
40 3 Lcd_Display_Character(0x20);
41 3 Lcd_Display_Character(0x20);
42 3
43 3 flag_transimiter = false;
44 3 Time_second = 1000;
45 3
46 3 /* 发射A7102 */
47 3 A7102_Fifo_Write(&demo[number][0]);
48 3 A7102_Status_Transmit();
49 3
50 3 WriteLcdCmd(0x80); /* 设置DDRAM地址第一行 */
51 3 Delay(3);
52 3
53 3 Lcd_Display_Character(0x54);
54 3 Lcd_Display_Character(0x78);
55 3 Lcd_Display_Character(0x3a);
C51 COMPILER V8.18 MAIN 03/20/2010 16:53:38 PAGE 2
56 3 Lcd_Display_Character(0x20); /* Tx: */
57 3
58 3 Lcd_Display_Hex(demo[number][0]);
59 3 Lcd_Display_Hex(demo[number][1]);
60 3
61 3 /* 等待A7102发射完成 */
62 3 while(!iSPI_Irq)
63 3 {
64 4 }
65 3
66 3 /* 发射循环数组数据 */
67 3 if((++number) > 0x03)
68 3 number = 0x00;
69 3
70 3 /* 设置A7102为接收状态 */
71 3 A7102_Status_Receiver();
72 3 }
73 2
74 2 if(iSPI_Irq)
75 2 {/* 接收到数据 */
76 3 A7102_Fifo_Read(&rece_buff);
77 3 A7102_Receiver_Enable();
78 3
79 3 if(flag_clear)
80 3 {
81 4 flag_clear = false;
82 4 LcdDclear();
83 4 }
84 3
85 3 WriteLcdCmd(0xc0); /* 设置DDRAM地址第二行 */
86 3 Delay(3);
87 3
88 3 Lcd_Display_Character(0x52);
89 3 Lcd_Display_Character(0x78);
90 3 Lcd_Display_Character(0x3a);
91 3 Lcd_Display_Character(0x20); /* Rx: */
92 3
93 3 Lcd_Display_Hex(rece_buff[0]);
94 3 Lcd_Display_Hex(rece_buff[1]);
95 3
96 3 if(!flag_master)
97 3 {/* 从机则需要应答 */
98 4 A7102_Fifo_Write(&rece_buff);
99 4 A7102_Status_Transmit();
100 4 while(!iSPI_Irq)
101 4 {
102 5 }
103 4 A7102_Status_Receiver();
104 4 }
105 3 }
106 2 }
107 1 }
108 /***********************************************
109 函 数: Timer0Int
110 功 能: timer0中断函数
111 输 入: /
112 输 出: /
113 描 述: /
114 ***********************************************/
115 void Timer0Int(void) interrupt 1
116 {
117 1 TH0 = 0xF5;
C51 COMPILER V8.18 MAIN 03/20/2010 16:53:38 PAGE 3
118 1 TL0 = 0x33; // 33.177M OSC,timer0 计时1ms
119 1
120 1 if(Time_Count)
121 1 Time_Count --;
122 1
123 1 if(Time_second)
124 1 {
125 2 if((--Time_second) == 0x00)
126 2 {
127 3 flag_transimiter = true;
128 3 }
129 2 }
130 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 313 ----
CONSTANT SIZE = 12 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 7 ----
IDATA SIZE = ---- ----
BIT SIZE = 3 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -