📄 c8279s.lst
字号:
C51 COMPILER V8.02 C8279S 07/29/2008 15:33:51 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE C8279S
OBJECT MODULE PLACED IN c8279s.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE c8279s.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #include<absacc.h>
3
4 #define COM XBYTE[0xdfff] //命令口
5 #define DAT XBYTE[0xdffe] //数据口
6
7 #define uchar unsigned char
8
9 uchar code table[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
10 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71
11 };
12
13 uchar idata diss[6]={0,1,2,3,4,5};
14
15 sbit clflag=ACC^7;
16 uchar keyin();
17 uchar deky();
18 void disp(uchar idata*d);
19
20 void disp(uchar idata*d)
21 {
22 1 uchar i;
23 1 for(i=0;i<6;i++)
24 1 {
25 2 COM=i+0x80;
26 2 DAT=table[*d];
27 2 d++;
28 2 }
29 1 }
30
31
32 uchar keyin(void) //取键值函数
33 {
34 1 uchar i;
35 1 while(deky()==0); //无键按下等待
36 1 COM=0x40; //读FIFORAM 命令
37 1 i=DAT;i=i&0x3f; //取键盘数据低6位
38 1 return (i);
39 1 }
40
41 uchar deky(void) //判FIFO有键按下命令
42 {
43 1 uchar k;
44 1 k=COM;
45 1 return(k&0x0f); //非0 有键按下
46 1 }
47
48 void main(void)
49 {
50 1 uchar i;
51 1 COM=0xd1; //总清除命令
52 1 do{ACC=COM;}while(clflag==1); //等待清除结束
53 1 COM=0x00; //键盘、显示方式
54 1 COM=0x2a; //时钟分频
55 1 while(1)
C51 COMPILER V8.02 C8279S 07/29/2008 15:33:51 PAGE 2
56 1 {
57 2 for(i=0;i<6;i++)
58 2 {
59 3 disp(diss); //显示缓冲区内容
60 3 diss[i]=keyin(); //键盘输入到显示缓冲
61 3 }
62 2 }
63 1
64 1 }
65
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 102 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
IDATA SIZE = 6 ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -