如何用ATmega16单片机驱动字符型液晶显示芯片

畅学单片机 2022-05-10 14:50

如何用ATmega 16单片机,来驱动字符型液晶显示芯片?

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

各个引脚简单说明一下:


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

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

PORTD_0 -RS

PORTD_1 - R/W

PORTD_2 - E

PORTA - DATA BUS

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

LCD.h

1#ifndef_LCD_H_

2#define_LCD_H_

3/*****************************************

4RS-PORTD_0

5R/W-PORTD_1

6E-PORTD_2

7DB-PORTA

8******************************************/

9voidLCD_Set_RS(void);

10voidLCD_Clear_RS(void);

11voidLCD_Set_RW(void);

12voidLCD_Clear_RW(void);

13voidLCD_Set_E(void);

14voidLCD_Clear_E(void);

15voidLCD_CheckBF(void);

16//WriteCommand

17voidLCD_Write_Cmd(unsignedcharbyCmd);

18//WriteData

19voidLCD_Write_Data(unsignedcharbyData);

20voidLCD_Delay_5ms(void);

21voidLCD_Delay_500ms(void);

22voidLCD_PortInit(void);

23

24//ApplicaTIonInterface

25voidLCD_Init(void);

26voidLCD_Display(char*pstrText);

27

28#endif

29

LCD.c

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

1#include“LCD.h”

2#include

3#include

4

5/*****************************************

6RS-PORTD_0

7R/W-PORTD_1

8E-PORTD_2

9DB-PORTA

10******************************************/

11

12

13voidLCD_Set_RS(void)

14{

15PORTD“=(1《《0);

16

17return;

18}

19

20voidLCD_Clear_RS(void)

21{

22PORTD&=~(1《《0);

23

24return;

25}

26

27voidLCD_Set_RW(void)

28{

29PORTD”=(1《《1);

30

31return;

32}

33

34voidLCD_Clear_RW(void)

35{

36PORTD&=~(1《《1);

37

38return;

39}

40

41voidLCD_Set_E(void)

42{

43PORTD“=(1《《2);

44

45return;

46}

47

48voidLCD_Clear_E(void)

49{

50PORTD&=~(1《《2);

51

52return;

53}

54

55voidLCD_CheckBF(void)

56{

57DDRA=0x00;//Input

58

59LCD_Clear_RS();

60LCD_Set_RW();

61LCD_Set_E();

62while(PINA&0x80)

63{

64;

65}

66LCD_Clear_E();

67

68DDRA=0xFF;//Output

69

70return;

71}

72

73//WriteCommand

74voidLCD_Write_Cmd(unsignedcharbyCmd)

75{

76LCD_CheckBF();

77

78LCD_Clear_RS();

79LCD_Clear_RW();

80LCD_Set_E();

81PORTA=byCmd;

82LCD_Clear_E();

83

84return;

85}

86

87//WriteData

88voidLCD_Write_Data(unsignedcharbyData)

89{

90LCD_CheckBF();

91

92LCD_Set_RS();

93LCD_Clear_RW();

94LCD_Set_E();

95PORTA=byData;

96LCD_Clear_E();

97

98return;

99}

100

101voidLCD_Delay_5ms(void)

102{

103unsignedinTI=5552;

104while(i--)

105{

106;

107}

108

109return;

110}

111

112voidLCD_Delay_500ms(void)

113{

114unsignedchari=5;

115unsignedcharj=0;

116

117while(i--)

118{

119j=7269;

120while(j--)

121{

122;

123}

124}

125

126return;

127}

128

129//PorTInit

130voidLCD_PorTInit(void)

131{

132PORTD=0x00;

133DDRD=0xFF;//Output

14DDRA=0xFF;

135

136return;

137}

138

139//LCDInit

140voidLCD_Init(void)

141{

142LCD_PortInit();

143

144LCD_Delay_500ms();

145

146LCD_Write_Cmd(0x38);//FunctionSet.8bitdatalength,2-line,5*8font

147LCD_Delay_5ms();

148LCD_Write_Cmd(0x0C);//DisplayON/OFFControl.DisplayON,CursorOFF,BlinkOFF

149LCD_Delay_5ms();

150LCD_Write_Cmd(0x01);//DisplayClear.

151LCD_Delay_5ms();

152LCD_Write_Cmd(0x06);//EntryModeSet.Incrementmode,Entireshiftoff

153

154return;

155}

156

157voidLCD_Display(char*pstrText)

158{

159unsignedchari=0;

160

161LCD_Write_Cmd(0x80”0x00);//1LinePosition

162while(*pstrText!=0x00)

163{

164if(i==8)

165{

166LCD_Write_Cmd(0x80“0x40);//2LinePosition

167}

168

169LCD_Write_Data(*(pstrText++));

170i++;

171}

172

173return;

174}

175

176

client端调用如下:

1//ICC-AVRapplicationbuilder:2008-6-48:41:19

2//Target:M16

3//Crystal:4.0000Mhz

4#include

5#include

6#include”LCD.h“

7

8voidmain(void)

9{

10LCD_Init();

11LCD_Display(”RT1601DemobyWF“);

12

13while(1)

14{

15;

16}

17

18return;

19}

为了方便大家更好的学习,您还可以关注畅学电子和EDA的公众号,每天推送相关知识,希望能对你的学习有所帮助!

畅学单片机 以单片机为核心,带你全面了解和单片机相关的知识技巧,经验心得。关注我们,一起来学习吧!
评论
  • ​摘要:低价大流量卡正全面退市,政策收紧已成定局。面对传统号卡的不确定性,随身WiFi凭借稳定连接、多设备共享、独立设备和灵活套餐等优势,成为务实可靠的备选方案。1、流量卡黄金时代要结束了通信行业正迎来一场前所未有的“地震式”调整——曾让无数用户追捧的低价大流量卡,正在全速退出各大平台。这早已不是一次普通的竞合,而是一场趋势性的行业洗牌。回望过去,19元200G的神卡,那时真是“睡着都能笑醒”,便宜到不敢相信,爽到忍不住炫耀。那些日子,好像随便刷、随便看,流量自由触手可及。可如今,回头再看,那种
    爱上电路设计 2026-08-03 10:21 128869浏览
  • 在前六期中,我们已经分别讨论了 CRA 的适用范围、整体影响、漏洞通报义务、风险评估与技术文档证据链、第三方组件与 SBOM 供应链治理,以及产品上市后的支持期、安全更新、用户说明和终止支持管理。到这里,企业已经能够回答几个核心问题:产品是否落入 CRA 适用范围,产品由哪些组件构成,企业如何证明自己在设计、开发和上市前采取了必要的安全措施,以及产品上市后如何持续维护和安全下线。但对于真正准备落地 CRA 合规的企业来说,还有一个更现实的问题:CRA 的法规条文相对原则化,企业应当如何把“网络安
    虹科云科技 2026-08-03 16:51 149221浏览
  • 产品使用18V供电,配套4串锂离子电池,需要设计一个充电器。因为输入18V,电池最高 16.8V,压差仅 1.2V。因为压差太小。使用开关型的充电控制芯片不稳定。尝试自行设计一个。整体采用分立三极管 + TL431架构,分4个功能单元:使能控制回路、限流环路、TL431 精密恒压反馈环路、PNP 功率管主功率输出回路;实现完整锂电池充电逻辑。使能控制回路按键按下:5V 电压经 R12 (2kΩ) 送入 NPN 管 Q3 基极,Q3 饱和导通,对地拉低 R1、R2 组成的分压控制节点电位;该节点直
    southcreek 2026-08-07 13:45 316浏览
  • 摘要在防爆电气设计中,只参照芯数选型而忽略额定载流量,长期满负荷运行会出现插头发热、接触面氧化、IP67 密封受热老化等问题。结合常用 3 针 3 孔、4 芯、5PIN、8PIN 圆形防爆连接器,制作分级电流参数对照表,区分冷压免焊接、焊接两种接线结构的安全载流数值,设置合理电流冗余系数,搭配使用环境修正参数,规范防爆接近开关连接器、防爆法兰插座的选型计算方式。关键词圆形防爆连接器,载流参数表,防爆法兰插座,防爆端子接头,IP67 防爆防水接插件1 产品概述圆形防爆连接器触点载流能力由插针直径、
    kyfbest科迎法电气 2026-08-03 09:18 128642浏览
  •                                                                        
    广州铁金刚 2026-08-06 17:44 100327浏览
  • 在物联网从“万物互联”迈向“万物智联”的进程中,LTE Cat.1凭借其在速率、成本与网络覆盖之间的完美平衡,正成为中低速物联网市场的绝对主力。随着2G/3G网络的逐步退网以及新国标对终端设备智能化、定位功能的强制要求,Cat.1模组迎来了爆发式的增长窗口。在这一关键节点,基于华为海思Hi2131芯片设计的LTE Cat.1模组,凭借其在能效、射频、架构及物理规格上的底层创新,成功打破了“高性能必高功耗”的传统魔咒,为行业提供了极具竞争力的连接最优解。核心技术优势:重塑Cat.1能效与连接标杆海
    用户1778981989717 2026-08-05 21:04 169浏览
  • 文:杜杰编辑:侯煜当地时间7月28日,美国特朗普政府落地最新科技封锁政策,美国联邦通信委员会(FCC)正式更新《受管制清单》,新增两大类设备——境外生产的先进机器人设备、境外生产的联网电力逆变器。FCC在官方情况说明书中明确,该类境外制造产品,“会对美国国家安全或美国民众的人身安全构成无法承受的风险”。本次新规设置明确豁免机制:经美国国防部(DoW)、电力逆变器品类经美国国土安全部(DHS)审核并授予“有条件批准”,认定对应设备品类不存在重大安全风险,即可获得准入豁免。同时政策严格执行新老划断原
    华尔街科技眼 2026-08-03 21:28 325浏览
  •        很多人只见过封装在SMD外壳里的小尺寸晶振,却不知道一颗2016、1612甚至1210封装的微型石英晶振,从一块巴掌大的石英原矿,到最终能稳定起振的成品,要经过十几道精密工序。它内部的石英晶片厚度最薄不到20微米,比普通A4纸的1/5还薄,整个生产过程里哪怕0.1微米的误差,都会直接废掉整批产品,这也是小尺寸晶振过去长期依赖进口,国内厂商花了十几年才啃下量产硬骨头的核心原因。1. 原石定向切割:0.01度的角度误差都不能有小尺寸晶振的第一步,
    TKD泰晶科技 2026-08-07 08:43 374浏览
  • 做蓝牙音箱的工程师大概都碰过这个局面。产品要连手机放歌,要本地播开机提示音和按键音,还要接 App 做配网和状态上报。三件事拆开,早先的常规做法是音频蓝牙一颗料、数传蓝牙一颗料、本地播放再挂一颗小 MCU 加一片 Flash。板子越画越大,BOM 越算越贵,待机电流和固件工作量也跟着涨。WT2605C 出来以后,这套需求可以集成到一颗芯片,就是 WT2605C-32N,该芯片采用QFN32 封装,4×4 毫米,把音频蓝牙、BLE 数传和 MP3 本地播放三样全包了。对蓝牙音箱来说,最实在的好处就
    唯创知音语音芯片 2026-08-06 15:14 284浏览
  • 在EMC测试过程中,传导发射(Conducted Emission,CE)超标是工程师最常遇到的问题之一。更令人头疼的是,同样的超标曲线背后,可能对应着完全不同的干扰机理:有的是差模噪声沿电源回路传播,有的是共模电流通过寄生路径耦合,还有些问题甚至并非来自电源本身,而是负载、电缆布局或接地结构引起的连锁反应。 · 150kHz~1MHz 超标:多为差模噪声为主,干扰沿火线-零线回路传输。 · 1MHz~30MHz 超标:通常共模噪声占主导,干扰通过火线/零线对地回路传播。 如果条件允许,用电流探
    誉磁电磁兼容EMC 2026-07-31 18:45 501浏览
  • 导语在现代高速数字电路设计中,信号的完整性已不仅是理想波形推演,而是一场与物理非理想特性正面博弈的工程实践。滤波器芯片作为净化传输链路的关键屏障,其核心挑战在于:能否有效识别并滤除那些隐匿在电平跳变过程中的亚纳秒级瞬态脉冲干扰,这类干扰持续极短,却足以在高速链路中引发误触发。然而,传统函数发生器受限于采样率与边沿速率,根本无法忠实复现如此狭窄且陡峭的异常波形。针对此困境,德思特TS-AWG7000系列任意波形发生器以17 GS/s采样率与50 ps原生边沿速度,为瞬态脉冲提供精细刻画,配合SPG
    德思特测试测量 2026-08-05 14:06 5浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦