找回密码
 立即注册

QQ登录

只需一步,快速开始

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

超声波液晶显示

[复制链接]
跳转到指定楼层
楼主
ID:216475 发表于 2017-7-2 08:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #include <reg52.H>
  2. #include <intrins.H>
  3. #include <math.H>

  4. #define uchar unsigned char
  5.   #define uint unsigned int

  6. sbit dula = P2^6;//数码管锁存器关闭
  7. sbit wela = P2^7;

  8. sbit RS = P3^5;   显示屏打开
  9. sbit LCDEN = P3^4;

  10. void delayUs()
  11. {
  12.     _nop_();
  13. }

  14. void delayMs(uint a)
  15. {
  16.     uint i, j;
  17.     for(i = a; i > 0; i--)
  18.         for(j = 100; j > 0; j--);
  19. }


  20. void writeComm(uchar comm)
  21. {
  22.      RS = 0;   
  23.     P0 = comm;
  24.     LCDEN = 1;
  25.      delayUs();
  26.     LCDEN = 0;
  27.     delayMs(1);
  28. }

  29. //写数据:RS=1, RW=0;
  30. void writeData(uchar dat)
  31. {
  32.      RS = 1;
  33.      P0 = dat;
  34.      LCDEN = 1;
  35.     delayUs();
  36.     LCDEN = 0;
  37.     delayMs(1);
  38. }


  39. void init()
  40. {
  41.    
  42.      dula = wela = 0;
  43.     writeComm(0x38);   //显示模式
  44.    writeComm(0x0c);//光标
  45.     writeComm(0x06);  //光标位置,科左移
  46.     writeComm(0x01); //清屏
  47. }

  48. void writeString(uchar * str, uchar length)
  49. {
  50.      uchar i;
  51.     for(i = 0; i < length; i++)
  52.     {
  53.          writeData(str[i]);
  54.      }
  55. }
  56. void main()
  57. {
  58.     uchar table[] = " xianzaiwendu:";
  59.    
  60.     init();

  61.     writeComm(0x80);
  62.     writeString(table, 16);
  63.     while(1)
  64.     {
  65.         
  66.     }
复制代码


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

使用道具 举报

沙发
ID:922968 发表于 2021-5-18 12:51 | 只看该作者
程序有问题
回复

使用道具 举报

板凳
ID:328014 发表于 2021-5-18 18:08 | 只看该作者

我在搜索框输入"超声波 1602"帮你搜索到了几个能成功仿真的工程http://www.51hei.com/bbs/dpj-189056-1.html
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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