找回密码
 立即注册

QQ登录

只需一步,快速开始

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

基于51单片机的1602电子显示屏proteus仿真+代码

[复制链接]
跳转到指定楼层
楼主
基于51单片机的电子显示屏仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar code table[]="I LOVE you!";
  5. uchar code table1[]="WWW.BAIDU.COM";
  6. sbit lcden=P3^4;        //液晶使能端
  7. sbit lcdrs=P3^5;        //液晶数据命令选择端
  8. sbit dula=P2^6;                //申明U1锁存器的锁存端
  9. sbit wela=P2^7;                //申明U2锁存器的锁存端
  10. uchar num;
  11. unsigned char a=0x00;
  12. void delay(uint z)
  13. {
  14.         uint x,y;
  15.         for(x=z;x>0;x--)
  16.                 for(y=110;y>0;y--);
  17. }
  18. void write_com(uchar com)
  19. {
  20.         lcdrs=0;
  21.         P0=com;
  22.         delay(5);
  23.         lcden=1;
  24.         delay(5);
  25.         lcden=0;
  26. }
  27. void write_data(uchar date)
  28. {
  29.         lcdrs=1;
  30.         P0=date;
  31.         delay(5);
  32.         lcden=1;
  33.         delay(5);
  34.         lcden=0;
  35. }
  36. void init()
  37. {
  38.         dula=0;
  39.         wela=0;
  40.         lcden=0;
  41.         write_com(0x38);//设置16X2显示,5X7点阵,8位数据接口
  42.         write_com(0x0c);//设置开显示,不显示光标
  43.         write_com(0x06);//写一个字符后地址指针加1
  44.         write_com(0x01);//显示清零,数据指针清零


  45.     TMOD = 0x20;
  46.     SCON = 0x50;
  47.     TH1 = 0xFD;
  48.     TL1 = TH1;
  49.     PCON = 0x00;
  50.     EA = 1;
  51.     ES = 1;
  52.     TR1 = 1;
  53. }

  54. void SendOneByte(unsigned char c)
  55. {
  56.     SBUF = c;
  57.     while(!TI);
  58.     TI = 0;
  59. }
  60. void main()
  61. {

  62.         init();
  63.         write_com(0x80);
  64.         for(num=0;num<11;num++)
  65.         {
  66.                 write_data(table[num]);
  67.                 delay(5);
  68.         }
  69.         write_com(0x80+0x40);
  70.         for(num=0;num<13;num++)
  71.         {
  72.                 write_data(table1[num]);
  73.                 delay(5);
  74.         }
  75.          write_com(0x80);
  76.         while(1)
  77.         {
  78.         }
  79. }

  80.     ser()interrupt 4
  81. {  
  82.      RI=0;
  83.          write_com(0x01);
  84.          a=SBUF;
  85.          write_data('I');
  86.           write_data('g');
  87.           write_data('e');
  88.            write_data('t');         
  89.             write_data(' ');
  90.              write_data(a);

  91. }
复制代码

所有资料51hei提供下载:
显示屏.rar (15.63 KB, 下载次数: 55)


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

使用道具 举报

沙发
ID:568302 发表于 2019-6-26 16:49 | 只看该作者
数字乱序
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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