单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

完全使用单片机3个IO口+74HC595驱动LCD1602液晶的源程序

  [复制链接]
跳转到指定楼层
楼主
最近老乱玩74HC595,发现它只能输出,不能输入。
查找大量资料,从某个网友制作的mylib.c(NES)中获得了一条指令:
#define bin(_a,_b,_c,_d,_e,_f,_g,_h) ((_a)<<7|(_b)<<6|(_c)<<5|(_d)<<4|(_e)<<3|(_f)<<2|(_g)<<1|(_h))
分别是8 7 6 5 4 3 2 1位
能不能完全用74595来控制整个1602呢?于是......

当时用的STC89C52RC......

效果图:








单片机源程序如下:
  1. #include <reg52.h>
  2. #include "lcd595.ini"

  3. const uchar type_t[]={
  4.   0x1f,0x02,0x02,0x02,
  5.         0x02,0x02,0x02,0x00
  6. };

  7. const uchar line1[]="Have a nice day!";
  8. const uchar line2[]="HE Wcommands";

  9. void main()
  10. {
  11.         uchar i;
  12.         LcdInit();
  13.         LcdWriteCGRAM(0x00,type_t);
  14.         LcdWriteData(0x00);
  15.         LcdWriteCom(0x81);
  16.         LcdPrintf("HE With");
  17.         LcdWriteCom(0xc0);
  18.         LcdPrintf("Commands");
  19.         Lcd1602_Delay1ms(1000);
  20.         LcdWriteCom(0x01);
  21.         while(1){
  22.                 for(i=0;i<16;i++){
  23.                         LcdWriteCom(0x80+i);
  24.                         LcdWriteData(line1[i]);
  25.                         Lcd1602_Delay1ms(100);
  26.                 }
  27.                 Lcd1602_Delay1ms(500);
  28.                 LcdWriteCom(0xc1);
  29.                 LcdWriteData(0x00);
  30.                 Lcd1602_Delay1ms(100);
  31.                 for(i=0;i<12;i++){
  32.                         LcdWriteCom(0xc2+i);
  33.                         LcdWriteData(line2[i]);
  34.                         Lcd1602_Delay1ms(100);
  35.                 }
  36.                 LcdWriteCom(0x01);
  37.                 Lcd1602_Delay1ms(100);
  38. ……………………

  39. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码


所有资料51hei提供下载:
5951602.zip (55.5 KB, 下载次数: 65)



评分

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

查看全部评分

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

使用道具 举报

沙发
oyxx134 发表于 2018-5-9 02:29 | 只看该作者
正在谢谢1602呢。学习了。谢谢
回复

使用道具 举报

板凳
anksy 发表于 2018-9-3 08:33 | 只看该作者
谢谢分享。学习中,做个记号
回复

使用道具 举报

地板
zmc419 发表于 2018-9-4 20:59 | 只看该作者
很好,正准备做这个实验,准备用74HC164.
回复

使用道具 举报

5#
qq35404085 发表于 2018-9-5 17:04 | 只看该作者
很东西先收藏
回复

使用道具 举报

6#
aking991 发表于 2018-9-27 08:45 | 只看该作者
很不错的想法,值得学习
回复

使用道具 举报

7#
FGH116 发表于 2018-10-4 09:44 | 只看该作者
多谢,论坛有你更精彩!
回复

使用道具 举报

8#
2018lfq 发表于 2019-1-10 20:15 | 只看该作者
用74HC164可以节省好多IO口。
回复

使用道具 举报

9#
hed 发表于 2019-1-11 21:45 | 只看该作者
学习一下
回复

使用道具 举报

10#
li1049589129 发表于 2019-1-11 21:58 | 只看该作者
学习学习。。。。。。。。。。。。。。
回复

使用道具 举报

11#
无效楼层,该帖已经被删除
12#
无效楼层,该帖已经被删除
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51hei电子论坛2群 联系QQ:125739409;技术交流QQ群219535678

Powered by 单片机教程网

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