lcd202.lst
来自「高奇公司ICD的例子,全部能用,非常好!C语言编程」· LST 代码 · 共 103 行
LST
103 行
1: /*********************************************************************
2: * Filename: lcd202.c *
3: * Date: 10/19/2002 *
4: * Edit by Yamato View ,Goldenchip Electronic Co. ,Ltd. *
5: * *
6: * TEL: 86-0591-3375855-721 *
7: * *
8: *********************************************************************/
9: #include <pic.h>
10: #include "lcd.h"
11: // PORTBITS
12: #define PortBit(port,bit) ((unsigned)&(port)*8+(bit))
13: #define RS RA1
14: #define E RA0
15: #define DATA PORTD
16:
17: void Write_Lcd_Cmd( unsigned char cmd ) // 写命令到LCD子程序
18: {
19: DATA = cmd ; // 送高4位
20: RS = 0; // 设置为发送命令格式
21: E = 1; // 发送信号,下降沿触发
22: NOP();
23: NOP();
24: E = 0;
25: Delay5Ms(); //
26: }
27:
28:
29: void Write_Lcd_Data( unsigned char data ) // 写数据到LCD的子程序
30: {
31: DATA = data; // 送高4位
32: RS = 1; // 设置为发送数据格式
33: E = 1; //
34: NOP();
35: NOP(); //
36: E = 0; // set enable low
37: Delay5Ms(); //
38: }
39:
40: void Init_Lcd( void ) // 初始化 LCD 显示
41: {
42: DATA = 0x00;
43: TRISD = 0x00;
44: TRISA = 0xFC;
45:
46: Delay15Ms(); // ~15mS延时
47:
48: DATA = 0x38;
49: RS = 0 ;
50: E = 1;
51: NOP();
52: NOP();
53: E = 0;
54: Delay5Ms();
55: Delay15Ms();
56:
57:
58: Write_Lcd_Cmd( 0x38 ); //
59: Write_Lcd_Cmd( 0x0C ); // 开显示
60: Write_Lcd_Cmd( 0x06 ); // 设置指针移动方式
61: Write_Lcd_Cmd( 0x01 ); // 清屏
62: // while(1){}
63: }
64:
65: void Home_Clr( void ) // 清屏
66: {
67: Write_Lcd_Cmd( 0x01 );
68: }
69:
70:
71: void Line_1( void ) // 从第一行显示
72: {
73: Write_Lcd_Cmd( 0x80 );
74: }
75:
76: void Line_2( void ) // 从第2行开始显示
77: {
78: Write_Lcd_Cmd (0xC0 );
79: }
80:
81:
82:
83: void Delay15Ms( void ) // 精确 15ms 延时
84: {
85: unsigned char outer, inner;
86: for (outer = 45; outer > 0; outer--)
87: for (inner = 235; inner > 0; inner--);
88: }
89:
90: void Delay5Ms( void ) // 精确 5ms 延时
91: {
92: unsigned char outer, inner;
93: for (outer = 15; outer > 0; outer--)
94: for (inner = 240; inner > 0; inner--);
95: }
96:
97:
98: void Delay200Us( void ) // 精确 200us 延时
99: {
100: unsigned char delay;
101: for (delay = 167; delay > 0; delay--);
102: }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?