| ICCAVR->8515和LCD的接口源程序 |
| 类别:单片机/DSP |
|                    AVR8515 和 HD74480字符LCD的接口程序      //      // 硬件连接方式:LCD的D0-D7接8515的c口,      // LCD的 RS ->PA0      // LCD的 RW ->PA1      // LCD的 E ->PA0      // !!!注意VEE,有时需要接负电源      ---------------------------------------------------------------------      #include#define RS_H asm("sbi 0x1B,0")      #define RS_L asm("cbi 0x1B,0")      #define RW_H asm("sbi 0x1B,1")      #define RW_L asm("cbi 0x1B,1")      #define E_H asm("sbi 0x1b,2")      #define E_L asm("cbi 0x1b,2")//******************************************      void Delay()      {      unsigned char di;      for(di=0;di<20;di++);      }//判断lcd是否是内部操作状态      char Lcd_Busy()      {      char rb;           DDRC=0x0; //端口c设为输入方式      E_L;      RS_L;      RW_H;      Delay();      E_H;      Delay();      rb=PINC;      rb=rb&0x80;      E_L;      DDRC=0xff; //端口c设为输出方式 return rb;      }      //向Lcd发送命令程序      void Lcd_Command(unsigned char bComm)      {      while(Lcd_Busy());      E_L;      RS_L;      RW_L;      Delay();      E_H;      PORTC=bComm;      Delay();      E_L;      Delay();}//向lcd写入一个字符      void Lcd_Write(char wb)      {      while(Lcd_Busy());      E_L;      RS_H;      RW_L;      Delay();      E_H;      PORTC=wb;      Delay();      E_L;      Delay();      }//初始化时用的写命令程序,和Lcd_Command的区别是不判断忙标志      void Lcd_InitCommand(unsigned char bComm)      {      E_L;      RS_L;      RW_L;      Delay();      E_H;      PORTC=bComm;      Delay();      E_L;      }//初始化:8位接口,2行x16字符的工作方式      void Lcd_Init()      {      char i;      Lcd_InitCommand(0x30);      for(i=0;i<100;i++) Delay();      Lcd_InitCommand(0x30);      for(i=0;i<10;i++) Delay();      Lcd_InitCommand(0x30); Lcd_Command(0x38);      Lcd_Command(0x08);      Lcd_Command(0x01);      Lcd_Command(0x06);      Lcd_Command(0x02);      Lcd_Command(0x0E);      }//一个测试LCD的小程序      int main()      {           const char *str="Hello,This is Dai in HIT."; DDRA=0xFF;      DDRC=0xFF;           Lcd_Init(); while(*str) Lcd_Write( *str++ ); while(1);      return 0;}      //缺少的是一个读显示RAM中数据的程序,自己加上吧      -----------------------------------------------------      来源:不详      作者:不详           |
- pic16单片机应..
- 2008-1-9
- 基于单片机的某车型..
- 2008-1-7
- 基于ARM的FPG..
- 2008-1-7
- 基于单片机的电热水..
- 2007-11-15
- 一种基于单片机的汽..
- 2007-11-15
- 基于单片机的电子导..
- 2007-11-8
- 51单片机边沿触发..
- 2007-11-8
- 如何选择细纱机主电..
- 2007-11-5
- 单片机编程技巧
- 2007-9-14
- 空压机变频改造技术..
- 2007-9-3
- 运用定点DSP实现..
- 2007-8-7
- 基于TMS320C..
- 2007-8-9
- 一种用于图像认证的..
- 2007-7-29
- TMS320F20..
- 2007-8-9
- 多DSP系统互连方..
- 2007-8-9
- C5402 DSP..
- 2007-8-9
- 具有高可靠性的高速..
- 2007-8-9
- 基于DSP的实时M..
- 2007-8-7
- 带ARM核的双CP..
- 2007-8-9
- 基于TMS320V..
- 2007-8-9



