📄 河工科技 欢迎您.lst
字号:
C51 COMPILER V9.00 河工科技_欢迎腳 04/06/2010 12:02:53 PAGE 1
C51 COMPILER V9.00, COMPILATION OF MODULE 河工科技_欢迎腳
OBJECT MODULE PLACED IN 河工科技 欢迎您.OBJ
COMPILER INVOKED BY: d:\Keil4\C51\BIN\C51.EXE 河工科技 欢迎您.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg52.h>
2 #define BLKN 2 //列锁存器数
3 #define uchar unsigned char
4 #define uint unsigned int
5 uchar i,j,k,l;
6 //uint i;
7 uchar data dispram[32]; //显示缓存
-
-
-
8 sbit G =P2^7; //P2.7为显示允许控制信号端口
9 sbit RCK=P2^6; //P2.6为输出锁存器时钟信号端口
10 sbit SCLR=P2^5; //P2.5为移位寄存器清0端口
11 /****延时函数*****/
12 void delay(uchar x)
13 {
14 1 uchar a,b;
15 1 for(a=x;a>0;a--)
16 1 for(b=110;b>0;b--);
17 1
18 1 }
19 uchar code bmp[][32]= //字模表
20 {
21
22 {
23 0xF9,0xCF,0xF1,0x8F,0xF1,0x8F,0xF3,0x9F,0xE3,0x1F,0xE3,0x1F,0xE7,0x3F,0xC0,0x3F,
24 0xC0,0x33,0xCE,0x39,0x8E,0x38,0x9E,0x38,0x1C,0x38,0x18,0x00,0x18,0x00,0x1F,0xFF
25
26 }, //河工科技图标 0
27 {
28 0xBF,0xFB,0xC0,0x01,0xEF,0xF7,0xFF,0xF7,0x7F,0xB7,0x98,0x17,0xDB,0xB7,0xF3,0xB7,
29 0xEB,0xB7,0xDB,0xB7,0x18,0x37,0xDB,0xB7,0xDF,0xF7,0xDF,0xF7,0xDF,0xD7,0xDF,0xEF
30 },//河 1
31 {
32 0xFF,0xFF,0xFF,0xF7,0x80,0x03,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,
33 0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFB,0x00,0x01,0xFF,0xFF,0xFF,0xFF
34
35 },//工 2
36
37 {
38 0xFB,0xEF,0xF1,0xEF,0x07,0x6F,0xF7,0xAF,0xF7,0xEF,0x01,0x6F,0xF7,0xAF,0xE3,0xEB,
39 0xE5,0xE1,0xD6,0x0F,0xD7,0xEF,0xB7,0xEF,0x77,0xEF,0xF7,0xEF,0xF7,0xEF,0xF7,0xEF
40
41 },//科 3
42 {
43 0xEF,0xBF,0xEF,0xBF,0xEF,0xB7,0xEC,0x03,0x03,0xBF,0xEF,0xBF,0xEF,0xBF,0xEC,0x07,
44 0xE5,0xF7,0xCE,0xEF,0x2E,0xEF,0xEF,0x5F,0xEF,0xBF,0xEF,0x4F,0xAE,0xF1,0xD9,0xFB
45
46 },//技 4
47 {
48 0xFF,0xFF,0xFF,0xF7,0x80,0x03,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,
49 0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFB,0x00,0x01,0xFF,0xFF,0xFF,0xFF
50
51 },//工 5
52 {
C51 COMPILER V9.00 河工科技_欢迎腳 04/06/2010 12:02:53 PAGE 2
53 0xF6,0xFF,0xF6,0xFF,0xF6,0xFB,0xEE,0x01,0xED,0x7F,0xCD,0x7F,0xAB,0x6F,0x67,0x07,
54 0xEF,0x7F,0xEF,0x7F,0xEF,0x77,0xEF,0x03,0xEF,0x7F,0xEF,0x7F,0xEF,0x7F,0xEF,0x7F
55 },//作 6
56 {
57 0xFD,0xFF,0xFE,0xFF,0x80,0x01,0xBF,0xFD,0x7F,0xEB,0xC0,0x07,0xFB,0xFF,0xF7,0xDF,
58 0xE0,0x0F,0xFE,0xEF,0xFE,0xFF,0xE0,0x0F,0xFE,0xFF,0xFE,0xF7,0x80,0x03,0xFF,0xFF
59 },//室 7
60
61 {
62 0xFF,0xFF,0xFF,0xFF,0xF0,0x0F,0xEF,0xF7,0xDF,0xFB,0xBF,0xFD,0xA3,0xC5,0x9D,0xB9,
63 0xBF,0xFD,0xBF,0xFD,0xBF,0xFD,0xB7,0xED,0xD8,0x1B,0xEF,0xF7,0xF0,0x0F,0xFF,0xFF
64
65 },//笑脸 8
66 {
67 0xFF,0x7F,0xFF,0x7F,0x03,0x7F,0xFB,0x03,0xBA,0xFB,0xB9,0xB7,0xD7,0xBF,0xD7,0xBF,
68 0xEF,0xBF,0xD7,0xBF,0xDB,0x5F,0xBB,0x5F,0x7E,0xEF,0xFE,0xF7,0xFD,0xF1,0xF3,0xFB
69
70 },//欢 9
71 {
72 0xFF,0xFF,0xBE,0x7B,0xD9,0x81,0xEB,0xBB,0xFB,0xBB,0xFB,0xBB,0x0B,0xBB,0xEB,0x3B,
73 0xEA,0xBB,0xE9,0xAB,0xEB,0xB7,0xEF,0xBF,0xEF,0xBF,0xD7,0xB9,0xB8,0x03,0xFF,0xFF
74
75 },//迎 10
76 {
77
78 0xF6,0xFF,0xF6,0xFF,0xEC,0x03,0xED,0xFB,0xCB,0xB7,0xA6,0xBF,0x6E,0xAF,0xED,0xB3,
79 0xEB,0xBB,0xEE,0xBF,0xEF,0x7F,0xFD,0xFF,0xAE,0x7B,0xAF,0x6D,0x6F,0xED,0xF0,0x0F
80 } //您 11
81 };
82
83 void main()
84 {
85 1 SCON=0x00; //串口工作模式0;移位寄存器方式
86 1 TMOD=0x01; //定时器T0工作方式1:16位方式
87 1 TR0=1; //启动定时器t0
88 1 P1=0x3f; //P1端口初值:允许接收、锁定、显示
89 1 IE=0x82;
90 1 for(i=0;i<32;i++)
91 1 {
92 2 dispram[i]=0xff;
93 2
94 2 }
95 1 while(1)
96 1 {
97 2 delay(2000);
98 2 for(i=0;i<8;i++) //上卷帘显示“河工科技工作室”
99 2 {
100 3 for(j=0;j<16;j++)
101 3 {
102 4 for(k=0;k<15;k++)
103 4 {
104 5 dispram[k*BLKN]=dispram[(k+1)*BLKN];
105 5 dispram[k*BLKN+1]=dispram[(k+1)*BLKN+1];
106 5 }
107 4 dispram[30]=bmp[i][j*BLKN];
108 4 dispram[31]=bmp[i][j*BLKN+1];
109 4 delay(100);
110 4 }
111 3 }
112 2 delay(2000); //左跑马显示“欢迎您”
113 2 for(i=8;i<12;i++)
114 2 {
C51 COMPILER V9.00 河工科技_欢迎腳 04/06/2010 12:02:53 PAGE 3
115 3 for(j=0;j<2;j++)
116 3 for(k=1;k<9;k++)
117 3 {
118 4 for(l=0;l<16;l++)
119 4 {
120 5 dispram[l*BLKN]=dispram[l*BLKN]<<1|dispram[l*BLKN+1]>>7;
121 5 dispram[l*BLKN+1]=dispram[l*BLKN+1]<<1|bmp[i][l*BLKN+j]>>(8-k);
122 5 }
123 4 delay(100);
124 4 }
125 3 }
-
-
-
126 2 }
127 1
128 1 }
129 void leddisplay(void) interrupt 1 using 1
130 {
131 1 uchar i,j=BLKN; //设定显示屏刷新率62.5帧/s
132 1 TH0=0xfd;
133 1 TL0=0xf0;
134 1 i=P1; //读取当前显示的行列
135 1 i=++i&0x0f; /*行数自动加一,屏蔽高4位 ,注意P1.0,P1.1,P1.2,P1,3控制行的显示,
136 1 通过4线16线译码器,对16行进行控制*/
137 1 do
138 1 {
139 2 j--;
140 2 SBUF=dispram[i*BLKN+j]; //送显示数据,SBUF串行数据缓冲寄存器
141 2 while(!TI); /*串行发送停止位的开始时,由内部硬件使T11,向CPU发出中断请求
142 2 ,在中断服务程序中,必须用软件使其清0*/
143 2 TI=0;
144 2 }
145 1 while(j); //完成一行数据的发送
146 1 G=1; //消隐(关闭显示)
147 1 P1&=0xf0; //行号端口清0
148 1 RCK=1; //显示数据打入输出锁存器
149 1 P1|=i; //写入行号
150 1 RCK=0; //锁存显示数据
151 1 G=0; //打开显示
152 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 430 ----
CONSTANT SIZE = 384 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 36 ----
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 + -