?? main.lst
字號:
C51 COMPILER V7.50 MAIN 07/14/2008 10:33:17 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.obj
COMPILER INVOKED BY: E:\Program Files\Keil\C51\BIN\C51.EXE source\main.c BROWSE DEBUG OBJECTEXTEND PRINT(.\main.lst) OBJ
-ECT(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 ;聯系: 13510074992
9 ;E-MAIL: pjh78@163.com
10 *描述: 測試A7102通訊性能(W78e52B,5V VDD,33.177M OSC)
11 ************************************************/
12 #include "../header/main.h"
13 /***********************************************
14 函 數: main()
15 功 能: 主體循環函數
16 輸 入: /
17 輸 出: /
18 描 述: /
19 ***********************************************/
20 void main(void)
21 {
22 1 /* 上電初始化系統 */
23 1 PowerOn_Initialisation();
24 1
25 1 while(1)
26 1 {
27 2 KeyScan();
28 2
29 2 if(flag_transimiter)
30 2 {/* 1S發射一次 */
31 3 WriteLcdCmd(0xc0); /* 設置DDRAM地址第二行 */
32 3 Delay(3);
33 3
34 3 Lcd_Display_Character(0x52);
35 3 Lcd_Display_Character(0x78);
36 3 Lcd_Display_Character(0x3a);
37 3 Lcd_Display_Character(0x20); /* Rx: */
38 3
39 3 Lcd_Display_Character(0x20);
40 3 Lcd_Display_Character(0x20);
41 3 Lcd_Display_Character(0x20);
42 3 Lcd_Display_Character(0x20);
43 3
44 3 flag_transimiter = false;
45 3 Time_second = 1000;
46 3
47 3 /* 發射A7102 */
48 3 A7102_Fifo_Write(&demo[number][0]);
49 3 A7102_Status_Transmit();
50 3
51 3 WriteLcdCmd(0x80); /* 設置DDRAM地址第一行 */
52 3 Delay(3);
53 3
54 3 Lcd_Display_Character(0x54);
C51 COMPILER V7.50 MAIN 07/14/2008 10:33:17 PAGE 2
55 3 Lcd_Display_Character(0x78);
56 3 Lcd_Display_Character(0x3a);
57 3 Lcd_Display_Character(0x20); /* Tx: */
58 3
59 3 Lcd_Display_Hex(demo[number][0]);
60 3 Lcd_Display_Hex(demo[number][1]);
61 3
62 3 /* 等待A7102發射完成 */
63 3 while(!iSPI_Irq)
64 3 {
65 4 }
66 3
67 3 /* 發射循環數組數據 */
68 3 if((++number) > 0x03)
69 3 number = 0x00;
70 3
71 3 /* 設置A7102為接收狀態 */
72 3 A7102_Status_Receiver();
73 3 }
74 2
75 2 if(iSPI_Irq)
76 2 {/* 接收到數據 */
77 3 A7102_Fifo_Read(&rece_buff);
78 3 A7102_Receiver_Enable();
79 3
80 3 if(flag_clear)
81 3 {
82 4 flag_clear = false;
83 4 LcdDclear();
84 4 }
85 3
86 3 WriteLcdCmd(0xc0); /* 設置DDRAM地址第二行 */
87 3 Delay(3);
88 3
89 3 Lcd_Display_Character(0x52);
90 3 Lcd_Display_Character(0x78);
91 3 Lcd_Display_Character(0x3a);
92 3 Lcd_Display_Character(0x20); /* Rx: */
93 3
94 3 Lcd_Display_Hex(rece_buff[0]);
95 3 Lcd_Display_Hex(rece_buff[1]);
96 3
97 3 if(!flag_master)
98 3 {/* 從機則需要應答 */
99 4 A7102_Fifo_Write(&rece_buff);
100 4 A7102_Status_Transmit();
101 4 while(!iSPI_Irq)
102 4 {
103 5 }
104 4 A7102_Status_Receiver();
105 4 }
106 3 }
107 2 }
108 1 }
109 /***********************************************
110 函 數: Timer0Int
111 功 能: timer0中斷函數
112 輸 入: /
113 輸 出: /
114 描 述: /
115 ***********************************************/
116 void Timer0Int(void) interrupt 1
C51 COMPILER V7.50 MAIN 07/14/2008 10:33:17 PAGE 3
117 {
118 1 TH0 = 0xF5;
119 1 TL0 = 0x33; // 33.177M OSC,timer0 計時1ms
120 1
121 1 if(Time_Count)
122 1 Time_Count --;
123 1
124 1 if(Time_second)
125 1 {
126 2 if((--Time_second) == 0x00)
127 2 {
128 3 flag_transimiter = true;
129 3 }
130 2 }
131 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 + -