?? text1.lst
字號:
C51 COMPILER V8.08 TEXT1 11/02/2012 16:22:24 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 LARGE OPTIMIZE(0,SPEED) BROWSE DEBUG OBJECTEXTEND
line level source
1
2 #include<STC12C5A60S2.H>
3 #define uchar unsigned char
4 #define uint unsigned int
5 const uchar code hanzi[];
6
7 sbit IA =P4^0; //行控制線A
8 sbit IB =P2^0; //行控制線B
9 sbit IC =P2^1; //行控制線C
10 sbit ID =P2^2; //行控制線D
11
12 #define scan0 {IA=0;IB=0;IC=0;ID=0;}
13 #define scan1 {IA=1;IB=0;IC=0;ID=0;}
14 #define scan2 {IA=0;IB=1;IC=0;ID=0;}
15 #define scan3 {IA=1;IB=1;IC=0;ID=0;}
16 #define scan4 {IA=0;IB=0;IC=1;ID=0;}
17 #define scan5 {IA=1;IB=0;IC=1;ID=0;}
18 #define scan6 {IA=0;IB=1;IC=1;ID=0;}
19 #define scan7 {IA=1;IB=1;IC=1;ID=0;}
20 #define scan8 {IA=0;IB=0;IC=0;ID=1;}
21 #define scan9 {IA=1;IB=0;IC=0;ID=1;}
22 #define scan10 {IA=0;IB=1;IC=0;ID=1;}
23 #define scan11 {IA=1;IB=1;IC=0;ID=1;}
24 #define scan12 {IA=0;IB=0;IC=1;ID=1;}
25 #define scan13 {IA=1;IB=0;IC=1;ID=1;}
26 #define scan14 {IA=0;IB=1;IC=1;ID=1;}
27 #define scan15 {IA=1;IB=1;IC=1;ID=1;}
28 //extern uiAllData;
29 uchar code hanzi[]; //漢字字模
30 uchar code hanzi1[];
31 uchar l=0; //漢字字模
32 //0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
33 uchar code sw[16]={0X00,0X08,0x04,0x0C,0X02,0X0A,0X06,0X0E,0X01,0X09,0X05,0X0D,0X03,0X0B,0X07,0X0F};/*16行
-段碼*///138驅動數據
34
35
36
37 sbit STR=P4^1; //鎖存
38 sbit SCK=P2^7; //時鐘
39 sbit SERr1= P2^4; //數據
40 sbit SERg1= P2^6;
41
42
43
44 sbit SERr= P2^3;
45 sbit SERg= P2^5;
46 uchar Move=0,Speed,line; //時間溫度變量
47 uint zimuo; //字模計數器
48 uchar BUFF[50]; //緩存
49 uchar BUFF1[50]; //緩存
50
51 void DelayMs(void); // 延時
52 void in_data(); // 調整移動數據
53 void rxd_data(); // 串口發送移動數據
54 /******************************************************/
C51 COMPILER V8.08 TEXT1 11/02/2012 16:22:24 PAGE 2
55 /*****不影響其他端口的掃描*************************/
56 void scan(unsigned char Value)
57 {switch(Value)
58 1 {case 15: scan0;break;
59 2 case 0: scan1;break;
60 2 case 1: scan2;break;
61 2 case 2: scan3;break;
62 2 case 3: scan4;break;
63 2 case 4: scan5;break;
64 2 case 5: scan6;break;
65 2 case 6: scan7;break;
66 2 case 7: scan8;break;
67 2 case 8: scan9;break;
68 2 case 9:scan10;break;
69 2 case 10:scan11;break;
70 2 case 11:scan12;break;
71 2 case 12:scan13;break;
72 2 case 13:scan14;break;
73 2 case 14:scan15;break;
74 2 default:break;
75 2 }
76 1 }
77 /**************************延時***********************/
78
79 void DelayMs(void)
80 {
81 1 uchar TempCyc;
82 1 for(TempCyc=150;TempCyc>1;TempCyc--)
83 1 {;}
84 1 }
85 /********************************************/
86
87 /*主函數*/
88 void main()
89 {
90 1 Move=0;
91 1 zimuo=0;
92 1 while(1)
93 1 {
94 2 while(zimuo<1792)
95 2 {
96 3 while(Move<32) //數據移位。
97 3 {
98 4 for(Speed=0;Speed<2;Speed++) //移動速度
99 4 {
100 5 for(line=0;line<16;line++)
101 5 {
102 6 in_data(); //調整移動數據
103 6 rxd_data();
104 6 scan(line);
105 6
106 6 // STR=1;//鎖存
107 6 STR=0;
108 6 STR=1;
109 6 DelayMs(); //延時,等待一段時間,讓這列顯示的內容在人眼內產生“視覺暫留”現蟆
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -