📄 7279.lst
字号:
C51 COMPILER V8.02 7279 12/03/2007 20:50:56 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE 7279
OBJECT MODULE PLACED IN D:\将要制~1\单片机~2\高级\7279\7279.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE D:\将要制~1\单片机~2\高级\7279\7279.C DB SB OE OT(0)
line level source
1 /*******************************
2 模块名称:7279显示
3 创建人: 田本武 修改人: 田本武 修改时间:2007-10-16
4 功能描述:键盘显示管理
5 版本号: 2.0版本
6 ********************************/
7 #include "reg51.h "
8 #define uchar unsigned char
9 #define uint unsigned int
10 /******************
11 函数声明
12 *****************/
13 void long_delay(void); //长延时
14 void short_delay(void);//短延时
15 void write7279_byte(uchar ,uchar );//写7279
16 void send_byte(uchar);//发送一字节
17 //uchar receive_byte(void);//接收一字节
18 void HD7279_LongDelay(void); //长延时函数
19 void HD7279_ShortDelay(void); //短延时函数
20
21
22 /************************
23 I/O 定义
24 ************************/
25 sbit key_7279=P2^0;
26 sbit da_7279=P3^7;
27 sbit clk_7279=P3^3;
28 sbit A_74138=P2^4;
29 sbit B_74138=P2^3;
30 sbit C_74138=P2^2;
31 /************************
32 定义全局变量
33 ***********************/
34 uchar key=0;
35 /****************************
36 显示数组
37 ****************************/
38 uchar code disp[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};
39 /*************************
40 7279指令定义
41 **************************/
42 #define readkey 0x15 //读键值指令
43 #define reset 0xa4 //复位指令
44 #define try 0xbf //测试指令
45 #define decode1 0xc8 //方式1译码
46
47 /************************
48 函数名: HD7279_LongDelay
49 功能描述:长延时函数
50 *************************/
51 void HD7279_LongDelay(void)
52 {
53 1 unsigned char i;
54 1 for (i=0;i<6;i++);
55 1 }
C51 COMPILER V8.02 7279 12/03/2007 20:50:56 PAGE 2
56
57 /************************
58 函数名: HD7279_shortDelay
59 功能描述:长延时函数
60 *************************/
61 void HD7279_ShortDelay(void)
62 {;}
63
64
65 /************************
66 函数名: send_byte
67 功能描述:向7279中写入一个字节的数据
68 函数说明:
69 调用函数:
70 全局变量:
71 输入: k
72 输出: 无
73 返回: 无
74
75 *************************/
76 void send_byte(uchar k)
77 {
78 1 uchar i,j;
79 1 A_74138=0;
80 1 B_74138=0;
81 1 C_74138=1;
82 1 clk_7279=0;
83 1
84 1 HD7279_LongDelay();
85 1
86 1 for(i=0;i<8;i++) //产生8个脉冲
87 1 {
88 2 da_7279=(bit)(0x80&k);//十进制数转化成位数据
89 2 clk_7279=1;
90 2 HD7279_ShortDelay();
91 2 k=k<<1;
92 2 clk_7279=0 ;
93 2 HD7279_ShortDelay();
94 2
95 2 }
96 1 da_7279=0;
97 1 }
*** WARNING C280 IN LINE 78 OF D:\将要制~1\单片机~2\高级\7279\7279.C: 'j': unreferenced local variable
98
99 /************************
100 函数名: write_byte
101 功能描述:向7279中写入两个字节的数据
102 函数说明:
103 调用函数:send_byte()
104 全局变量:
105 输入: comd dta
106 输出: 无
107 返回: 无
108
109 *************************/
110 void write7279_byte(uchar comod ,uchar dta)
111 { send_byte(comod);
112 1 send_byte(dta);
113 1 }
114
115 /************************
116 函数名: receive()
C51 COMPILER V8.02 7279 12/03/2007 20:50:56 PAGE 3
117 功能描述: 接受从7279传回的按键值
118
119 *************************/
120 uchar receive()
121 {uchar i,in_byte;
122 1 da_7279=1;
123 1 for(i=0;i<8;i++)
124 1 { clk_7279=1;
125 2 HD7279_ShortDelay();
126 2 in_byte<<=1;//初始值是0
127 2
128 2 if(da_7279)
129 2 {in_byte|=0x01;}
130 2
131 2 clk_7279=0;
132 2 HD7279_ShortDelay();
133 2 }
134 1 da_7279=0;
135 1 return(in_byte);
136 1
137 1 }
138 /************************
139 函数名: read7279()
140 功能描述:从7279中读出键盘值
141 函数说明:
142 调用函数: send_byte(); receive();
143 全局变量:
144 输入: k
145 输出: 无
146 返回: 键值
147
148 *************************/
149 uchar read7279(uchar k)
150 {send_byte(k);
151 1 return(receive());
152 1 }
153
154 void main(void)
155 {uchar t,num;
156 1 uchar *p;
157 1 p=disp;
158 1 send_byte(reset); //7279复位
159 1
160 1
161 1 //send_byte(try);//测试7279,调试用
162 1 //while(1);
163 1
164 1 //write7279_byte(decode1,0x00);
165 1
166 1 while(1)
167 1 {
168 2 if(!key_7279)
169 2 {
170 3 if(key<8)
171 3 goto loop;
172 3 else key=0;
173 3 loop:num=read7279(readkey);
174 3 write7279_byte(decode1+key,num);
175 3 key++; //修改
176 3 while(!key_7279);
177 3 }
178 2 }
C51 COMPILER V8.02 7279 12/03/2007 20:50:56 PAGE 4
179 1 while(1);
180 1 for(t=0;t<8;t++)
181 1 {
182 2 write7279_byte(decode1+t,disp+t);
*** WARNING C214 IN LINE 182 OF D:\将要制~1\单片机~2\高级\7279\7279.C: 'Argument': conversion: pointer to non-pointer
183 2 }
184 1
185 1 }
186
187
188
189
190
191
C51 COMPILER V8.02 7279 12/03/2007 20:50:56 PAGE 5
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
da_7279. . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
_write7279_byte. . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
comod. . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
dta. . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
key_7279 . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A0H 1
_send_byte . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
k. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
i. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
j. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0002H 1
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
t. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
num. . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
p. . . . . . . . . . . . . . . . . . AUTO DATA PTR 0002H 3
loop . . . . . . . . . . . . . . . . LABEL CODE LABEL ----- -----
A_74138. . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A4H 1
B_74138. . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A3H 1
C_74138. . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A2H 1
disp . . . . . . . . . . . . . . . . . PUBLIC CODE ARRAY 0000H 8
key. . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0000H 1
HD7279_LongDelay . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
HD7279_ShortDelay. . . . . . . . . . . PUBLIC CODE PROC 0000H -----
_read7279. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
k. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
receive. . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
in_byte. . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
clk_7279 . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 235 ----
CONSTANT SIZE = 8 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 15 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 2 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -