找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3639|回复: 1
收起左侧

1602字符显示keil+protues详细讲解及说明

[复制链接]
ID:164381 发表于 2017-2-20 14:52 | 显示全部楼层 |阅读模式
1602字符显示keil+protues详细讲解及说明
0.png
源程序:
  1. #include<reg52.h>
  2. typedef unsigned int u16;
  3. typedef unsigned char u8;

  4. #define DATA P0                                //宏定义,相当于  define π 3.14,这里没有等号。

  5. sbit rs = P2^1;                                          //rs,sw,en;可以理解成液晶的几个功能开关,无非就只有两种状态
  6. sbit rw = P1^5;                                                                         //为0或1,对应的功能详细看使用手册。这里是把液晶的
  7. sbit en = P1^6;                                                                   //这三个开关与单片机引脚定义为链接状态,以便单片机控制液晶。

  8. void delay(u16 num)
  9. {
  10.     u16 x,y;
  11.         for (x=num;x>0;x--)
  12.              for(y=110;y>0;y--);

  13. }
  14. void write_cmd(u8 cmd)                   //写指令
  15. {
  16.   rs=0;                                                   //选择指令寄存器
  17.   rw=0;                                                   //进行写操作
  18.   DATA = cmd;                                   //把指令传给单片机
  19.   delay(5);
  20.   en=1;
  21.   delay(5);
  22.   en=0;                                                   //en为使能端,当en由高电平跳到底电平时,液晶模块执行命令。
  23. }
  24. void write_data(u8 dat)
  25. {
  26.   rs=1;                                                        //选择数据寄存器
  27.   rw=0;                                                        //进行写操作
  28.   DATA = dat;                                        // 把数据传给单片机
  29.   delay(5);
  30.   en=1;
  31.   delay(5);
  32.   en=0;
  33. }
  34. void lcd_init()                                 //初始化
  35. {
  36.    write_cmd(0x02);           //归为
  37.    write_cmd(0x06);           //设置输入方式
  38.    write_cmd(0x0e);           //控制显示开关
  39.    write_cmd(0x38);           //功能设置
  40.    write_cmd(0x01);    //清屏
  41. }
  42. void main()
  43. {
  44.   rw=0;
  45.   rs=0;
  46.   en=0;
  47.   lcd_init();
  48.   write_cmd(0x80);             //0x80,(0xc0)为在液晶上显示的地址;80为第一排显示,c0为第二排显示。
  49.   write_data('x');      //显示的数据
  50.   write_data('i');
  51.   write_data('a');
  52.   write_data('o');
  53.   write_data(' ');
  54.   write_data('p');
  55.   write_data('e');
  56.   write_data('n');
  57.   write_data('g');
  58.   write_data(' ');
  59.   write_data('y');
  60.   write_data('o');
  61.   write_data('u');
  62.   write_cmd(0xc0);                 //第二排显示
  63.   write_data('t');                  //显示的数据
  64. while(1);
  65. }
复制代码

0.png
仿真工程文件及完整源码下载:
1602字符显示.rar (45.29 KB, 下载次数: 31)

评分

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

查看全部评分

回复

使用道具 举报

ID:1 发表于 2017-2-22 01:02 | 显示全部楼层
好资料,51黑有你更精彩!!!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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