找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1636|回复: 2
收起左侧

一个简单的LCD16x2单片机小程序

[复制链接]
ID:406093 发表于 2018-10-14 10:20 | 显示全部楼层 |阅读模式
前几天,发现了这个51hei网站,突发奇想,向大家推荐了一个51编译器,虽然得到了黑班主的50黑币,但是没有任何51黑弟兄们的捧场,实在遗憾。
今后,我会经常到这里来溜达溜达,推荐一些常见电路简单编程(诸如 LCD 16x2 or 16x4, LCD 12864, I2C, SPI, SD Card, 等等........) 。希望大家喜欢。
以下是一个简单的 LCD 16x2 的单片机小程序:
  1. // Lcd module connections
  2. sbit LCD_RS at P2_0_bit;
  3. sbit LCD_EN at P2_1_bit;

  4. sbit LCD_D4 at P2_2_bit;
  5. sbit LCD_D5 at P2_3_bit;
  6. sbit LCD_D6 at P2_4_bit;
  7. sbit LCD_D7 at P2_5_bit;
  8. // End Lcd module connections

  9. char txt1[] = "mikroElektronika";
  10. char txt2[] = "Easy8051B";
  11. char txt3[] = "Lcd4bit";
  12. char txt4[] = "example";

  13. char i;                              // Loop variable

  14. void Move_Delay() {                  // Function used for text moving
  15.   Delay_ms(500);                     // You can change the moving speed here
  16. }

  17. void main(){

  18.   Lcd_Init();                        // Initialize Lcd

  19.   Lcd_Cmd(_LCD_CLEAR);               // Clear display
  20.   Lcd_Cmd(_LCD_CURSOR_OFF);          // Cursor off
  21.   Lcd_Out(1,6,txt3);                 // Write text in first row

  22.   Lcd_Out(2,6,txt4);                 // Write text in second row
  23.   Delay_ms(2000);
  24.   Lcd_Cmd(_LCD_CLEAR);               // Clear display

  25.   Lcd_Out(1,1,txt1);                 // Write text in first row
  26.   Lcd_Out(2,5,txt2);                 // Write text in second row

  27.   Delay_ms(2000);

  28.   // Moving text
  29.   for(i=0; i<4; i++) {               // Move text to the right 4 times
  30.     Lcd_Cmd(_LCD_SHIFT_RIGHT);
  31.     Move_Delay();
  32.   }

  33.   while(1) {                         // Endless loop
  34.     for(i=0; i<8; i++) {             // Move text to the left 7 times
  35.       Lcd_Cmd(_LCD_SHIFT_LEFT);
  36.       Move_Delay();
  37.     }

  38.     for(i=0; i<8; i++) {             // Move text to the right 7 times
  39.       Lcd_Cmd(_LCD_SHIFT_RIGHT);
  40.       Move_Delay();
  41.     }
  42.   }
  43. }
复制代码
附:简单电路图。





51-LCD16x2.jpg

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:102963 发表于 2018-10-14 17:00 | 显示全部楼层
这是个什么软件做的?没见过这个软件!
回复

使用道具 举报

ID:406093 发表于 2018-10-15 09:33

ID:406093 发表于 2018-10-15 09:37 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表