标题: 单片机lcd1602仿真实例 [打印本页]

作者: chengwei8556    时间: 2025-5-7 19:02
标题: 单片机lcd1602仿真实例
这是我最近做的一个lcd1602仿真实例
  1. #ifndef __HARDWAR_H__
  2. #define __HARDWAR_H__

  3. #include <reg51.H>        

  4. #define LCD_DATA P1      

  5. sbit LCD_BUSY=LCD_DATA^7;
  6. sbit LCD_RW=P2^0;        
  7. sbit LCD_RS=P2^1;        
  8. sbit LCD_EN=P2^2;         

  9. #endif

  10. #ifndef __LCD_H__
  11. #define __LCD_H__

  12. #define LCD_GO_HOME               0x02      
  13. #define LCD_AC_AUTO_INCREMENT     0x06      
  14. #define LCD_AC_AUTO_DECREASE      0x04      
  15. #define LCD_MOVE_ENABLE           0x05        
  16. #define LCD_MOVE_DISENABLE        0x04        

  17. #define LCD_DISPLAY_ON            0x0C      
  18. #define LCD_DISPLAY_OFF           0x08        
  19. #define LCD_CURSOR_ON             0x0A        
  20. #define LCD_CURSOR_OFF            0x08      
  21. #define LCD_CURSOR_BLINK_ON       0x09         
  22. #define LCD_CURSOR_BLINK_OFF      0x08        
  23. #define LCD_LEFT_MOVE             0x18      
  24. #define LCD_RIGHT_MOVE            0x1C        
  25. #define LCD_CURSOR_LEFT_MOVE      0x10        
  26. #define LCD_CURSOR_RIGHT_MOVE     0x14        


  27. #define LCD_DISPLAY_DOUBLE_LINE   0x38      
  28. #define LCD_DISPLAY_SINGLE_LINE   0x30       void LCD_cls(void);
  29. void LCD_write_data(unsigned char);
  30. void LCD_initial(void);
  31. void LCD_set_position(unsigned char);
  32. void LCD_prints(unsigned char *);
  33. void LCD_printc(unsigned char);

  34. #endif
  35. #include<reg51.h>
  36. #include<LCD1602.h>



  37. void main(void)
  38. {
  39. LCD_initial();
  40. LCD_set_position(0);
  41. LCD_printc('a');
  42. LCD_prints("Input too long!");
  43. LCD_set_position(0x40);
  44. LCD_printc('a');
  45. while(1)
  46.   {
  47.    ;
  48.   }
  49. }
复制代码

局部截取_20250507_185136.png (13.6 KB, 下载次数: 0)

局部截取_20250507_185136.png

项目.7z

36.67 KB, 下载次数: 0, 下载积分: 黑币 -5






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