如何用ATmega 16单片机驱动字符型液晶显示芯片_第1页
如何用ATmega 16单片机驱动字符型液晶显示芯片_第2页
如何用ATmega 16单片机驱动字符型液晶显示芯片_第3页
如何用ATmega 16单片机驱动字符型液晶显示芯片_第4页
如何用ATmega 16单片机驱动字符型液晶显示芯片_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

如何用ATmega16单片机驱动字符型液晶显示芯片研究了一下,如何用ATmega16单片机,来驱动字符型液晶显示芯片,现把研究心得写出来:我手里的这个RT1601液晶显示模块,使用的是S6A0069显示芯片。各个引脚简单说明一下:控制和数据引脚配置如下:-------------------------------PORTD_0-RSPORTD_1-R/WPORTD_2-EPORTA-DATABUS------------------------------LCD.h1#ifndef_LCD_H_2#define_LCD_H_3/*****************************************4RS-PORTD_05R/W-PORTD_16E-PORTD_27DB-PORTA8******************************************/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//WriteCommand17voidLCD_Write_Cmd(unsignedcharbyCmd);18//WriteData19voidLCD_Write_Data(unsignedcharbyData);20voidLCD_Delay_5ms(void);21voidLCD_Delay_500ms(void);22voidLCD_PortInit(void);2324//ApplicationInterface25voidLCD_Init(void);26voidLCD_Display(char*pstrText);2728#endif29LCD.c这里是液晶驱动的实现部分,对外开放两个接口:LCD_Init,LCD_Display。(我这个模块,是两行显示的,共16个字符)1#include“LCD.h”2#include3#include45/*****************************************6RS-PORTD_07R/W-PORTD_18E-PORTD_29DB-PORTA10******************************************/111213voidLCD_Set_RS(void)14{15PORTD“=(1《《0);1617return;18}1920voidLCD_Clear_RS(void)21{22PORTD&=~(1《《0);2324return;25}2627voidLCD_Set_RW(void)28{29PORTD”=(1《《1);3031return;32}3334voidLCD_Clear_RW(void)35{36PORTD&=~(1《《1);3738return;39}4041voidLCD_Set_E(void)42{43PORTD“=(1《《2);4445return;46}4748voidLCD_Clear_E(void)49{50PORTD&=~(1《《2);5152return;53}5455voidLCD_CheckBF(void)56{57DDRA=0x00;//Input5859LCD_Clear_RS();60LCD_Set_RW();61LCD_Set_E();62while(PINA&0x80)63{64;65}66LCD_Clear_E();6768DDRA=0xFF;//Output6970return;71}7273//WriteCommand74voidLCD_Write_Cmd(unsignedcharbyCmd)75{76LCD_CheckBF();7778LCD_Clear_RS();79LCD_Clear_RW();80LCD_Set_E();81PORTA=byCmd;82LCD_Clear_E();8384return;85}8687//WriteData88voidLCD_Write_Data(unsignedcharbyData)89{90LCD_CheckBF();9192LCD_Set_RS();93LCD_Clear_RW();94LCD_Set_E();95PORTA=byData;96LCD_Clear_E();9798return;99}100101voidLCD_Delay_5ms(void)102{103unsignedinti=5552;104while(i--)105{106;107}108109return;110}111112voidLCD_Delay_500ms(void)113{114unsignedchari=5;115unsignedcharj=0;116117while(i--)118{119j=7269;120while(j--)121{122;123}124}125126return;127}128129//PortInit130voidLCD_PortInit(void)131{132PORTD=0x00;133DDRD=0xFF;//Output134DDRA=0xFF;135136return;137}138139//LCDInit140voidLCD_Init(void)141{142LCD_PortInit();143144LCD_Delay_500ms();145146LCD_Write_Cmd(0x38);//FunctionSet.8bitdatalength,2-line,5*8font147LCD_Delay_5ms();148LCD_Write_Cmd(0x0C);//DisplayON/OFFControl.DisplayON,CursorOFF,BlinkOFF149LCD_Delay_5ms();150LCD_Write_Cmd(0x01);//DisplayClear.151LCD_Delay_5ms();152LCD_Write_Cmd(0x06);//EntryModeSet.Incrementmode,Entireshiftoff153154return;155}156157voidLCD_Display(char*pstrText)158{159unsignedchari=0;160161LCD_Write_Cmd(0x80”0x00);//1LinePosition162while(*pstrText!=0x00)163{164if(i==8)165{166LCD_Write_Cmd(0x80“0x40);//2LinePosition167}168169LCD_Write_Data(*(pstrText++));170i++;171}172173return;174}175176client端调用如下:1//ICC-AVRapplicationbuilder:2008-6-48:41:192//T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论