使用AVR单片机驱动RT1601 LCD显示芯片

来源:本站
导读:目前正在解读《使用AVR单片机驱动RT1601 LCD显示芯片》的相关信息,《使用AVR单片机驱动RT1601 LCD显示芯片》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《使用AVR单片机驱动RT1601 LCD显示芯片》的详细说明。
简介:使用AVR单片机驱动RT1601 LCD显示芯片

研究了一下,如何用ATmega 16单片机,来驱动字符型液晶显示芯片,现把研究心得写出来:

我手里的这个RT1601液晶显示模块,使用的是S6A0069显示芯片。

各个引脚简单说明一下:

使用AVR单片机驱动RT1601 LCD显示芯片

控制和数据引脚配置如下:

-------------------------------

PORTD_0 - RS

PORTD_1 - R/W

PORTD_2 - E

PORTA - DATA BUS

------------------------------

LCD.h

1使用AVR单片机驱动RT1601 LCD显示芯片#ifndef _LCD_H_

2使用AVR单片机驱动RT1601 LCD显示芯片#define_LCD_H_

3使用AVR单片机驱动RT1601 LCD显示芯片/*****************************************

4使用AVR单片机驱动RT1601 LCD显示芯片RS - PORTD_0

5使用AVR单片机驱动RT1601 LCD显示芯片R/W - PORTD_1

6使用AVR单片机驱动RT1601 LCD显示芯片E - PORTD_2

7使用AVR单片机驱动RT1601 LCD显示芯片DB - PORTA

8使用AVR单片机驱动RT1601 LCD显示芯片******************************************/

9使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Set_RS(void);

10使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Clear_RS(void);

11使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Set_RW(void);

12使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Clear_RW(void);

13使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Set_E(void);

14使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Clear_E(void);

15使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_CheckBF(void);

16使用AVR单片机驱动RT1601 LCD显示芯片//Write Command

17使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Write_Cmd(unsignedcharbyCmd);

18使用AVR单片机驱动RT1601 LCD显示芯片//Write Data

19使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Write_Data(unsignedcharbyData);

20使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Delay_5ms(void);

21使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Delay_500ms(void);

22使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_PortInit(void);

23使用AVR单片机驱动RT1601 LCD显示芯片

24使用AVR单片机驱动RT1601 LCD显示芯片//Application Interface

25使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Init(void);

26使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Display(char*pstrText);

27使用AVR单片机驱动RT1601 LCD显示芯片

28使用AVR单片机驱动RT1601 LCD显示芯片#endif

29使用AVR单片机驱动RT1601 LCD显示芯片

LCD.c

这里是液晶驱动的实现部分,对外开放两个接口:LCD_Init, LCD_Display。(我这个模块,是两行显示的,共16个字符)

1使用AVR单片机驱动RT1601 LCD显示芯片#include"LCD.h"

2使用AVR单片机驱动RT1601 LCD显示芯片#include<iom16v.h>

3使用AVR单片机驱动RT1601 LCD显示芯片#include<macros.h>

4使用AVR单片机驱动RT1601 LCD显示芯片

5使用AVR单片机驱动RT1601 LCD显示芯片/*****************************************

6使用AVR单片机驱动RT1601 LCD显示芯片RS - PORTD_0

7使用AVR单片机驱动RT1601 LCD显示芯片R/W - PORTD_1

8使用AVR单片机驱动RT1601 LCD显示芯片E - PORTD_2

9使用AVR单片机驱动RT1601 LCD显示芯片DB - PORTA

10使用AVR单片机驱动RT1601 LCD显示芯片******************************************/

11使用AVR单片机驱动RT1601 LCD显示芯片

12使用AVR单片机驱动RT1601 LCD显示芯片

13使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Set_RS(void)

14使用AVR单片机驱动RT1601 LCD显示芯片{

15使用AVR单片机驱动RT1601 LCD显示芯片PORTD|=(1<<0);

16使用AVR单片机驱动RT1601 LCD显示芯片

17使用AVR单片机驱动RT1601 LCD显示芯片return;

18使用AVR单片机驱动RT1601 LCD显示芯片}

19使用AVR单片机驱动RT1601 LCD显示芯片

20使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Clear_RS(void)

21使用AVR单片机驱动RT1601 LCD显示芯片{

22使用AVR单片机驱动RT1601 LCD显示芯片PORTD&=~(1<<0);

23使用AVR单片机驱动RT1601 LCD显示芯片

24使用AVR单片机驱动RT1601 LCD显示芯片return;

25使用AVR单片机驱动RT1601 LCD显示芯片}

26使用AVR单片机驱动RT1601 LCD显示芯片

27使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Set_RW(void)

28使用AVR单片机驱动RT1601 LCD显示芯片{

29使用AVR单片机驱动RT1601 LCD显示芯片PORTD|=(1<<1);

30使用AVR单片机驱动RT1601 LCD显示芯片

31使用AVR单片机驱动RT1601 LCD显示芯片return;

32使用AVR单片机驱动RT1601 LCD显示芯片}

33使用AVR单片机驱动RT1601 LCD显示芯片

34使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Clear_RW(void)

35使用AVR单片机驱动RT1601 LCD显示芯片{

36使用AVR单片机驱动RT1601 LCD显示芯片PORTD&=~(1<<1);

37使用AVR单片机驱动RT1601 LCD显示芯片

38使用AVR单片机驱动RT1601 LCD显示芯片return;

39使用AVR单片机驱动RT1601 LCD显示芯片}

40使用AVR单片机驱动RT1601 LCD显示芯片

41使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Set_E(void)

42使用AVR单片机驱动RT1601 LCD显示芯片{

43使用AVR单片机驱动RT1601 LCD显示芯片PORTD|=(1<<2);

44使用AVR单片机驱动RT1601 LCD显示芯片

45使用AVR单片机驱动RT1601 LCD显示芯片return;

46使用AVR单片机驱动RT1601 LCD显示芯片}

47使用AVR单片机驱动RT1601 LCD显示芯片

48使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Clear_E(void)

49使用AVR单片机驱动RT1601 LCD显示芯片{

50使用AVR单片机驱动RT1601 LCD显示芯片PORTD&=~(1<<2);

51使用AVR单片机驱动RT1601 LCD显示芯片

52使用AVR单片机驱动RT1601 LCD显示芯片return;

53使用AVR单片机驱动RT1601 LCD显示芯片}

54使用AVR单片机驱动RT1601 LCD显示芯片

55使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_CheckBF(void)

56使用AVR单片机驱动RT1601 LCD显示芯片{

57使用AVR单片机驱动RT1601 LCD显示芯片DDRA=0x00;//Input

58使用AVR单片机驱动RT1601 LCD显示芯片

59使用AVR单片机驱动RT1601 LCD显示芯片LCD_Clear_RS();

60使用AVR单片机驱动RT1601 LCD显示芯片LCD_Set_RW();

61使用AVR单片机驱动RT1601 LCD显示芯片LCD_Set_E();

62使用AVR单片机驱动RT1601 LCD显示芯片while(PINA&0x80)

63使用AVR单片机驱动RT1601 LCD显示芯片{

64使用AVR单片机驱动RT1601 LCD显示芯片;

65使用AVR单片机驱动RT1601 LCD显示芯片}

66使用AVR单片机驱动RT1601 LCD显示芯片LCD_Clear_E();

67使用AVR单片机驱动RT1601 LCD显示芯片

68使用AVR单片机驱动RT1601 LCD显示芯片DDRA=0xFF;//Output

69使用AVR单片机驱动RT1601 LCD显示芯片

70使用AVR单片机驱动RT1601 LCD显示芯片return;

71使用AVR单片机驱动RT1601 LCD显示芯片}

72使用AVR单片机驱动RT1601 LCD显示芯片

73使用AVR单片机驱动RT1601 LCD显示芯片//Write Command

74使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Write_Cmd(unsignedcharbyCmd)

75使用AVR单片机驱动RT1601 LCD显示芯片{

76使用AVR单片机驱动RT1601 LCD显示芯片LCD_CheckBF();

77使用AVR单片机驱动RT1601 LCD显示芯片

78使用AVR单片机驱动RT1601 LCD显示芯片LCD_Clear_RS();

79使用AVR单片机驱动RT1601 LCD显示芯片LCD_Clear_RW();

80使用AVR单片机驱动RT1601 LCD显示芯片LCD_Set_E();

81使用AVR单片机驱动RT1601 LCD显示芯片PORTA=byCmd;

82使用AVR单片机驱动RT1601 LCD显示芯片LCD_Clear_E();

83使用AVR单片机驱动RT1601 LCD显示芯片

84使用AVR单片机驱动RT1601 LCD显示芯片return;

85使用AVR单片机驱动RT1601 LCD显示芯片}

86使用AVR单片机驱动RT1601 LCD显示芯片

87使用AVR单片机驱动RT1601 LCD显示芯片//Write Data

88使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Write_Data(unsignedcharbyData)

89使用AVR单片机驱动RT1601 LCD显示芯片{

90使用AVR单片机驱动RT1601 LCD显示芯片LCD_CheckBF();

91使用AVR单片机驱动RT1601 LCD显示芯片

92使用AVR单片机驱动RT1601 LCD显示芯片LCD_Set_RS();

93使用AVR单片机驱动RT1601 LCD显示芯片LCD_Clear_RW();

94使用AVR单片机驱动RT1601 LCD显示芯片LCD_Set_E();

95使用AVR单片机驱动RT1601 LCD显示芯片PORTA=byData;

96使用AVR单片机驱动RT1601 LCD显示芯片LCD_Clear_E();

97使用AVR单片机驱动RT1601 LCD显示芯片

98使用AVR单片机驱动RT1601 LCD显示芯片return;

99使用AVR单片机驱动RT1601 LCD显示芯片}

100使用AVR单片机驱动RT1601 LCD显示芯片

101使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Delay_5ms(void)

102使用AVR单片机驱动RT1601 LCD显示芯片{

103使用AVR单片机驱动RT1601 LCD显示芯片unsignedinti=5552;

104使用AVR单片机驱动RT1601 LCD显示芯片while(i--)

105使用AVR单片机驱动RT1601 LCD显示芯片{

106使用AVR单片机驱动RT1601 LCD显示芯片;

107使用AVR单片机驱动RT1601 LCD显示芯片}

108使用AVR单片机驱动RT1601 LCD显示芯片

109使用AVR单片机驱动RT1601 LCD显示芯片return;

110使用AVR单片机驱动RT1601 LCD显示芯片}

111使用AVR单片机驱动RT1601 LCD显示芯片

112使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Delay_500ms(void)

113使用AVR单片机驱动RT1601 LCD显示芯片{

114使用AVR单片机驱动RT1601 LCD显示芯片unsignedchari=5;

115使用AVR单片机驱动RT1601 LCD显示芯片unsignedcharj=0;

116使用AVR单片机驱动RT1601 LCD显示芯片

117使用AVR单片机驱动RT1601 LCD显示芯片while(i--)

118使用AVR单片机驱动RT1601 LCD显示芯片{

119使用AVR单片机驱动RT1601 LCD显示芯片j=7269;

120使用AVR单片机驱动RT1601 LCD显示芯片while(j--)

121使用AVR单片机驱动RT1601 LCD显示芯片{

122使用AVR单片机驱动RT1601 LCD显示芯片;

123使用AVR单片机驱动RT1601 LCD显示芯片}

124使用AVR单片机驱动RT1601 LCD显示芯片}

125使用AVR单片机驱动RT1601 LCD显示芯片

126使用AVR单片机驱动RT1601 LCD显示芯片return;

127使用AVR单片机驱动RT1601 LCD显示芯片}

128使用AVR单片机驱动RT1601 LCD显示芯片

129使用AVR单片机驱动RT1601 LCD显示芯片//Port Init

130使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_PortInit(void)

131使用AVR单片机驱动RT1601 LCD显示芯片{

132使用AVR单片机驱动RT1601 LCD显示芯片PORTD=0x00;

133使用AVR单片机驱动RT1601 LCD显示芯片DDRD=0xFF;//Output

134使用AVR单片机驱动RT1601 LCD显示芯片DDRA=0xFF;

135使用AVR单片机驱动RT1601 LCD显示芯片

136使用AVR单片机驱动RT1601 LCD显示芯片return;

137使用AVR单片机驱动RT1601 LCD显示芯片}

138使用AVR单片机驱动RT1601 LCD显示芯片

139使用AVR单片机驱动RT1601 LCD显示芯片//LCD Init

140使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Init(void)

141使用AVR单片机驱动RT1601 LCD显示芯片{

142使用AVR单片机驱动RT1601 LCD显示芯片LCD_PortInit();

143使用AVR单片机驱动RT1601 LCD显示芯片

144使用AVR单片机驱动RT1601 LCD显示芯片LCD_Delay_500ms();

145使用AVR单片机驱动RT1601 LCD显示芯片

146使用AVR单片机驱动RT1601 LCD显示芯片LCD_Write_Cmd(0x38);//Function Set. 8bit data length, 2-line, 5*8 font

147使用AVR单片机驱动RT1601 LCD显示芯片LCD_Delay_5ms();

148使用AVR单片机驱动RT1601 LCD显示芯片LCD_Write_Cmd(0x0C);//Display ON/OFF Control. Display ON, Cursor OFF, Blink OFF

149使用AVR单片机驱动RT1601 LCD显示芯片LCD_Delay_5ms();

150使用AVR单片机驱动RT1601 LCD显示芯片LCD_Write_Cmd(0x01);//Display Clear.

151使用AVR单片机驱动RT1601 LCD显示芯片LCD_Delay_5ms();

152使用AVR单片机驱动RT1601 LCD显示芯片LCD_Write_Cmd(0x06);//Entry Mode Set. Increment mode, Entire shift off

153使用AVR单片机驱动RT1601 LCD显示芯片

154使用AVR单片机驱动RT1601 LCD显示芯片return;

155使用AVR单片机驱动RT1601 LCD显示芯片}

156使用AVR单片机驱动RT1601 LCD显示芯片

157使用AVR单片机驱动RT1601 LCD显示芯片voidLCD_Display(char*pstrText)

158使用AVR单片机驱动RT1601 LCD显示芯片{

159使用AVR单片机驱动RT1601 LCD显示芯片unsignedchari=0;

160使用AVR单片机驱动RT1601 LCD显示芯片

161使用AVR单片机驱动RT1601 LCD显示芯片LCD_Write_Cmd(0x80|0x00);//1 Line Position

162使用AVR单片机驱动RT1601 LCD显示芯片while(*pstrText!=0x00)

163使用AVR单片机驱动RT1601 LCD显示芯片{

164使用AVR单片机驱动RT1601 LCD显示芯片if(i==8)

165使用AVR单片机驱动RT1601 LCD显示芯片{

166使用AVR单片机驱动RT1601 LCD显示芯片LCD_Write_Cmd(0x80|0x40);//2 Line Position

167使用AVR单片机驱动RT1601 LCD显示芯片}

168使用AVR单片机驱动RT1601 LCD显示芯片

169使用AVR单片机驱动RT1601 LCD显示芯片LCD_Write_Data(*(pstrText++));

170使用AVR单片机驱动RT1601 LCD显示芯片i++;

171使用AVR单片机驱动RT1601 LCD显示芯片}

172使用AVR单片机驱动RT1601 LCD显示芯片

173使用AVR单片机驱动RT1601 LCD显示芯片return;

174使用AVR单片机驱动RT1601 LCD显示芯片}

175使用AVR单片机驱动RT1601 LCD显示芯片

176使用AVR单片机驱动RT1601 LCD显示芯片

client端调用如下:

1使用AVR单片机驱动RT1601 LCD显示芯片//ICC-AVR application builder : 2008-6-4 8:41:19

2使用AVR单片机驱动RT1601 LCD显示芯片//Target : M16

3使用AVR单片机驱动RT1601 LCD显示芯片//Crystal: 4.0000Mhz

4使用AVR单片机驱动RT1601 LCD显示芯片#include<iom16v.h>

5使用AVR单片机驱动RT1601 LCD显示芯片#include<macros.h>

6使用AVR单片机驱动RT1601 LCD显示芯片#include"LCD.h"

7使用AVR单片机驱动RT1601 LCD显示芯片

8使用AVR单片机驱动RT1601 LCD显示芯片voidmain(void)

9使用AVR单片机驱动RT1601 LCD显示芯片{

10使用AVR单片机驱动RT1601 LCD显示芯片LCD_Init();

11使用AVR单片机驱动RT1601 LCD显示芯片LCD_Display("RT1601Demo by WF");

12使用AVR单片机驱动RT1601 LCD显示芯片

13使用AVR单片机驱动RT1601 LCD显示芯片while(1)

14使用AVR单片机驱动RT1601 LCD显示芯片{

15使用AVR单片机驱动RT1601 LCD显示芯片;

16使用AVR单片机驱动RT1601 LCD显示芯片}

17使用AVR单片机驱动RT1601 LCD显示芯片

18使用AVR单片机驱动RT1601 LCD显示芯片return;

19使用AVR单片机驱动RT1601 LCD显示芯片}

好了,就这些,有关该芯片的详细资料,请查看 S6A0069资料。

好运!

提醒:《使用AVR单片机驱动RT1601 LCD显示芯片》最后刷新时间 2024-03-14 01:21:48,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《使用AVR单片机驱动RT1601 LCD显示芯片》该内容的真实性请自行鉴别。