标题: Atmega64 LCD1602+proteus仿真程序 [打印本页]

作者: 一棵树110    时间: 2019-3-29 11:23
标题: Atmega64 LCD1602+proteus仿真程序
单片机用的是AVR系列的Atmega64  LCD1602源程序+proteus仿真

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. #include <iom64v.h>
  2. #include <macros.h>
  3. #define  uchar unsigned char
  4. #define  uint  unsigned int

  5. #define  RS_H  PORTE|=BV(0)
  6. #define  RS_L  PORTE&=~BV(0)
  7. #define  RW_H  PORTE|=BV(1)
  8. #define  RW_L  PORTE&=~BV(1)
  9. #define  EN_H  PORTE|=BV(2)
  10. #define  EN_L  PORTE&=~BV(2)

  11. void delay(uint ms)
  12. {
  13.         uint i,j;
  14.         for(i=0;i<ms;i++)
  15.            {
  16.            for(j=0;j<1141;j++);
  17.        }
  18. }
  19. void write_com(uchar com)   //写命令函数
  20. {
  21.        RS_L;      //RS置低,写指令
  22.            RW_L;      //RW置低,写操作
  23.            PORTD=com;
  24.            delay(1);        
  25.            EN_H;      //使能端拉高
  26.            delay(1);
  27.            EN_L;    //使能端拉低
  28. }

  29. void write_dat(uchar dat)  //写数据函数
  30. {     
  31.        RS_H;
  32.            RW_L;
  33.            PORTD=dat;
  34.            delay(1);
  35.            EN_H;
  36.            delay(1);
  37.            EN_L;

  38. }

  39. void Lcd1602_init()
  40. {
  41.       DDRD=0XFF;
  42.           DDRE|=BV(0)|BV(1)|BV(2);
  43.           EN_L;
  44.           write_com(0X38);
  45.           delay(1);
  46.           write_com(0X01);
  47.           delay(1);
  48.           write_com(0X06);
  49.           delay(1);
  50.           write_com(0X0c);
  51.           delay(1);
  52. }

  53. void Lcd1602_Display(uchar addr,uchar num,uchar dat)
  54. {
  55.      write_com(addr+num);
  56.          write_dat(dat);
  57. }

  58. void  main()
  59. {
  60.       uchar i;
  61.           
  62.           Lcd1602_init();
  63.           //write_com(0X80+n);          n=0,1,2...15   第一行显示
  64.           //write_com(0x80+0x40+n);     n=0,1,2...15   第二行显示
  65.           Lcd1602_Display(0x80,0,'5');
  66.           Lcd1602_Display(0x80+0x40,0,'5');
  67.   
  68. }
复制代码

所有资料51hei提供下载:
LCD1602.zip (72.6 KB, 下载次数: 62)




作者: 1233rdgdf    时间: 2019-11-14 08:52
太好了

作者: zhczlzhang    时间: 2024-12-7 09:06
突然要做这种项目,愁死了。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1