⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd.c

📁 这是本人毕业设计的源码部分,主要完成了步进电机的智能控制:采用AVR系列单片机做主空单元,可红外遥控,其中脉冲分配由CPLD实现.
💻 C
字号:
//ICC-AVR application builder : 2006-5-29 10:59:50
// Target : M128
// Crystal: 8.0000Mhz

#include <iom128v.h>
#include <macros.h>


void clear_lcd()
{
  wait_lcd();
  *command_lcd = 1;
  delay(4000);
}

void delay(int i)
{
  while(i--);
}

void is_busy()
{
  unsigned char temp;
  temp = *command_lcd;
  if((temp & 0x80)==0) return 1;
  else return -1;
}

void wait_lcd()
{
  while (is_busy());
}

void putchar(unsigned char address, unsigned char data)
{
  wait_lcd();
  *commad_lcd = (address | 0x80);
  wait_lcd();
  *data_lcd = data;
  delay(40);
}

extern display_lcd()
{
  unsigned char i = 0;
  clear_lcd();
  if(flag == 1) 
    {
      putchar(i,"+");
      i++;
    }
  else if (flag == -1) 
    {
      putchar(i, "-");
      i++;
    }
  putchar(i,"s");
  i++;
  putchar(i,"p");
  i++;
  putchar(i,"e");
  i++;
  putchar(i,"e");
  i++;
  putchar(i,"d");
  i++;
  putchar(i,":");
  i++;
  putchar(i,(char)(speed/100 + 39));
  i++;
  putchar(i,(char)(speed%100/10 + 39));
  i++;
  putchar(i,(char)(speed/10 + 39));
}

extern void lcd_init()
{
  delay(4000);
  *command_lcd = 0x30;
  delay(100);
  *command_lcd = 0x30;
  delay(40);
  *command_lcd = 0x30;
  wait_lcd();
  *command_lcd =0x30; //一行显示,5*7点阵
  wait_lcd();
  *command_lcd =0x08;
  wait_lcd();
  *command_lcd =0x01;
  wait_lcd();
  *command_lcd =0x06;//AC自动增,画面不动
  delay(40); 
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -