📄 lm016.lst
字号:
C51 COMPILER V8.02 LM016 02/21/2009 23:41:44 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE LM016
OBJECT MODULE PLACED IN lm016.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lm016.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #include <stdio.h>
3 #include <math.h>
4 #define unchar unsigned char
5 #define Busy 0x80 //用于检测LCM状态字中的Busy标识
6 sbit e=P2^0; //LM0162的e引脚
7 sbit rw=P2^1; //LM0162的rw引脚
8 sbit rs=P2^2; //LM0162的rs引脚
9 void readstatus(void);
10 void delay(void)
11 {
12 1 int i;
13 1 for(i=0;i<1000;i++);
14 1 }
15 /*延时5ms*/
16 void delay5ms(void)
17 {
18 1 unsigned int TempCyc = 5552;
19 1 while(TempCyc--);
20 1 }
21 /*向LM1602写命令字*/
22 void write_c(unchar command)
23 {
24 1 readstatus();
25 1 rs=0;
26 1 rw=0;
27 1 P1=command;
28 1 e=0;
29 1 e=0;
30 1 e=0;
31 1 e=1;
32 1 delay();
33 1 }
34 /*向LM1602写数据*/
35 void write_d(unchar dat)
36 {
37 1 readstatus();
38 1 rs=1;
39 1 rw=0;
40 1 P1=dat;
41 1 e=0;
42 1 e=0;
43 1 e=0;
44 1 e=1;
45 1 delay();
46 1 }
47 /**读状态**/
48 void readstatus(void)
49 {
50 1 P1 = 0xFF;
51 1 rs = 0;
52 1 rw = 1;
53 1 e = 0;
54 1 e = 0;
55 1 e = 1;
C51 COMPILER V8.02 LM016 02/21/2009 23:41:44 PAGE 2
56 1 while (P1 & Busy); //检测忙信号
57 1 }
58 main()
59 {
60 1 write_c(0x38);//设置为8总线16*2 5*7点阵
61 1 delay5ms();
62 1 write_c(0x38);//设置为8总线16*2 5*7点阵
63 1 delay5ms();
64 1 write_c(0x38);//设置为8总线16*2 5*7点阵
65 1 delay5ms();
66 1 write_c(0x0c);//开显示,光标闪烁
67 1 write_c(0x01);//清屏幕
68 1 while(1)
69 1 {
70 2 //write_c(0x01);//清屏幕
71 2 write_c(0x80);
72 2 write_d(0x35);//5
73 2 write_d(0x37);//7
74 2 write_d(0x30);//0
75 2 write_d(0x31);//1
76 2 write_d(0x20);//空格
77 2 write_d(0x46);//f
78 2 write_d(0x61);//a
79 2 write_d(0x63);//c
80 2 write_d(0x74);//t
81 2 write_d(0x6F);//o
82 2 write_d(0x72);//r
83 2 write_d(0x79);//y
84 2 write_d(0x20);//空格
85 2 write_d(0x6f);//O
86 2 write_d(0x66);//f
87 2 write_c(0xc6);//从第二行第三列开始显示
88 2 write_d(0x50);//P
89 2 write_d(0x4c);//L
90 2 write_d(0x41);//A
91 2 write_d(0x2c);//,
92 2 write_d(0x33);//3
93 2 write_d(0x41);//A
94 2 }
95 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 246 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 2
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 + -