📄 lcd1602fortran.lst
字号:
C51 COMPILER V7.50 LCD1602FORTRAN 11/13/2005 03:03:14 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE LCD1602FORTRAN
OBJECT MODULE PLACED IN .\Lcd1602ForTran.obj
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE ..\Lcd1602ForTran\Lcd1602ForTran.c ROM(COMPACT) BROWSE DEBUG OBJECTEXTEND P
-RINT(.\Lcd1602ForTran.lst) OBJECT(.\Lcd1602ForTran.obj)
line level source
1 /*********************************************************************
2 微 雪 电 子 WaveShare http://www.waveShare.net
3
4 目 的: 建立LCD1602的测试程序
5
6 目标系统: 基于任何兼容C51的微处理器
7
8 应用软件: Keil C
9
10 版 本: Version 1.0
11
12 圆版时间: 2004-10-26
13
14 开发人员: SEE
15
16 说 明: 若用于商业用途,请保留此段文字或注明代码来源
17
18 深 圳 微 雪 电 子 保 留 所 有 的 版 权
19 *********************************************************************/
20
21 /*01010101010101010101010101010101010101010101010101010101010101010101
22 ----------------------------------------------------------------------
23 版本更新记录:
24 版 本: Version 1.1
25 圆版时间: 2005-03-25
26
27 ----------------------------------------------------------------------
28 接入模块: LCD1602
29 接口说明: 短接以下端子:P35-RS,P36-RW,P37-E,P24-D4,P25-D5,P26-D6,P27-D7
30 ----------------------------------------------------------------------
31 注意事项:
32 * 操作LCD使用的IO口,该IO对应的LED-SW不得短接使能
33 * 短接以下端子:P35-RS,P36-RW,P37-E,P24-D4,P25-D5,P26-D6,P27-D7
34 ----------------------------------------------------------------------
35 10101010101010101010101010101010101010101010101010101010101010101010*/
36
37 #include <REGX51.H>
38 #include "D:\C51_H\CmmC51.H"
39 #include "D:\C51_H\HardExt.H"
*** WARNING C318 IN LINE 39 OF ..\Lcd1602ForTran\Lcd1602ForTran.c: can't open file 'D:\C51_H\HardExt.H'
40
41 sbit RS = P3^5;
42 sbit RW = P3^6;
43 sbit E = P3^7;
44 sbit D4 = P2^4;
45 sbit D5 = P2^5;
46 sbit D6 = P2^6;
47 sbit D7 = P2^7;
48 sbit BUSY = P2^7;
49
50 /* control port */
51 #define SET_RS RS = 1
52 #define CLR_RS RS = 0
53 #define SET_RW RW = 1
C51 COMPILER V7.50 LCD1602FORTRAN 11/13/2005 03:03:14 PAGE 2
54 #define CLR_RW RW = 0
55 #define SET_E E = 1
56 #define CLR_E E = 0
57
58 /* data port */
59 #define SET_D4 D4 = 1
60 #define CLR_D4 D4 = 0
61 #define SET_D5 D5 = 1
62 #define CLR_D5 D5 = 0
63 #define SET_D6 D6 = 1
64 #define CLR_D6 D6 = 0
65 #define SET_D7 D7 = 1
66 #define CLR_D7 D7 = 0
67
68 /* busy port */
69 #define GET_BF BUSY
70
71 #include "D:\C51_H\LCD1602ForTran.H"
72
73 /*--------------------------------------------------------------------
74 函数全称:
75 函数功能:
76 注意事项:
77 提示说明:
78 输 入:
79 返 回:
80 --------------------------------------------------------------------*/
81 void main()
82 {
83 1 const uint8 userCh0[8]={0x10,0x1f,0x01,0x02,0x04,0x08,0x10,0x1f};
84 1 const uint8 userCh1[8]={0x00,0x08,0x0f,0x01,0x02,0x04,0x08,0x0f};
85 1 const uint8 userCh2[8]={0x00,0x00,0x04,0x07,0x01,0x02,0x04,0x07};
86 1
87 1 LCD1602_init();
88 1 LCD1602_setCmd("CLR_SCR");
89 1
90 1 while(1)
91 1 {
92 2 LCD1602_puts(0xC6," ");
93 2 delay50ms(5);
94 2 LCD1602_puts(0xC6,"Sleeping");
95 2 delay50ms(5);
96 2 LCD1602_puts(0xC6," ");
97 2 delay50ms(5);
98 2 LCD1602_puts(0xC6,"Sleeping");
99 2 delay50ms(5);
100 2
101 2 LCD1602_setCGRAM(CGRAM0,userCh0); //Set CGRAM0' data
102 2 LCD1602_setCGRAM(CGRAM1,userCh1); //Set CGRAM1' data
103 2 LCD1602_setCGRAM(CGRAM2,userCh2); //Set CGRAM2' data
104 2
105 2 LCD1602_putc(0x84,CGRAM2); //putc to 0x84 by CGRAM2' data
106 2 delay50ms(10);
107 2 LCD1602_putc(0x83,CGRAM1); //putc to 0x83 by CGRAM1' data
108 2 delay50ms(12);
109 2 LCD1602_putc(0x82,CGRAM0); //putc to 0x82 by CGRAM0' data
110 2 delay50ms(14);
111 2
112 2 LCD1602_setCmd("CLR_SCR");
113 2 }
114 1 }
C51 COMPILER V7.50 LCD1602FORTRAN 11/13/2005 03:03:14 PAGE 3
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1726 ----
CONSTANT SIZE = 190 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 7 62
IDATA SIZE = ---- ----
BIT SIZE = 6 2
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -