📄 fu.lst
字号:
C51 COMPILER V8.02 FU 03/06/2009 12:51:48 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE FU
OBJECT MODULE PLACED IN fu.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE fu.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg52.h>
2 #include<stdio.h>
3 #include<intrins.h>
4 #define uchar unsigned char
5 #define uint unsigned int
6 #define lcddataport P0
7 sbit res= P2^2;
8 sbit ce =P2^1;
9 sbit cd=P2^0;
10 sbit wr=P3^6;
11 sbit rd=P3^7;
12 void delay(uint m) //延时函数
13 {
14 1 uint i,j;
15 1 for(i=0;i<m;i++)
16 1 for(j=0;j<109;j++) ;
17 1 }
18
19 void sendcommand(uchar command) //从P0口写入指令
20 {
21 1 delay(100);
22 1 cd=1;
23 1 ce=0;
24 1 wr=0;
25 1 lcddataport=command;
26 1 wr=1;
27 1 ce=1;
28 1 }
29 void senddata(uchar data1)//从P0口写入数据
30 {
31 1 delay(10);
32 1 cd=0;
33 1 ce=0;
34 1 wr=0;
35 1 lcddataport=data1;
36 1 wr=1;
37 1 ce= 1;
38 1 }
39 void dispalytextscreen ( uint startaddress,uchar line,uint column,uchar code *s) // 显示文本子程序
40 {
41 1 startaddress = startaddress+line*16+column;//
42 1 senddata((uchar) (startaddress));//强制类型转换成八位
43 1 senddata((uchar) (startaddress>>8));// 右移8位 ,即将转换成的两个八位数据送入P0口
44 1 sendcommand (0x24);//设置地址
45 1 while(*s>0)
46 1 {
47 2 senddata((*s)-0x20);
48 2 sendcommand(0xc0);//数据写入,地址自动增量
49 2 s++;
50 2 }
51 1 }
52 void displaygraphicscreen(uint startaddress,uchar line,uchar column,uchar *g)
53 {
54 1 uchar i,j; //图形显示子程序
55 1 startaddress=startaddress+16*line+column; //首地址设置
C51 COMPILER V8.02 FU 03/06/2009 12:51:48 PAGE 2
56 1 senddata((uchar) (startaddress)); //强制类型转换后送入P0口
57 1 senddata((uchar) (startaddress>>8));
58 1 sendcommand (0x24);//设置地址
59 1 for(i=0;i<64;i++)
60 1 {
61 2 for(j=0;j<8;j++)
62 2 {
63 3 senddata(g[i*15+j]); //送入图形地址,地址自动加一
64 3 sendcommand(0xc0);
65 3 }
66 2 startaddress=startaddress+30; //由于图形尺寸小于屏幕宽度,故每显示完一行地址加三十
67 2 senddata((uchar) (startaddress));
68 2 senddata((uchar) (startaddress>>8));
69 2 sendcommand(0x24);
70 2 }
71 1
72 1 }
73 void clearscreen() // 清屏子程序
74 { uchar i;
75 1 senddata(0x00); //设置清屏起始地址
76 1 sendcommand(0x24);
77 1 delay(10);
78 1 sendcommand(0xb0); //设置自动写
79 1 for(i=0;i<0x2000;i++)
80 1 senddata(0xff); //写入0x00,清理屏幕
81 1 sendcommand(0xb2); //关闭自动写
82 1 }
83
84 void lcminitial()
85 {
86 1 // res=0 ;
87 1 delay(50000);
88 1 delay(50000);
89 1 delay(50000);
90 1 res=1;
91 1 delay(100);
92 1 sendcommand(0x00);sendcommand(0x00);sendcommand(0x40); /*文本首址*/
93 1 sendcommand(0x10);sendcommand(0x00);sendcommand(0x41);/*文本区域*/ //每行显示16个字符
94 1 sendcommand(0x00);sendcommand(0x01);sendcommand(0x42); /*图形首址*/
95 1 sendcommand(0x10);sendcommand(0x00);sendcommand(0x43); /*图形区域*/
96 1 sendcommand(0x81); /*显示方式*/
97 1 sendcommand(0x9c); /*显示开关*/
98 1 sendcommand(0xac); /*光标形状*/
99 1 clearscreen();
100 1 }
101 unsigned char code topwaylogo[]={
102 /*-- 调入了一幅图像:C:\Documents and Settings\zhaochao288\桌面\picture\test1.bmp --*/
103 /*-- 宽度x高度=96x48 --*/
104 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x82,0x80,
105 0x00,0x00,0x00,0x02,0x10,0x00,0x0F,0xFB,0x00,0x02,0x42,0x80,0x00,0x00,0x00,0x19,
106 0x18,0x00,0x0B,0xFF,0x00,0x02,0xC2,0x80,0x00,0x00,0x00,0x21,0xFF,0x00,0x0F,0xFF,
107 0x00,0x3B,0xC1,0x80,0x00,0x00,0x00,0x57,0xFF,0xE0,0x0F,0xFF,0x00,0x45,0xB9,0x80,
108 0x80,0x00,0x00,0x8F,0xFF,0xF1,0x0F,0xFF,0x00,0x82,0x44,0xA0,0x80,0x00,0x01,0x1E,
109 0x8F,0xFE,0x0F,0xFF,0x00,0x82,0x5C,0x10,0x60,0x00,0x00,0xF9,0x07,0xFC,0x0F,0xFF,
110 0x0F,0x83,0xF8,0x49,0xF8,0x00,0x00,0x33,0x06,0x7E,0x0F,0xFE,0x10,0x8A,0x20,0x47,
111 0xFE,0x00,0x00,0x67,0x06,0x7F,0x0E,0x0E,0x10,0x92,0x10,0xA7,0x1F,0x00,0x00,0x6F,
112 0x8F,0xFF,0x0C,0x04,0x10,0x44,0x11,0x26,0x0F,0x00,0x00,0x4F,0xF3,0xFF,0x8C,0xE4,
113 0x08,0x78,0x51,0x3D,0x0F,0x80,0x00,0x1F,0xF3,0x9D,0xC9,0x02,0x0F,0xCC,0x22,0x2D,
114 0x9F,0x80,0x00,0x1F,0xCE,0x9E,0x89,0x02,0x10,0x5F,0xC4,0x0B,0xE7,0xC0,0x00,0x1F,
115 0xCF,0xF6,0x93,0xC2,0x20,0x7C,0x49,0x5A,0x67,0xC0,0x00,0x1F,0xFF,0xFE,0x84,0x22,
116 0x21,0x7C,0x30,0x12,0x7F,0xC0,0x00,0x1F,0xFF,0xFE,0x05,0x22,0x22,0x84,0x21,0x0B,
117 0xFF,0xC0,0x00,0x1F,0xFF,0xF6,0x04,0x22,0x11,0xA4,0x20,0x0B,0xFF,0xC0,0x00,0x0F,
C51 COMPILER V8.02 FU 03/06/2009 12:51:48 PAGE 3
118 0xFF,0xD6,0x06,0x44,0x0E,0x86,0x41,0x4B,0xFF,0xC0,0x00,0x0F,0xFF,0xCC,0x00,0x05,
119 0x10,0x97,0xFC,0x07,0xFF,0xC0,0x00,0x07,0xF0,0x1C,0x00,0x08,0x20,0x8F,0xE9,0x15,
120 0xFE,0xC0,0x00,0x07,0xE0,0x38,0x10,0x09,0xF8,0x7F,0xF0,0x05,0xE2,0x80,0x1F,0xC3,
121 0x80,0x78,0x10,0x10,0xF4,0x5F,0xD5,0x49,0xE1,0x8F,0xE0,0x40,0xC1,0xF0,0x2C,0x65,
122 0x7A,0x5F,0xA0,0x08,0xC3,0x08,0x1F,0xC3,0xFF,0xC0,0x23,0x80,0xBE,0xEE,0xD1,0x09,
123 0x7E,0x07,0xFF,0xC0,0xFF,0x00,0x50,0x71,0x6B,0x5F,0x00,0x08,0x00,0x07,0xFF,0xC0,
124 0x00,0xE0,0x40,0x88,0x1D,0xC0,0x55,0x48,0x74,0x03,0xFF,0xC0,0x20,0x20,0x95,0x05,
125 0x77,0xFE,0x00,0x04,0x8A,0x03,0xFF,0xC0,0x20,0x41,0x01,0x04,0xBF,0xFF,0xC1,0x14,
126 0x48,0x01,0xFF,0xC0,0x1F,0x83,0x87,0x04,0xFF,0xFF,0xF0,0x02,0x38,0x01,0xFE,0x40,
127 0x00,0x05,0x58,0x8F,0xF0,0x40,0xF5,0x55,0x00,0x01,0xF0,0x40,0x00,0x18,0x30,0x70,
128 0xB8,0xA1,0xD0,0x00,0x80,0x00,0xE0,0x40,0x00,0x20,0x10,0x70,0xC7,0xDE,0x21,0x11,
129 0x60,0x00,0x40,0x80,0x00,0xC0,0x10,0xF0,0xF8,0x29,0xD0,0x00,0x18,0x00,0x3F,0x00,
130 0x03,0x00,0x0F,0x10,0xBE,0x73,0x35,0x45,0x46,0x00,0x00,0x00,0x1C,0x00,0x02,0x0F,
131 0x6C,0x33,0x20,0x00,0x01,0xC0,0x00,0x01,0xFF,0x80,0x02,0x08,0xBF,0xFC,0xD1,0x11,
132 0x10,0x3D,0xFC,0x3F,0x00,0x60,0x02,0x08,0x3F,0xFC,0xC0,0x00,0x00,0x06,0x03,0xC8,
133 0x00,0x1C,0x01,0x18,0x2E,0x33,0x04,0x44,0x44,0x18,0x00,0x70,0x00,0x03,0xC1,0xE8,
134 0x3F,0x73,0x00,0x00,0x00,0x60,0x00,0x20,0x00,0x00,0x39,0x08,0x3F,0x6F,0xD0,0x10,
135 0x11,0x80,0x00,0x40,0x00,0x00,0x06,0x04,0x3F,0x5F,0xC0,0x00,0x06,0x20,0x00,0x40,
136 0x00,0x20,0x01,0x04,0xEF,0x3F,0xF7,0xFF,0xFF,0xF0,0x00,0x40,0x00,0x7F,0xFF,0xFF,
137 0x17,0x7F,0x80,0x00,0x00,0x0C,0x00,0x40,0x00,0x80,0x00,0x00,0x1E,0x3F,0x80,0x00,
138 0x00,0x03,0x81,0xA0,0x07,0x00,0x00,0x00,0x0F,0xFF,0x00,0x00,0x00,0x00,0x7E,0x1F,
139 0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
140 };
141
142 void main()
143 {
144 1 lcminitial();
145 1 displaygraphicscreen(0x0800,0x00,0x07,topwaylogo);
146 1 delay(2000);
147 1
148 1
149 1
150 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 429 ----
CONSTANT SIZE = 576 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 17
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 + -