找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4209|回复: 2
打印 上一主题 下一主题
收起左侧

单片机字符型液晶显示姓名与学号实验

[复制链接]
跳转到指定楼层
楼主
ID:272482 发表于 2018-1-6 19:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
应用keil和PROTEUS软件仿真字符型液晶模块的控制方法,能够显示相应的字符;
并利用硬件电路完成上述功能。

1.docx

909.89 KB, 下载次数: 15, 下载积分: 黑币 -5

里面有C程序

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2018-1-8 01:58 | 只看该作者
字符型液晶显示实验
  • 实验内容
应用keil和PROTEUS软件仿真字符型液晶模块的控制方法,能够显示相应的字符;利用硬件电路完成上述功能。
  • 软件设计
源程序清单:
  1. #include<reg51.h>

  2. #include<intrins.h>

  3. #define uchar unsigned char

  4. #define uint unsigned int



  5. sbit rs=P2^7;

  6. sbit rw=P2^6;

  7. sbit  e=P2^5;



  8. uchar table1[]={"姓名:黄子晗"};

  9. uchar table2[]={"学号:2154126"};



  10. void write_12864com(uchar com);

  11. void write_12864dat(uchar dat);

  12. void initinal(void);

  13. void display (void);



  14. void delay_50us(uint t)

  15. {   uchar j;

  16.     for(;t>0;t--)

  17.                  for(j=19;j>0;j--);

  18. }



  19. void delay_50ms(uint t)

  20. {   uint j;

  21.     for(;t>0;t--)

  22.                  for(j=6245;j>0;j--);

  23. }



  24. void main(void)

  25. {   initinal();

  26.     while(1)

  27.               {   display();

  28.                   while(1);

  29.               }

  30. }



  31. void initinal(void)

  32. {   delay_50ms(2);

  33.     write_12864com(0x30);

  34.               delay_50us(4);

  35.     write_12864com(0x30);

  36.               delay_50us(4);

  37.     write_12864com(0x0f);

  38.               delay_50us(4);

  39.     write_12864com(0x01);

  40.               delay_50us(240);

  41.     write_12864com(0x06);

  42.               delay_50us(10);

  43. }



  44. void write_12864com(uchar com)

  45. {   rw=0;

  46.     rs=0;

  47.               delay_50us(1);

  48.               P0=com;

  49.               e=1;

  50.               delay_50us(10);

  51.               e=0;

  52.               delay_50us(2);

  53. }



  54. void write_12864dat(uchar dat)

  55. {   rw=0;

  56.     rs=1;

  57.               delay_50us(1);

  58.               P0=dat;

  59.               e=1;

  60.               delay_50us(10);

  61.               e=0;

  62.               delay_50us(2);

  63. }



  64. void display(void)

  65. {   uchar i,j;

  66.     write_12864com(0x90);

  67.     for(i+0;i<12;i++)

  68.               {   write_12864dat(table1[i]);

  69.                   delay_50us(1);

  70.               }

  71.     write_12864com(0x98);

  72.               for(j<0;j<14;j++)

  73.               {   write_12864dat(table2[j]);

  74.                   delay_50us(1);

  75.               }

  76. }
复制代码



三、联合调试与运行
如图,在烧录程序成功后,12864上出现了相应的姓名与学号。


回复

使用道具 举报

板凳
ID:655443 发表于 2020-2-25 15:30 来自手机 | 只看该作者
有仿真图吗?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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