📄 16x16dian zhen.lst
字号:
C51 COMPILER V8.06 16X16DIAN_ZHEN 12/15/2012 15:22:32 PAGE 1
C51 COMPILER V8.06, COMPILATION OF MODULE 16X16DIAN_ZHEN
OBJECT MODULE PLACED IN 16x16dian zhen.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 16x16dian zhen.c BROWSE DEBUG OBJECTEXTEND TABS(3)
line level source
1 //作者:肖向前
2 //日期:2012年12月14日
3 //功能:16*32点阵
4 //取模方式:横向
5 //两个138,两个595
6 #include <reg52.h>
7 #include <intrins.h>
8 #define uchar unsigned char
9 #define uint unsigned int
10 #define NOP _nop_()
11
12 sbit OE = P2^3;
13 sbit A1 = P2^0;
14 sbit B1 = P2^1;
15
16 sbit SRCLK = P2^1; //11脚SHCP 移位时钟
17 sbit SCLK = P2^2; //12脚STCP 锁存时钟
18 sbit DATA = P2^0; //数据输入
19
20 char code table[]=
21 {
22 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
23 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
24 /*-- 文字: 明 --*/
25 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
26 0x00,0xFC,0x7C,0x84,0x44,0x84,0x44,0x84,0x44,0xFC,0x7C,0x84,0x44,0x84,0x44,0x84,
27 0x44,0xFC,0x7C,0x84,0x00,0x84,0x01,0x04,0x01,0x04,0x02,0x04,0x04,0x14,0x00,0x08,
28
29
30 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
31 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
32
33 };
34 //数据串行输入
35 void serial_input(uchar dat)
36 {
37 1 uint m;
38 1 for(m=0;m<8;m++)
39 1 {
40 2 if(dat&0x80)
41 2 DATA=1;
42 2 else
43 2 DATA=0;
44 2 SRCLK=0;
45 2 SRCLK=1;
46 2 NOP;
47 2 NOP;
48 2 SRCLK=0;
49 2 NOP;
50 2 NOP;
51 2 dat=dat<<1;
52 2 }
53 1
54 1 }
55
C51 COMPILER V8.06 16X16DIAN_ZHEN 12/15/2012 15:22:32 PAGE 2
56 /*******************************************************************************************/
57 //595并行输出
58 void serial_output()
59 {
60 1 SCLK=1;
61 1 NOP;
62 1 NOP;
63 1 SCLK=0;
64 1 }
65 /*******************************************************************************************/
66 /*******************************************************************************************/
67 void delay(int z)
68 {
69 1 int x,y;
70 1 for(x=0;x<z;x++)
71 1 for(y=0;y<110;y++);
72 1 }
73
74
75 /*******************************************************************************************/
76 /*******************************************************************************************/
77 //整屏显示
78 void display()
79 {
80 1 uint i,up=0,control;
81 1 for(control=0;control<60;control++)//移动速度
82 1 {
83 2 for(i=0;i<16;i++)
84 2 {
85 3 serial_input(table[2*i+2*up]); //左半屏
86 3 serial_input(table[2*i+1+2*up]);//右半屏
87 3
88 3 P1=i; //行控制
89 3 serial_output(); //595输出
90 3 delay(5);
91 3 }
92 2 up=up+1; //上移,改变up可实现上移或下移
93 2 if(up>32) up=0;
94 2 }
95 1
96 1
97 1 }
98
99 void main()
100 {
101 1 while(1)
102 1 {
103 2 display();
104 2 }
105 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 250 ----
CONSTANT SIZE = 96 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 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 + -