📄 11-5.5.lst
字号:
C51 COMPILER V7.09 11_5_5 06/18/2004 09:33:22 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE 11_5_5
OBJECT MODULE PLACED IN 11-5.5.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 11-5.5.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 //功能引脚定义
3 //#define A0 BIT(PC6) //数据1/命令0选择
4 sbit A0 = P1^4;
5 //#define WR BIT(PC5) //读1/写0
6 sbit _WR = P1^3;
7 //#define E1 BIT(PC4) //片选1(Master)
8 sbit E1 = P1^1;
9 //#define E2 BIT(PC7) //片选2(slave)
10 sbit E2 = P1^2;
11 //#define lcd_data PORTA //数据
12 #define lcd_data P0
13
14 //常用操作宏定义
15 #define set_E1() (E1=1) //1片选M
16 #define set_E2() (E2=1) //1片选S
17 #define set_A0() (A0=1) //1数据
18 #define set_WR() (_WR=1) //1读
19
20 #define clr_E1() (E1=0) //0
21 #define clr_E2() (E2=0) //0
22 #define clr_A0() (A0=0) //0命令
23 #define clr_WR() (_WR=0) //0写
24
25 //液晶显示控制命令表
26 #define disp_off 0xAE //显示关闭
27 #define disp_on 0xAF //显示打开
28 #define disp_start_line 0xC0 //显示起始地址(后5位-表示0-31行)
29 #define page_addr_set 0xB8 //页地址设置(0~3)
30 #define col_addr_set 0x00 //列地址设置(0~61)
31 #define status_busy 0x80 //0=ready
32 #define mode_write 0xEE //写模式
33 #define dynamic_driver 0xA4 //动态驱动
34 #define adc_select 0xA0 //clockwise
35 #define clk32 0xA9 //刷新时钟设置1/32
36 #define clk16 0xA8 //刷新时钟设置1/16
37 #define reset 0xE2 //软件复位
38
39 ////新的驱动着重在简化代码,这样外部可调用的函数为:系统初始化,清屏,判忙标志////
40 ////ASCII和汉字混合输出函数,RAM buffer数据显示输出(一般用于输出数字)//////////
41 #include <reg51.h>
42 #include <intrins.h>
43
44
45 #define uchar unsigned char
46 #define uint unsigned int
47 #define NOP() _nop_();
48
49 uchar dot_buffer[32]; //点阵缓存区
50 uchar disp_buffer[4]; //ram数据显示缓存区
51
52 void lcd_init(void); //LCD初始化
53 void lcd_clr(void); //LCD清屏
54 void wait_ready(void); //等待ready
55 void draw_bmp(uchar col,uchar layer,uchar width,uchar *bmp);
C51 COMPILER V7.09 11_5_5 06/18/2004 09:33:22 PAGE 2
56 //点阵码显示输出
57 void disp_one_ascii(uchar col,uchar layer,uchar ascii_code,uchar mode);
58 //单个ascci码输出(ascii_code为ascii编码)
59 void disp_ram_data(uchar col,uchar layer,uchar n,uchar mode);
60 //ram数据(数字)显示输出
61 void dprintf(uchar col,uchar layer,uchar *buf,uchar mode);
62 //通用混合字串显示
63
64 typedef struct data_gb16 //汉字字模数据结构
65 {
66 uchar index[2];
67 uchar zimo[32];
68 };
69
70 struct data_gb16 code hz16[] =
71 {
72 "延", 0x00,0x84,0xC4,0xA4,0x94,0x8C,0x00,0xE4,
73 0x04,0x04,0xFC,0x42,0x63,0x42,0x00,0x00,
74 0x80,0x44,0x28,0x10,0x2C,0x43,0x40,0x4F,
75 0x48,0x48,0x4F,0x48,0x4C,0x68,0x20,0x00,
76 "时", 0x00,0xFC,0x84,0x84,0x84,0xFE,0x14,0x10,
77 0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x00,
78 0x00,0x3F,0x10,0x10,0x10,0x3F,0x00,0x00,
79 0x00,0x23,0x40,0x80,0x7F,0x00,0x00,0x00
80 };
81
82 uchar code ascii[] = {
83 //前面0x20(32个)ASCII码为控制命令 //本程序中不用
84 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//
85 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
86 0x00,0x00,0x38,0xFC,0xFC,0x38,0x00,0x00,//!
87 0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00,
88 0x00,0x0E,0x1E,0x00,0x00,0x1E,0x0E,0x00,//"
89 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
90 0x20,0xF8,0xF8,0x20,0xF8,0xF8,0x20,0x00,//#
91 0x02,0x0F,0x0F,0x02,0x0F,0x0F,0x02,0x00,
92 0x38,0x7C,0x44,0x47,0x47,0xCC,0x98,0x00,//$
93 0x03,0x06,0x04,0x1C,0x1C,0x07,0x03,0x00,
94 0x30,0x30,0x00,0x80,0xC0,0x60,0x30,0x00,//%
95 0x0C,0x06,0x03,0x01,0x00,0x0C,0x0C,0x00,
96 0x80,0xD8,0x7C,0xE4,0xBC,0xD8,0x40,0x00,//&
97 0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,
98 0x00,0x10,0x1E,0x0E,0x00,0x00,0x00,0x00,//'
99 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
100 0x00,0x00,0xF0,0xF8,0x0C,0x04,0x00,0x00,//(
101 0x00,0x00,0x03,0x07,0x0C,0x08,0x00,0x00,
102 0x00,0x00,0x04,0x0C,0xF8,0xF0,0x00,0x00,//)
103 0x00,0x00,0x08,0x0C,0x07,0x03,0x00,0x00,
104 0x80,0xA0,0xE0,0xC0,0xC0,0xE0,0xA0,0x80,//*
105 0x00,0x02,0x03,0x01,0x01,0x03,0x02,0x00,
106 0x00,0x80,0x80,0xE0,0xE0,0x80,0x80,0x00,//+
107 0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00,
108 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//,
109 0x00,0x00,0x10,0x1E,0x0E,0x00,0x00,0x00,
110 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,//-
111 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
112 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//.
113 0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,
114 0x00,0x00,0x00,0x80,0xC0,0x60,0x30,0x00,///
115 0x0C,0x06,0x03,0x01,0x00,0x00,0x00,0x00,
116 0xF8,0xFC,0x04,0xC4,0x24,0xFC,0xF8,0x00,//0
117 0x07,0x0F,0x09,0x08,0x08,0x0F,0x07,0x00,
C51 COMPILER V7.09 11_5_5 06/18/2004 09:33:22 PAGE 3
118 0x00,0x10,0x18,0xFC,0xFC,0x00,0x00,0x00,//1
119 0x00,0x08,0x08,0x0F,0x0F,0x08,0x08,0x00,
120 0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00,//2
121 0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00,
122 0x08,0x0C,0x44,0x44,0x44,0xFC,0xB8,0x00,//3
123 0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00,
124 0xC0,0xE0,0xB0,0x98,0xFC,0xFC,0x80,0x00,//4
125 0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,
126 0x7C,0x7C,0x44,0x44,0xC4,0xC4,0x84,0x00,//5
127 0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00,
128 0xF0,0xF8,0x4C,0x44,0x44,0xC0,0x80,0x00,//6
129 0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
130 0x0C,0x0C,0x04,0x84,0xC4,0x7C,0x3C,0x00,//7
131 0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00,
132 0xB8,0xFC,0x44,0x44,0x44,0xFC,0xB8,0x00,//8
133 0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
134 0x38,0x7C,0x44,0x44,0x44,0xFC,0xF8,0x00,//9
135 0x00,0x08,0x08,0x08,0x0C,0x07,0x03,0x00,
136 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,//:
137 0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00,
138 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,//;
139 0x00,0x00,0x08,0x0E,0x06,0x00,0x00,0x00,
140 0x00,0x80,0xC0,0x60,0x30,0x18,0x08,0x00,//<
141 0x00,0x00,0x01,0x03,0x06,0x0C,0x08,0x00,
142 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,//=
143 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,
144 0x00,0x08,0x18,0x30,0x60,0xC0,0x80,0x00,//>
145 0x00,0x08,0x0C,0x06,0x03,0x01,0x00,0x00,
146 0x18,0x1C,0x04,0xC4,0xE4,0x3C,0x18,0x00,//?
147 0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00,
148 0xF0,0xF8,0x08,0xC8,0xC8,0xF8,0xF0,0x00,//@
149 0x07,0x0F,0x08,0x0B,0x0B,0x0B,0x01,0x00,
150 0xE0,0xF0,0x98,0x8C,0x98,0xF0,0xE0,0x00,//A
151 0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,
152 0x04,0xFC,0xFC,0x44,0x44,0xFC,0xB8,0x00,//B
153 0x08,0x0F,0x0F,0x08,0x08,0x0F,0x07,0x00,
154 0xF0,0xF8,0x0C,0x04,0x04,0x0C,0x18,0x00,//C
155 0x03,0x07,0x0C,0x08,0x08,0x0C,0x06,0x00,
156 0x04,0xFC,0xFC,0x04,0x0C,0xF8,0xF0,0x00,//D
157 0x08,0x0F,0x0F,0x08,0x0C,0x07,0x03,0x00,
158 0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,//E
159 0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00,
160 0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,//F
161 0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,
162 0xF0,0xF8,0x0C,0x84,0x84,0x8C,0x98,0x00,//G
163 0x03,0x07,0x0C,0x08,0x08,0x07,0x0F,0x00,
164 0xFC,0xFC,0x40,0x40,0x40,0xFC,0xFC,0x00,//H
165 0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,
166 0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x00,//I
167 0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,
168 0x00,0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,//J
169 0x07,0x0F,0x08,0x08,0x0F,0x07,0x00,0x00,
170 0x04,0xFC,0xFC,0xC0,0xF0,0x3C,0x0C,0x00,//K
171 0x08,0x0F,0x0F,0x00,0x01,0x0F,0x0E,0x00,
172 0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,//L
173 0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00,
174 0xFC,0xFC,0x38,0x70,0x38,0xFC,0xFC,0x00,//M
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -