?? text1.lst
字號(hào):
C51 COMPILER V8.08 TEXT1 11/02/2012 16:31:52 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: D:\Program Files\keil_51\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*
2 點(diǎn)陣屏管腳定義
3 SHCP GND
4 STCP GND
5 R1 R2
6 G1 G2
7 VCC GND
8 A GND
9 B GND
10 C D
11 */
12 /*
13 控制卡
14 P0~P3 A B C D
15 P16 SCK
16 P17 STR
17 R1 P04
18 G1 P05
19 R2 P06
20 G2 P07
21 */
22 //#include<stc89c51rc.h>
23 #include<STC12C5A60S2.H>
24 #define uchar unsigned char
25 #define uint unsigned int
26 //0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
27 uchar code sw[16]={0X00,0X08,0x04,0x0C,0X02,0X0A,0X06,0X0E,0X01,0X09,0X05,0X0D,0X03,0X0B,0X07,0X0F};/*16行
-段碼*///138驅(qū)動(dòng)數(shù)據(jù)
28
29
30 sbit IA =P4^0; //行控制線(xiàn)A
31 sbit IB =P2^0; //行控制線(xiàn)B
32 sbit IC =P2^1; //行控制線(xiàn)C
33 sbit ID =P2^2; //行控制線(xiàn)D
34
35 #define scan0 {IA=0;IB=0;IC=0;ID=0;}
36 #define scan1 {IA=1;IB=0;IC=0;ID=0;}
37 #define scan2 {IA=0;IB=1;IC=0;ID=0;}
38 #define scan3 {IA=1;IB=1;IC=0;ID=0;}
39 #define scan4 {IA=0;IB=0;IC=1;ID=0;}
40 #define scan5 {IA=1;IB=0;IC=1;ID=0;}
41 #define scan6 {IA=0;IB=1;IC=1;ID=0;}
42 #define scan7 {IA=1;IB=1;IC=1;ID=0;}
43 #define scan8 {IA=0;IB=0;IC=0;ID=1;}
44 #define scan9 {IA=1;IB=0;IC=0;ID=1;}
45 #define scan10 {IA=0;IB=1;IC=0;ID=1;}
46 #define scan11 {IA=1;IB=1;IC=0;ID=1;}
47 #define scan12 {IA=0;IB=0;IC=1;ID=1;}
48 #define scan13 {IA=1;IB=0;IC=1;ID=1;}
49 #define scan14 {IA=0;IB=1;IC=1;ID=1;}
50 #define scan15 {IA=1;IB=1;IC=1;ID=1;}
51 sbit STR=P4^1; //鎖存
52 sbit SCK=P2^7; //時(shí)鐘
53 sbit SERr1= P2^4; //數(shù)據(jù)
54 sbit SERg1= P2^6;
C51 COMPILER V8.08 TEXT1 11/02/2012 16:31:52 PAGE 2
55
56
57
58 sbit SERr= P2^3;
59 sbit SERg= P2^5;
60 uchar line=0;
61 void rxd_data(); // 串口發(fā)送移動(dòng)數(shù)據(jù)
62 uchar time_count=0;
63 bit reg=1;
64 /*****不影響其他端口的掃描*************************/
65 void scan(unsigned char Value)
66 {switch(Value)
67 1 {case 15: scan0;break;
68 2 case 0: scan1;break;
69 2 case 1: scan2;break;
70 2 case 2: scan3;break;
71 2 case 3: scan4;break;
72 2 case 4: scan5;break;
73 2 case 5: scan6;break;
74 2 case 6: scan7;break;
75 2 case 7: scan8;break;
76 2 case 8: scan9;break;
77 2 case 9:scan10;break;
78 2 case 10:scan11;break;
79 2 case 11:scan12;break;
80 2 case 12:scan13;break;
81 2 case 13:scan14;break;
82 2 case 14:scan15;break;
83 2 default:break;
84 2 }
85 1 }
86 /**************************************/
87 void Timer0Interrupt(void) interrupt 1 //定時(shí)器中斷
88 {
89 1 TH0 = 0x0D8;//定時(shí)10MS
90 1 TL0 = 0x0F0;
91 1
92 1 time_count++;
93 1 if(time_count>100)//2S發(fā)送一次數(shù)據(jù)
94 1 {
95 2 time_count=0;
96 2 line++;
97 2 if(line>15)
98 2 {
99 3 line=0;
100 3 reg=~reg;
101 3 }
102 2 rxd_data();
103 2 // P0 = sw[line];
104 2 scan(line);
105 2 STR=1;//鎖存
106 2 STR=0;
107 2 STR=1;
108 2
109 2 }
110 1
111 1
112 1 }
113 /********************************************/
114
115 /*主函數(shù)*/
116 void main()
C51 COMPILER V8.08 TEXT1 11/02/2012 16:31:52 PAGE 3
117 {
118 1 TMOD=0x01; //定時(shí)器0 16位定時(shí)定時(shí)器1方式2
119 1 TH0=0x4c; //50ms
120 1 TL0=0x00;
121 1
122 1 TR0=1;
123 1 ET0=1;
124 1 EA=1;
125 1 while(1)
126 1 {
127 2 }
128 1 }
129 /***********************發(fā)送移動(dòng)的數(shù)據(jù)****************************/
130 void rxd_data(void) //串行發(fā)送數(shù)據(jù)
131 {
132 1 uchar s;
133 1 uchar k;
134 1
135 1 for(s=0;s<8;s++) //發(fā)送16字節(jié)數(shù)據(jù)
136 1 {
137 2 for(k=0;k<8;k++)
138 2 {
139 3 SCK=0;
140 3 if(reg==1)
141 3 {
142 4 SERr=0;//這里SERr定義成普通IO口就得了
143 4 SERr1=0;
144 4 SERg=1;
145 4 SERg1=1;
146 4 }
147 3 else
148 3 {
149 4 SERg=0;
150 4 SERg1=0;
151 4 SERr=1;//這里SERr定義成普通IO口就得了
152 4 SERr1=1;
153 4 }
154 3 SCK=1;
155 3
156 3 }
157 2
158 2
159 2 }
160 1
161 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 321 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -