?? rs485.lst
字號:
C51 COMPILER V7.06 RS485 07/04/2003 09:48:45 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE RS485
OBJECT MODULE PLACED IN rs485.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE rs485.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /****************************************Copyright (c)**************************************************
2 ** 廣州周立功單片機發展有限公司
3 ** 研 究 所
4 ** 產品一部
5 **
6 ** http://www.zlgmcu.com
7 **
8 **--------------文件信息--------------------------------------------------------------------------------
9 **文 件 名: PCF8563.C
10 **創 建 人: 葉皓賁
11 **最后修改日期: 2003-3-4
12 **描 述: DP-1581的8563T及7289a鍵盤LED演示程序
13 **
14 **--------------歷史版本信息----------------------------------------------------------------------------
15 ** 創建人: 葉皓賁
16 ** 版 本: 1.0
17 ** 日 期: 2003-3-4
18 ** 描 述: DP-1581演示程序
19 **
20 **------------------------------------------------------------------------------------------------------
21 ** 修改人:
22 ** 版 本:
23 ** 日 期:
24 ** 描 述:
25 **
26 **--------------當前版本修訂------------------------------------------------------------------------------
27 ** 修改人:
28 ** 日 期:
29 ** 描 述:
30 **
31 **------------------------------------------------------------------------------------------------------
32 ********************************************************************************************************/
33 #include "REG52.h"
34 #include <intrins.h>
35 #include <absacc.h>
36 #include "VIIC_C51.h"
37 #include "ZLG7290.h"
38
39 sbit KEY_INT=P3^2;
40 sbit RS485_RE=P1^5;
41
42 bit rec_data;
43
44 unsigned char rec_temp=1;
45
46 /* 全局變量 */
47
48 unsigned char disp_buf[8]={0,0,0,0,0,0,0,0};
49
50 /*********************************************************************************************************
51 ** 函數名稱: display
52 ** 功能描述: 7298A led顯示
53 ** 輸 入: *sd : 顯示緩沖區的頭地址
54 **
55 ** 輸 出: 0 : OK;
C51 COMPILER V7.06 RS485 07/04/2003 09:48:45 PAGE 2
56 ** 1 : FAIL;
57 ** 全局變量: 無
58 ** 調用模塊: ZLG7289_SendBuf
59 **
60 ** 作 者: 葉皓賁
61 ** 日 期: 2003-3-4
62 **-------------------------------------------------------------------------------------------------------
63 ** 修改人:
64 ** 日 期:
65 **------------------------------------------------------------------------------------------------------
66 ********************************************************************************************************/
67 unsigned char display_send(unsigned char sd)
68 {
69 1 disp_buf[0] = sd; // 裝載" dp-932"
70 1 disp_buf[1] = 31;
71 1 disp_buf[2] = 0x1E;
72 1 disp_buf[3] = 0x0e;
73 1 disp_buf[4] = 0x05;
74 1 disp_buf[5] = 31;
75 1 disp_buf[6] = 31;
76 1 disp_buf[7] = 31;
77 1 ZLG7290_SendBuf(disp_buf,8);
78 1 return 0;
79 1 }
80 unsigned char display_rec(unsigned char sd)
81 {
82 1 disp_buf[0] = sd; // 裝載" dp-932"
83 1 disp_buf[1] = 31;
84 1 disp_buf[2] = 0x0c;
85 1 disp_buf[3] = 0x0e;
86 1 disp_buf[4] = 0x18;
87 1 disp_buf[5] = 31;
88 1 disp_buf[6] = 31;
89 1 disp_buf[7] = 31;
90 1 ZLG7290_SendBuf(disp_buf,8);
91 1 return 0;
92 1 }
93 /*********************************************************************************************************
94 ** 函數名稱: DelayNS
95 ** 功能描述: 長軟件延時
96 ** 輸 入: no : 延時參數,值越大時延時越久
97 **
98 ** 輸 出: 0 : OK;
99 ** 1 : FAIL;
100 ** 全局變量: 無
101 ** 調用模塊: 無
102 **
103 ** 作 者: 葉皓賁
104 ** 日 期: 2003-3-4
105 **-------------------------------------------------------------------------------------------------------
106 ** 修改人:
107 ** 日 期:
108 **------------------------------------------------------------------------------------------------------
109 ********************************************************************************************************/
110 unsigned char DelayNS(unsigned char no)
111 {
112 1 unsigned char i,j; //延時參數
113 1
114 1 for(; no>0; no--)
115 1 {
116 2 for(i=0; i<100; i++)
117 2 for(j=0; j<100; j++);
C51 COMPILER V7.06 RS485 07/04/2003 09:48:45 PAGE 3
118 2 }
119 1 return 0;
120 1 }
121
122 /*********************************************************************************************************
123 ** 函數名稱: delay
124 ** 功能描述: 短軟件延時
125 ** 輸 入: j : 延時參數,值越大時延時越久
126 **
127 ** 輸 出: 0 : OK;
128 ** 1 : FAIL;
129 ** 全局變量: 無
130 ** 調用模塊: 無
131 **
132 ** 作 者: 葉皓賁
133 ** 日 期: 2003-3-4
134 **-------------------------------------------------------------------------------------------------------
135 ** 修改人:
136 ** 日 期:
137 **------------------------------------------------------------------------------------------------------
138 ********************************************************************************************************/
139 unsigned char delay(unsigned char j)
140 {
141 1 unsigned char k,l;
142 1 for(l=0;l<=j;l++)
143 1 for(k=0;k<=250;k++);
144 1 return 0;
145 1 }
146
147
148 void main()
149 {
150 1 unsigned char key;
151 1 rec_data=0;
152 1
153 1 //====設置波特率===================
154 1 delay(100);
155 1 TMOD = 0X20;
156 1 SCON=0X50;
157 1 TH1=0XFA;
158 1 TL1=0XFA;
159 1 PCON=0X80;
160 1 TR1=1;
161 1 EA=1;
162 1 ES=1;
163 1
164 1 RS485_RE=0;
165 1
166 1 while(1)
167 1 {
168 2 if(KEY_INT==0)
169 2 {
170 3 key=ZLG7290_GetKey();
171 3 delay(20);
172 3 display_send(key);
173 3 RS485_RE=1;
174 3 SBUF=key;
175 3 delay(30);
176 3 }
177 2 if(rec_data)
178 2 {
179 3 rec_data=0;
C51 COMPILER V7.06 RS485 07/04/2003 09:48:45 PAGE 4
180 3 display_rec(rec_temp);
181 3 delay(20);
182 3 }
183 2
184 2 }
185 1 }
186
187 void Serial_ISR() interrupt 4
188 {
189 1 if(TI)
190 1 {
191 2 TI=0;
192 2 RS485_RE=0;
193 2 }
194 1 else
195 1 {
196 2 RI=0;
197 2 rec_data=1;
198 2 rec_temp=SBUF;
199 2 }
200 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 211 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 9 1
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -