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

📄 main._c

📁 用isis构建的一个简单的仿真平台
💻 _C
字号:
#include "iom162v.h"

#define uint8 unsigned char
#define uint16 unsigned int

#define uint8   unsigned char
#define uint16  unsigned int

#define RS    0x01
#define RW    0x02
#define E     0x04

void delay_us(uint16 z)
{
  uint16  x;
  for(;z>0;z--)
  {
   	for(x=10;x>0;x--);
  }

}


void lcd_busy(void)
{
    DDRA=0x00;
    PORTA=0xff;
    while(1)
    {
        PORTC&=~E;
        PORTC&=~RS;
        PORTC|=RW;
      //  delay_us(10);
        PORTC|=E;
        if(!(PINA&0x80))break;
    }
    DDRA=0xff;  
}

void lcd_wr_cmd(uint8 cmd)
{
    lcd_busy();
    PORTC&=~RS;
    PORTC&=~RW;
    PORTA=cmd;
    delay_us(50);
    PORTC|=E;
    delay_us(50);
    PORTC&=~E;
}

void lcd_wr_date(uint8 date)
{
    lcd_busy();
    PORTC|=RS;
    PORTC&=~RW;
    PORTA=date;
    delay_us(50);
    PORTC|=E;
    delay_us(50);
    PORTC&=~E;
}

void lcd_init(void)
{
    DDRA=0xff;
    DDRC|=0x07;
    lcd_wr_cmd(0x38);
    delay_us(300);
    lcd_wr_cmd(0x38);
    lcd_wr_cmd(0x06);
    lcd_wr_cmd(0x0c);
    lcd_wr_cmd(0x01);
    delay_us(500);
    DDRA=0xff;
    DDRC|=0x07;
}

void lcd_wr_byte(uint8 addr,uint8 date)
{
    lcd_wr_cmd(0x80+addr);
    lcd_wr_date(date);
    delay_us(100);
}

void lcd_wr_str(uint8 addr,uint8 str[],uint8 len)
{
 	uint8 i=0;
    lcd_wr_cmd(0x90+addr);
    for(i=0;i<len;i=i+1)
    {
        lcd_wr_date(str[i]);
		//i=i+1;
       // str=str+1;
    }

}

void main(void)
{
    uint8 ss[]="hello word!";
    lcd_init();
    lcd_wr_str(0x01,ss,12);
    lcd_wr_byte(0x03,'a');
    while(1);

}

⌨️ 快捷键说明

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