?? 0851led.lst
字號:
C51 COMPILER V7.06 0851LED 04/21/2009 01:31:32 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE 0851LED
OBJECT MODULE PLACED IN 0851LED.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 0851LED.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <REG52.H>
2 #define uchar unsigned char
3 #define uint unsigned int
4 unsigned char col,i;
5 unsigned char code num[16]={0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xf
-f};
6 unsigned int one=0,two=2,three=3,four=9,five=10,six=5,seven=6,eight=7;
7 sbit EN =P2^4; //使能
8 sbit STB =P2^6; //鎖存
9 sbit CLK =P2^7; //時鐘
10 sbit G =P0^7; //紅數(shù)據(jù)
11 sbit R =P2^5; //綠數(shù)據(jù)
12 void delay(); //延時
13
14 unsigned char code logo[128]={
15 0xFF,0x7F,0xFF,0x7F,0x03,0x7F,0xFA,0x01,0x7A,0xFB,0xB5,0xB7,0xD7,0xBF,0xEF,0xBF,
16 0xE7,0xBF,0xE7,0x9F,0xDB,0x5F,0xDB,0x6F,0xBE,0xE7,0x79,0xF1,0xC7,0xFB,0xFF,0xFF,/*"歡",0*/
17 0xBF,0xFF,0xDE,0x7F,0xC9,0x83,0xDB,0xBB,0xFB,0xBB,0xFB,0xBB,0x1B,0xBB,0xDB,0xBB,
18 0xDA,0xBB,0xD9,0xAB,0xDB,0xB7,0xDF,0xBF,0xDF,0xBF,0xAF,0xFF,0x70,0x01,0xFF,0xFF,/*"迎",1*/
19 0xF7,0xBF,0xF3,0xBF,0xE4,0x01,0xEF,0xBF,0xC8,0x03,0x9B,0xBB,0x5B,0xBB,0xD8,0x03,
20 0xDB,0xBB,0xDD,0xBF,0xDE,0x7F,0xDF,0x7F,0xDE,0x8F,0xDD,0xE1,0xD3,0xFB,0xFF,0xFF,/*"使",2*/
21 0xFF,0xFF,0xE0,0x03,0xEF,0x7B,0xEF,0x7B,0xEF,0x7B,0xE0,0x03,0xEF,0x7B,0xEF,0x7B,
22 0xEF,0x7B,0xE0,0x03,0xEF,0x7B,0xEF,0x7B,0xDF,0x7B,0xDF,0x7B,0xBF,0x6B,0x7F,0x77,/*"用",3*/
23 };
24 unsigned char code number[192]={
25 0xFF,0xFF,0xFF,0xE7,0xDB,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xDB,0xE7,0xFF,0xFF,/*"0",0*/
26 0xFF,0xFF,0xFF,0xEF,0x8F,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0x83,0xFF,0xFF,/*"1",1*/
27 0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xBD,0xFB,0xFB,0xF7,0xEF,0xDF,0xBD,0x81,0xFF,0xFF,/*"2",2*/
28 0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xFB,0xE7,0xFB,0xFD,0xFD,0xBD,0xBB,0xC7,0xFF,0xFF,/*"3",3*/
29 0xFF,0xFF,0xFF,0xFB,0xF3,0xEB,0xDB,0xDB,0xBB,0xBB,0x81,0xFB,0xFB,0xE1,0xFF,0xFF,/*"4",4*/
30 0xFF,0xFF,0xFF,0x81,0xBF,0xBF,0xBF,0xA7,0x9B,0xFD,0xFD,0xBD,0xBB,0xC7,0xFF,0xFF,/*"5",5*/
31 0xFF,0xFF,0xFF,0xE3,0xDB,0xBF,0xBF,0xA7,0x9B,0xBD,0xBD,0xBD,0xDB,0xE7,0xFF,0xFF,/*"6",6*/
32 0xFF,0xFF,0xFF,0x81,0xBB,0xBB,0xF7,0xF7,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xFF,0xFF,/*"7",7*/
33 0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xBD,0xDB,0xE7,0xDB,0xBD,0xBD,0xBD,0xC3,0xFF,0xFF,/*"8",8*/
34 0xFF,0xFF,0xFF,0xE7,0xDB,0xBD,0xBD,0xBD,0xD9,0xE5,0xFD,0xFD,0xDB,0xC7,0xFF,0xFF,/*"9",9*/
35 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9F,0x9F,0xFF,0xFF,/*".",0*/
36 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",0*/
37 };
38 /*********************************************************
39 函數(shù)名:delay()
40 功能:延時
41 /*********************************************************/
42 void delay(){
43 1 unsigned int n;
44 1 for(n=2;n>0;n--){;}
45 1 }
46 /*********************************************************
47 函數(shù)名:out_R
48 功能:發(fā)送數(shù)據(jù) c=1-紅色顯示 c=2-綠色顯示 c=3-黃色顯示
49 /*********************************************************/
50 void out_RGY(uchar *d,uint c){//發(fā)送數(shù)據(jù)
51 1 unsigned char j,TEMP;
52 1 bit o;
53 1 TEMP=*d;
54 1 if(c==1){
C51 COMPILER V7.06 0851LED 04/21/2009 01:31:32 PAGE 2
55 2 G=1;
56 2 for(j=0;j<8;j++){
57 3 o=(TEMP<<j)&0x80; //取出最高位。
58 3 if(o==0) R=0;
59 3 else R=1; //輸出數(shù)據(jù)1
60 3 CLK=1; //發(fā)送時鐘
61 3 CLK=0;
62 3 }
63 2 }
64 1 else if(c==2){
65 2 R=1; //關(guān)閉紅色
66 2 for(j=0;j<8;j++){
67 3 o=(TEMP<<j)&0x80; //取出最高位。
68 3 if(o==0) G=0;
69 3 else G=1; //輸出數(shù)據(jù)1
70 3 CLK=1; //發(fā)送時鐘
71 3 CLK=0;
72 3 }
73 2 }
74 1 else if(c==3){
75 2 for(j=0;j<8;j++){
76 3 o=(TEMP<<j)&0x80; //取出最高位。
77 3 if(o==0){G=0;R=0;}
78 3 else{G=1;R=1;} //輸出數(shù)據(jù)1
79 3 CLK=1; //發(fā)送時鐘
80 3 CLK=0;
81 3 }
82 2 }
83 1 }
84
85 /*********************************************************
86 函數(shù)名:SHOW_alp()
87 功能:顯示圖形程序
88 /*********************************************************/
89 void SHOW_alp(uchar *alpha,uint color)
90 {
91 1 out_RGY(&alpha[8*((i+1)/2-1)],color); //從串口輸出第1個字的第二字節(jié)。
92 1 out_RGY(&alpha[8*((i+1)/2-1)+1],color); //從串口輸出第1個字的第一字節(jié)。
93 1 out_RGY(&alpha[8*((i+1)/2-1)+2],color); //從串口輸出第2個字的第二字節(jié)
94 1 out_RGY(&alpha[8*((i+1)/2-1)+3],color); //從串口輸出第2個字的第一字節(jié)。
95 1 out_RGY(&alpha[8*((i+1)/2-1)+4],color);
96 1 out_RGY(&alpha[8*((i+1)/2-1)+5],color);
97 1 out_RGY(&alpha[8*((i+1)/2-1)+6],color);
98 1 out_RGY(&alpha[8*((i+1)/2-1)+7],color);
99 1 }
100 /*********************************************************
101 函數(shù)名:SHOW_chn()
102 功能:顯示漢字
103 /*********************************************************/
104 void SHOW_chn(uchar *china,uint color)
105 {
106 1 out_RGY(&china[i-1],color); //從串口輸出第1個字的第二字節(jié)。
107 1 out_RGY(&china[i],color); //從串口輸出第1個字的第一字節(jié)。
108 1 out_RGY(&china[32+i-1],color); //從串口輸出第2個字的第二字節(jié)
109 1 out_RGY(&china[32+i],color); //從串口輸出第2個字的第一字節(jié)。
110 1 out_RGY(&china[64+i-1],color);
111 1 out_RGY(&china[64+i],color);
112 1 out_RGY(&china[96+i-1],color);
113 1 out_RGY(&china[96+i],color);
114 1 }
115 /*********************************************************
116 函數(shù)名:SHOW_num()
C51 COMPILER V7.06 0851LED 04/21/2009 01:31:32 PAGE 3
117 功能:顯示數(shù)字
118 /*********************************************************/
119 void SHOW_num(uchar *numbers,uint color)
120 {
121 1 out_RGY(&numbers[one*16+(i+1)/2-1],color); //從串口輸出第1個字的第二字節(jié)。
122 1 out_RGY(&numbers[two*16+(i+1)/2-1],color); //從串口輸出第1個字的第一字節(jié)。
123 1 out_RGY(&numbers[three*16+(i+1)/2-1],color); //從串口輸出第2個字的第二字節(jié) //
124 1 out_RGY(&numbers[four*16+(i+1)/2-1],color); //從串口輸出第2個字的第一字節(jié)。
125 1 out_RGY(&numbers[five*16+(i+1)/2-1],color);
126 1 out_RGY(&numbers[six*16+(i+1)/2-1],color);
127 1 out_RGY(&numbers[seven*16+(i+1)/2-1],color);
128 1 out_RGY(&numbers[eight*16+(i+1)/2-1],color);
129 1 }
130 /*********************************************************
131 函數(shù)名:main()
132 功能:主功能函數(shù)
133 /*********************************************************/
134 void main(){
135 1 CLK=0;
136 1 while(1){ //重復(fù)循環(huán)顯示
137 2 for(i=1;i<32;i+=2){
138 3 EN=1;
139 3 SHOW_chn(logo,1); //關(guān)閉顯示
140 3 STB=1; //鎖存為高,595鎖存信號
141 3 P2=(P2|0x0f)&num[col]; //輸出行信號
142 3 EN=0; //開顯示
143 3 // delay(); //延時,等待一段時間,讓這列顯示的內(nèi)容在人眼內(nèi)產(chǎn)生視覺暫
144 3 STB=0; //關(guān)閉顯示
145 3 col++; //行加一
146 3 if(col==16) col=0; //一共16行。
147 3 }
148 2 }
149 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 964 ----
CONSTANT SIZE = 336 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 18 17
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -