📄 max5354.lst
字号:
C51 COMPILER V6.20c MAX5354 07/11/2003 18:00:42 PAGE 1
C51 COMPILER V6.20c, COMPILATION OF MODULE MAX5354
OBJECT MODULE PLACED IN max5354.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE max5354.c DEBUG OBJECTEXTEND
stmt level source
1 #include "intrins.h"
2 #include "At89x51.h"
3 /////////////////////////////////////
4 //采用P1口作控制
5 //11.0592的晶体
6 ////////////////////////////////////
7 //I2C总线的数据和时钟
8 #define SCL P1_7
9 #define SDA P1_6
10 #define SCS P1_5
11 //////////////////////////////////////
12 //7219的各控制线
13 #define CLK7219 P2_7
14 #define DIN7219 P2_6
15 #define CS7219 P2_5
16 ///////////////////////////////////////
17 //unsigned int temp;
18 max7219(unsigned int dat)
19 {
20 1 char i;
21 1 CS7219=0;
22 1 _nop_();
23 1
24 1 for(i=0;i<16;i++)
25 1 {
26 2 DIN7219=(dat>>(15-i))&0x1;
27 2 CLK7219=1;
28 2 _nop_();
29 2 CLK7219=0;
30 2 };
31 1
32 1 CS7219=1;
33 1 }
34 max5354(unsigned int Data)
35 {
36 1 unsigned char BitCounter=16;//位数控制
37 1 unsigned int temp;//中间变量控制
38 1
39 1 temp=Data;
40 1 SCL=0;
41 1 SCS=0;
42 1 do{
43 2 SCL=0;
44 2 _nop_();
45 2 if((temp&0x8000)==0x8000)//如果最高位是1
46 2 SDA=1;
47 2 else
48 2 SDA=0;
49 2 SCL=1;
50 2
51 2 temp=temp<<1;//左移
52 2
53 2 BitCounter--;
54 2
55 2 }while(BitCounter);
C51 COMPILER V6.20c MAX5354 07/11/2003 18:00:42 PAGE 2
56 1 SCL=0;
57 1 SCS=1;
58 1 }
59 main()
60 {
61 1 unsigned int i,m;
62 1 unsigned char k;
63 1 unsigned int disp;
64 1 unsigned int j;
65 1 //addata,
66 1 // SCL=1;
67 1 // SDA=1;
68 1 for(i=0;i<2000;i++);
69 1 CLK7219=0;
70 1 for(i=0;i<31000;i++);
71 1 ///////////////////////////////////////////////////////
72 1 //7219初始化
73 1 max7219(0x0C01); //shutdown register format
74 1 max7219(0x09FF); //decode mode code B 7-0
75 1 max7219(0x0A0F); //intensity register format
76 1 max7219(0x0B07); //sacan limit register format
77 1 max7219(0x0F00); //display test register format
78 1 ////////////////////////////////////////////////////////
79 1 for(k=0;k<8;k++)
80 1 {
81 2 disp=k+1;
82 2 disp<<=8;
83 2 max7219(disp);
84 2
85 2 }
86 1 /////////////////////////////////////////////////
87 1 while(1)
88 1 {
89 2 // tlc5615(2730);
90 2 for(j=0;j<1024;j++)
91 2 {
92 3 m=j;
93 3 j<<=3;
94 3 // j|=0x2000;
95 3 j&=0xffff;
96 3 max5354(j);
97 3 j=m;
98 3 for(k=0;k<4;k++)
99 3 {
100 4 disp=k+1;
101 4 disp<<=8;
102 4 disp|=j%10;
103 4 j/=10;
104 4 max7219(disp);
105 4
106 4 }
107 3 j=m;
108 3 for(k=0;k<1;k++)
109 3 {
110 4 // for(i=0;i<31000;i++);
111 4 // for(i=0;i<31000;i++);
112 4 for(i=0;i<20;i++);
113 4 }
114 3 }
115 2 }
116 1 }
C51 COMPILER V6.20c MAX5354 07/11/2003 18:00:42 PAGE 3
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 342 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 7
IDATA SIZE = ---- ----
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 + -