📄 16×16-ldianzhen.lst
字号:
C51 COMPILER V7.50 16×16-LDIANZHEN 01/17/2008 13:33:00 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE 16×16-LDIANZHEN
OBJECT MODULE PLACED IN 16×16-ldianzhen.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 16×16-ldianzhen.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /******************************************************************
2 /* *
3 /* AOKE210E单片机开发系统演示程序 *
4 /* *
5 /* 版本: V2.0 (2007/11/20) *
6 /* 作者: 高山流水 (Email: aoke999@sohu.com) *
7 /* 网站: www.aokemcu.cn(奥科电子) *
8 /* *
9 /* *
10 /******************************************************************/
11
12 #include <reg51.h> //51芯片管脚定义头文件
13 #include <intrins.h> //内部包含延时函数 _nop_();
14
15 #define uchar unsigned char
16 #define uint unsigned int
17
18 #define DELAYNUM 40 //该数值可以调节显示的速度
19 sbit SDATA_595=P2^5; //串行数据输入
20 sbit SCLK_595 =P2^6; //移位时钟脉冲
21 sbit RCK_595 =P2^7; //输出锁存器控制脉冲
22
23 sbit sdat1_595 =P2^0;
24 sbit sclk1_595 =P2^1;
25 sbit rck1_595 =P2^2;
26
27 uchar data dispram[32]; //显示缓存
28 uchar temp;
29
30 void delay(uint );
31 void send2byte1(uint byte2);
32 void sendbyte2(uchar byte);
33 void display(uchar *temp);
34
35 uchar code Bmp[][32]=
36 {
37
38 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
39 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
40
41 {0x02,0x00,0x04,0x10,0x1F,0xF8,0x11,0x10,0x15,0x50,0x11,0x10,0x1F,0xF0,0x11,0x10,
42 0x15,0x50,0x11,0x10,0x01,0x04,0xFF,0xFE,0x02,0x80,0x04,0x60,0x18,0x1C,0x60,0x08},//奥
43
44 {0x04,0x10,0x0E,0x10,0xF8,0x90,0x08,0x50,0x08,0x10,0xFE,0x90,0x08,0x50,0x1C,0x14,
45 0x1A,0x1E,0x29,0xF0,0x28,0x10,0x48,0x10,0x88,0x10,0x08,0x10,0x08,0x10,0x08,0x10},//科
46
47 {0x02,0x00,0x02,0x00,0x02,0x10,0x7F,0xF8,0x42,0x10,0x42,0x10,0x7F,0xF0,0x42,0x10,
48 0x42,0x10,0x7F,0xF0,0x42,0x10,0x02,0x00,0x02,0x04,0x02,0x04,0x01,0xFC,0x00,0x00},//电
49
50 {0x00,0x00,0x3F,0xF0,0x00,0x10,0x00,0x20,0x00,0x40,0x01,0x80,0x01,0x04,0xFF,0xFE,
51 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x00}//子
52
53 };
54
55
C51 COMPILER V7.50 16×16-LDIANZHEN 01/17/2008 13:33:00 PAGE 2
56 /*******************************************************
57 * *
58 * 主函数 *
59 * *
60 *******************************************************/
61 void main(void)
62 {
63 1 uchar i,k;
64 1 P2=0;
65 1 while(1)
66 1 {
67 2 for(k=0;k<5;k++)
68 2 {
69 3 for(i=0;i<DELAYNUM;i++)
70 3 {
71 4 display(Bmp[k]);
72 4 }
73 3 }
74 2 }
75 1 } //end of main()
76
77 /*******************************************************
78 * *
79 * 延时函数 *
80 * *
81 *******************************************************/
82 void delay(uint dt)
83 {
84 1 uint i;
85 1 uchar bt;
86 1 for(i=0;i<dt;i++)
87 1 for(bt=0;bt<200;bt++);
88 1 }
89 /*******************************************************
90 * *
91 * 行驱动函数 595 *
92 * *
93 *******************************************************/
94
95 void send2byte1(uint byte2)
96 {
97 1 uchar c;
98 1 for(c=0;c<16;c++)
99 1 {
100 2 sclk1_595=0;
101 2 byte2=byte2>>1;
102 2 sdat1_595=CY;
103 2 sclk1_595=1;
104 2 sclk1_595=0;
105 2 }
106 1 rck1_595=0;
107 1 _nop_();
108 1 _nop_();
109 1 rck1_595=1;
110 1 _nop_();
111 1 _nop_();
112 1 rck1_595=0;
113 1 }
114 /*******************************************************
115 * *
116 * 列驱动函数 595 *
117 * *
C51 COMPILER V7.50 16×16-LDIANZHEN 01/17/2008 13:33:00 PAGE 3
118 *******************************************************/
119 void sendbyte2(uchar byte)
120 {
121 1 uchar num,c;
122 1 num=byte;
123 1 for(c=0;c<8;c++)
124 1 {
125 2 SCLK_595=0;
126 2 num=num<<1;
127 2 SDATA_595=CY;
128 2 SCLK_595=1;
129 2 SCLK_595=0;
130 2 }
131 1 RCK_595=0;
132 1 _nop_();
133 1 _nop_();
134 1 RCK_595=1;
135 1 _nop_();
136 1 _nop_();
137 1 RCK_595=0;
138 1 }
139 /*******************************************************
140 * *
141 * 显示函数 led16*16 *
142 * *
143 *******************************************************/
144 void display(uchar *temp)
145 {
146 1 uchar i;
147 1 for(i=0;i<16;i++)
148 1 {
149 2 sendbyte2(*temp++);
150 2 sendbyte2(*temp++);
151 2 send2byte1(1<<i);
152 2 delay(1);
153 2 send2byte1(0);
154 2 }
155 1
156 1 }
157
158
159
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 219 ----
CONSTANT SIZE = 160 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 33 6
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 + -