📄 1602.lst
字号:
C51 COMPILER V6.12 1602 11/22/2008 17:12:49 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE 1602
OBJECT MODULE PLACED IN .\1602.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE .\1602.c DEBUG OBJECTEXTEND
stmt level source
1 #include"reg51.h"
2 #define uchar unsigned char
3 #define uint unsigned int
4 volatile char bf;
5
6 sbit rs=P3^0;
7 sbit rw=P3^1;
8 sbit e=P3^2;
9 sbit ds=P1;
10 #define bf P1^7
11
12 uchar code tab[]={"***fm1602a--3***"};
13 uchar code tab1[]={0x0f,0x09,0x0f,0x09,0x0f,0x09,0x0b,0x11}; // 月
14 uchar code fm[]={0x0F,0x1C,0x0F,0x1F,0x10,0x00,0x00,0x00,0x0F,0x1C,0x0C,0x19,0x10,0x00,0x00,0x00,
15 0x0C,0x00,0x0C,0x19,0x10,0x00,0x00,0x00,0x0F,0x1C,0x0C,0x19,0x10,0x00,0x00,0x00,
16 0x0F,0x1C,0x0C,0x19,0x12,0x07,0x0F,0x10,0x0C,0x00,0x0C,0x19,0x12,0x04,0x0A,0x10,
17 0x0C,0x00,0x0C,0x19,0x12,0x04,0x0A,0x10,0x0C,0x00,0x0C,0x19,0x13,0x17,0x0A,0x10
18 }; ///FM 64
19 uchar code qin[]={
20 0x1F,0x11,0x11,0x11,0x11,0x11,0x11,0x1F, //方框
21 0x0E,0x0A,0x04,0x1F,0x04,0x0E,0x0A,0x1B, //小人
22 0x0A,0x15,0x0A,0x15,0x0A,0x15,0x0A,0x15, //黑白格子
23 0x1F,0x15,0x1F,0x1B,0x1B,0x1F,0x11,0x1F, //脸
24 0x0E,0x11,0x11,0x15,0x15,0x0E,0x04,0x04, //树
25 0x0f,0x09,0x0f,0x09,0x0f,0x09,0x0b,0x11, // 月
26 0x1F,0x00,0x1F,0x00,0x1F,0x00,0x1F,0x00, //黑白横条
27 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, //黑白竖条
28
29
30 };
31
32 void nop(){}
33
34 void delay(uint ms) //延时
35 {uchar n;
36 1 while(ms--)
37 1 {for(n=0;n<24;n++){;;}}
38 1 }
39
40 void check() // 判忙
41 {
42 1
43 1 rs=0;
44 1 rw=1;
45 1 e=0;
46 1 P1=0xff;
47 1 e=1;
48 1 nop();
49 1 nop();
50 1
51 1 while(P&0x80){};
52 1
53 1
54 1 delay(10);
55 1 }
C51 COMPILER V6.12 1602 11/22/2008 17:12:49 PAGE 2
56
57 void sendc(uchar com) // 发命令字
58 {check();
59 1
60 1
61 1 rs=0;
62 1 rw=0;
63 1 e=1;
64 1 P1=com;
65 1
66 1 nop();
67 1 e=0;
68 1 nop();
69 1 }
70
71 void sendd(uchar word) // 发显示字
72 {check();
73 1
74 1
75 1 rs=1;
76 1 rw=0;
77 1 e=1;
78 1 P1=word;
79 1 nop();
80 1 e=0;
81 1 nop();
82 1 }
83
84 void inti() // 初始化
85 {sendc(0x01);
86 1 sendc(0x38);
87 1 sendc(0x0f);
88 1 sendc(0x06);
89 1 delay(10);
90 1 }
91
92 void setcgramP()
93 {uchar x1;
94 1 uchar y;
95 1
96 1 sendc(0x40);
97 1 for(y=0;y<8;y++){for(x1=0;x1<8;x1++)
98 2 {sendd(*(fm+8*x1+y));}}
99 1 }
100
101 void setcgram()
102 {uchar x;
103 1 sendc(0x40);
104 1 for(x=0;x<64;x++)
105 1 {sendd(*(qin+x));}
106 1 }
107
108 void key()
109 {while(P2^0){};
110 1 delay(5);}
111
112 void main()
113 {unsigned char i;
114 1 setcgram();
115 1 inti();
116 1 delay(1);
117 1
C51 COMPILER V6.12 1602 11/22/2008 17:12:49 PAGE 3
118 1 sendc(0x80);
119 1 delay(500);
120 1 for(i=0;i<16;i++)
121 1 {sendd(*(tab+i));};
122 1 // {sendd(0xff);};
123 1
124 1 delay(500);
125 1 sendc(0xc0);
126 1 for(i=0;i<16;i++)
127 1 {sendd(0x00+i);};
128 1 //{sendd(0xff);};
129 1 while(1){};
130 1
131 1 }
132
133
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 257 ----
CONSTANT SIZE = 153 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
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 + -