×
单片机 > 单片机程序设计 > 详情

Atmega64 LCD1602+proteus仿真程序

发布时间:2020-08-26 发布时间:
|

单片机用的是AVR系列的Atmega64  LCD1602源程序+proteus仿真 

仿真原理图如下
 

单片机源程序如下:

#include

#include

#define  uchar unsigned char

#define  uint  unsigned int


#define  RS_H  PORTE|=BV(0)

#define  RS_L  PORTE&=~BV(0)

#define  RW_H  PORTE|=BV(1)

#define  RW_L  PORTE&=~BV(1)

#define  EN_H  PORTE|=BV(2)

#define  EN_L  PORTE&=~BV(2)


void delay(uint ms)

{

        uint i,j;

        for(i=0;i

           {

           for(j=0;j<1141;j++);

       }

}

void write_com(uchar com)   //写命令函数

{

       RS_L;      //RS置低,写指令

           RW_L;      //RW置低,写操作

           PORTD=com; 

           delay(1);        

           EN_H;      //使能端拉高

           delay(1);

           EN_L;    //使能端拉低

}


void write_dat(uchar dat)  //写数据函数

{     

       RS_H;

           RW_L;

           PORTD=dat; 

           delay(1);

           EN_H;

           delay(1);

           EN_L;


}


void Lcd1602_init()

{

      DDRD=0XFF;

          DDRE|=BV(0)|BV(1)|BV(2);

          EN_L;

          write_com(0X38);

          delay(1);

          write_com(0X01);

          delay(1);

          write_com(0X06);

          delay(1);

          write_com(0X0c);

          delay(1);

}


void Lcd1602_Display(uchar addr,uchar num,uchar dat)

{

     write_com(addr+num);

         write_dat(dat);

}


void  main()

{

      uchar i;

          

          Lcd1602_init();

          //write_com(0X80+n);          n=0,1,2...15   第一行显示

          //write_com(0x80+0x40+n);     n=0,1,2...15   第二行显示

          Lcd1602_Display(0x80,0,'5'); 

          Lcd1602_Display(0x80+0x40,0,'5');

  

}



关键字:Atmega64  LCD1602  proteus


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机CO2检测显示程序解析