📄 programe.lst
字号:
C51 COMPILER V8.08 PROGRAME 06/01/2008 22:40:39 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE PROGRAME
OBJECT MODULE PLACED IN programe.OBJ
COMPILER INVOKED BY: E:\keil\C51\BIN\C51.EXE programe.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <AT89X51.h>
2 #include <stdio.h>
3 #include <math.h>
4 #define uc unsigned char
5 #define ui unsigned int
6 #define LCDPAGE 0xB8 //设置页指令。
7 #define LCDLINE 0x40 //设置列指令。
8 sbit E= P3^5;
9 sbit RW=P3^4;
10 sbit RS=P3^2;
11 sbit L=P3^1; //左半平面
12 sbit R=P3^0; //右半平面
13 sbit Busy=P2^7;// //忙 判断位
14 uc scan_key1,scan_key2; //按键功能选择,00 停止,01 正转 10 反转
15 uc step1;step2;
16 static step_index;
17 ui count1,count2; //定时
18 uc butter; //按键
19 static speed; //速度参数
20 //;本文件为16×16点阵中文字库文件,字的横向8点构成一字节,左边点在字节的高
21 //位,字符点阵四角按左上角→右上角→左下角→右下角取字
22 //;如你想在以后继续用HZDotReader打开文件,追加汉字点阵数据,请不要修改或增删所有注释
23 uc code JIANG[]=
24 {
25 //;江 CBDAD
26 0x10,0x60,0x01,0xC6,0x30,0x00,0x04,0x04,
27 0x04,0xFC,0x04,0x04,0x04,0x04,0x00,0x00,
28 0x04,0x04,0x7E,0x01,0x20,0x20,0x20,0x20,
29 0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x00,
30 };
31 uc code XI[]=
32 {
33 //;西 CCEF7
34 0x02,0xF2,0x12,0x12,0x12,0xFE,0x12,0x12,
35 0x12,0xFE,0x12,0x12,0x12,0xF2,0x02,0x00,
36 0x00,0x7F,0x28,0x24,0x22,0x21,0x20,0x20,
37 0x20,0x21,0x22,0x22,0x22,0x7F,0x00,0x00,
38 };
39 uc code LI[]=
40 {
41 //;理 CC0ED
42 0x44,0x44,0xFC,0x44,0x44,0x00,0xFE,0x92,
43 0x92,0xFE,0x92,0x92,0x92,0xFE,0x00,0x00,
44 0x10,0x10,0x0F,0x08,0x48,0x40,0x45,0x44,
45 0x44,0x7F,0x44,0x44,0x44,0x45,0x40,0x00,
46 };
47 uc GONG[]=
48 {
49 //;工 CB9A4
50 0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xFE,
51 0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,
52 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F,
53 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,
54 };
55 uc code DA[]=
C51 COMPILER V8.08 PROGRAME 06/01/2008 22:40:39 PAGE 2
56 {
57 //;大 CB4F3
58 0x20,0x20,0x20,0x20,0x20,0x20,0xA0,0x7F,
59 0xA0,0x20,0x20,0x20,0x20,0x30,0x20,0x00,
60 0x00,0x40,0x40,0x20,0x10,0x0C,0x03,0x00,
61 0x01,0x06,0x08,0x10,0x20,0x60,0x20,0x00
62 };
63 uc XUE[]=
64 {
65 //;学 CD1A7
66 0x40,0x30,0x10,0x12,0x5C,0x54,0x50,0x51,
67 0x5E,0xD4,0x50,0x18,0x57,0x32,0x10,0x00,
68 0x00,0x02,0x02,0x02,0x02,0x02,0x42,0x82,
69 0x7F,0x02,0x02,0x02,0x02,0x02,0x02,0x00,
70 };
71 uc code ZI[]= //自动化
72 {
73 0x00,0x00,0x00,0xF8,0x48,0x48,0x4C,0x4B,
74 0x4A,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,
75 0x00,0x00,0x00,0xFF,0x44,0x44,0x44,0x44,
76 0x44,0x44,0x44,0x44,0xFF,0x00,0x00,0x00,
77 };
78 uc code DONG[]=
79 {
80 0x20,0x24,0x24,0xE4,0x24,0x24,0x24,0x20,
81 0x10,0x10,0xFF,0x10,0x10,0xF0,0x00,0x00,
82 0x08,0x1C,0x0B,0x08,0x0C,0x05,0x4E,0x24,
83 0x10,0x0C,0x03,0x20,0x40,0x3F,0x00,0x00,
84 };
85 uc code HUA[]=
86 {
87 0x80,0x40,0x20,0xF8,0x07,0x02,0x00,0x00,
88 0xFF,0xC0,0x60,0x30,0x1C,0x08,0x00,0x00,
89 0x00,0x00,0x00,0x7F,0x00,0x04,0x02,0x01,
90 0x3F,0x40,0x40,0x40,0x40,0x78,0x00,0x00,
91 };
92 uc code CHANG[]= //常
93 {
94 0x20,0x18,0x08,0x09,0xEE,0xAA,0xA8,0xAF,
95 0xA8,0xA8,0xEC,0x0B,0x2A,0x18,0x08,0x00,
96 0x00,0x00,0x3E,0x02,0x02,0x02,0x02,0xFF,
97 0x02,0x02,0x12,0x22,0x1E,0x00,0x00,0x00,
98 };
99 uc code YUN[]= //运
100 {
101 0x40,0x41,0xCE,0x04,0x00,0x20,0x22,0xA2,
102 0x62,0x22,0xA2,0x22,0x22,0x22,0x20,0x00,
103 0x40,0x20,0x1F,0x20,0x28,0x4C,0x4A,0x49,
104 0x48,0x4C,0x44,0x45,0x5E,0x4C,0x40,0x00,
105 };
106 uc code XING[]= //行
107 {
108 0x10,0x08,0x84,0xC6,0x73,0x22,0x40,0x44,
109 0x44,0x44,0xC4,0x44,0x44,0x44,0x40,0x00,
110 0x02,0x01,0x00,0xFF,0x00,0x00,0x00,0x00,
111 0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,
112 };
113 uc code ZHENG[ ] =
114 {
115 /*正 CD5FD */
116 0x00,0x02,0x02,0xC2,0x02,0x02,0x02,0x02,
117 0xFE,0x82,0x82,0x82,0x82,0x82,0x02,0x00,
C51 COMPILER V8.08 PROGRAME 06/01/2008 22:40:39 PAGE 3
118 0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,
119 0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x00,
120 };
121 uc code ZHUAN[ ] =
122 {
123 /*转 CD7AA */
124 0xC8,0xA8,0x9C,0xEB,0x88,0x88,0x88,0x40,
125 0x48,0xF8,0x4F,0x48,0x48,0x48,0x40,0x00,
126 0x08,0x08,0x04,0xFF,0x04,0x04,0x00,0x02,
127 0x0B,0x12,0x22,0xD2,0x0E,0x02,0x00,0x00,
128 };
129 uc code FAN[ ] =
130 {
131 /*反 CB7B4 */
132
133 0x00,0x00,0xFE,0x12,0x72,0x92,0x12,0x12,
134 0x12,0x11,0x91,0x71,0x01,0x00,0x00,0x00,
135 0x40,0x30,0x4F,0x40,0x20,0x21,0x12,0x0C,
136 0x0C,0x12,0x11,0x20,0x60,0x20,0x00,0x00,
137 };
138 uc code TING[] =
139 {
140 /*停 CCDA3 */
141 0x80,0x40,0x20,0xF8,0x07,0x02,0x04,0x74,
142 0x54,0x55,0x56,0x54,0x74,0x04,0x04,0x00,
143 0x00,0x00,0x00,0xFF,0x00,0x03,0x01,0x05,
144 0x45,0x85,0x7D,0x05,0x05,0x05,0x03,0x00,
145 };
146 uc code ZHI[ ] =
147 {
148 /*止 CD6B9 */
149 0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,
150 0xFF,0x40,0x40,0x40,0x40,0x40,0x00,0x00,
151 0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,
152 0x7F,0x40,0x40,0x40,0x40,0x40,0x40,0x00,
153 };
154 uc code JIA[]= //加
155 {
156 0x00,0x08,0x08,0x08,0xFF,0x08,0x08,0xF8,
157 0x00,0xF8,0x08,0x08,0x08,0xF8,0x00,0x00,
158 0x40,0x20,0x18,0x07,0x00,0x20,0x40,0x3F,
159 0x00,0x7F,0x10,0x10,0x10,0x3F,0x00,0x00,
160 };
161 uc code SU[]= //速
162 {
163 0x40,0x42,0xCC,0x00,0x04,0xE4,0x24,0x24,
164 0xFF,0x24,0x24,0x24,0xE4,0x04,0x00,0x00,
165 0x40,0x20,0x1F,0x20,0x48,0x49,0x45,0x43,
166 0x7F,0x41,0x43,0x45,0x4D,0x40,0x40,0x00,
167 };
168 uc code JIAN[]= //减
169 {
170 0x00,0x02,0xEC,0x00,0xF8,0x28,0x28,0x28,
171 0x28,0x28,0xFF,0x08,0x8A,0xEC,0x48,0x00,
172 0x02,0x5F,0x20,0x18,0x07,0x00,0x1F,0x49,
173 0x5F,0x20,0x13,0x0C,0x13,0x20,0x78,0x00,
174 }; //输出空白区域
175 uc code BAI[]=
176 {
177 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
178 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
179 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
C51 COMPILER V8.08 PROGRAME 06/01/2008 22:40:39 PAGE 4
180 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
181 };
182 uc code DI[]= //低
183 {
184 0x40,0x20,0xF0,0x0C,0x07,0x02,0xFC,0x44,
185 0x44,0x42,0xFE,0x43,0x43,0x42,0x40,0x00,
186 0x00,0x00,0x7F,0x00,0x00,0x00,0x7F,0x20,
187 0x10,0x28,0x43,0x0C,0x10,0x20,0x78,0x00,
188 };
189 //////////////////函数声明 **************////////
190 //************************************************
191 void iniLCD(void);
192 void chkbusy(void);
193 void wcode(uc cd) ;
194 void wdata(uc dat);
195 void disrow(uc page,uc col,uc *temp);
196 void display( uc page,uc col,uc *temp);
197 void ground(step); //转步
198 void run1(); //正转
199 void run2();
200 void stop();
201 void delay(ui time);
202 //************************************
203 //**************LCD初始化 ***************
204 //*********************************
205 void iniLCD(void) //初始化
206 { L=1;R=1;
207 1 wcode(0x38);
208 1 wcode(0x0f); //开显示 设置
209 1 wcode(0xc0); //设置显示启动为第一行
210 1 wcode(0x01); //清屏
211 1 wcode(0x06); //画面不动,光标右移。
212 1 }
213 //******************LCD判断忙的子程序**********
214 //**********************************************8
215 void chkbusy(void) // 测LCD忙状态
216 {
217 1 E=1; //使能LCD
218 1 RS=0; //读写指令
219 1 RW=1; //读
220 1 P2=0xff; //读操作前先进行一次空读操作 ,接下来才能读到数据
221 1 while(!Busy); //等待,不忙退出
222 1 }
223 //*****************************************
224 //*****************写指令代码*****************
225 //***********************************************
226 void wcode(uc cd) //写指令 代码
227 {
228 1 chkbusy(); //写等待
229 1 P2=0xff; //使能LCD
230 1 RW=0; //读禁止
231 1 RS=0; //输出 设置
232 1 P2=cd; //写数据代码
233 1 E=1; //以下两句产生下降沿
234 1 E=0; //
235 1 }
236 //*******************把显示数据写到内存单元中 *****************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -