此内容有一定的深度,初学者不建议看。
最近一直在研究数码管驱动芯片 74HC595 ,发现一件很好玩的事情,那就是
用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呢?于是…就有个下面这个有趣的过程了
废话不多说,先上电路系统仿真图
实物效果图
单片机C语言参考源代码如下:
#include #include “lcd595.ini” const uchar type_t[]={ 0x1f,0x02,0x02,0x02, 0x02,0x02,0x02,0x00 1 }; const uchar line1[]=“Have a nice day!”; const uchar line2[]=“HE Wcommands”; void main() { uchar i; LcdInit(); LcdWriteCGRAM(0x00,type_t); LcdWriteData(0x00); LcdWriteCom(0x81); LcdPrintf("HE With"); LcdWriteCom(0xc0); LcdPrintf("Commands"); Lcd1602_Delay1ms(1000); LcdWriteCom(0x01); while(1){ for(i=0;i<16;i++){ LcdWriteCom(0x80+i); LcdWriteData(line1[i]); Lcd1602_Delay1ms(100); } Lcd1602_Delay1ms(500); LcdWriteCom(0xc1); LcdWriteData(0x00); Lcd1602_Delay1ms(100); for(i=0;i<12;i++){ LcdWriteCom(0xc2+i); LcdWriteData(line2[i]); Lcd1602_Delay1ms(100); } LcdWriteCom(0x01); Lcd1602_Delay1ms(100);
上一篇:8只数码管滚动显示8~F
下一篇:51单片机及DS18B20温度传感器的数字温度计设计
推荐阅读最新更新时间:2024-11-05 14:16
设计资源 培训 开发板 精华推荐
- 掌上点阵游戏机
- L7805C负输出电压电路的典型应用
- LT1933IDCB 2.5V 降压转换器的典型应用电路
- 使用 LT3045IDD 并联多个线性稳压器以提供 2A 输出电流的典型应用
- LTC3859EFE 高效宽输入范围双路 5V/8.5V 转换器的典型应用电路
- MCP3424EV,评估板是用于 MCP3424 18 位四通道 Delta-Sigma ADC 器件的快速简便的评估工具
- 使用 Analog Devices 的 LT1357 的参考设计
- AD8602ARZ 高端运算放大器电流监控器的典型应用
- AM2F-0512SZ 12V 2 瓦 DC/DC 转换器的典型应用
- 使用 Analog Devices 的 LT1317CS8 的参考设计
- 寻人:熟悉“仪器仪表校准流程”的工程师来报到啦!
- 点评《让世界更安全——TI Hercules开发实战手册》,精彩好礼等你拿!
- 观看赢好礼——京东卡等你拿!
- vishay照明,智勇闯关赢好礼!
- 免费申请 | ST多款开发板返场测评
- 【答题有奖】Altera Cyclone V 开发板全体验之初识 & 评估Cyclone V !
- 参会领开发板盲盒:2023 RT-Thread开发者大会报名啦!
- 抢先体验NUCLEO家族新贵,ST STM32 NUCLEO-F091RC开发板28元包邮!
- 免费下载Vishay最新汽车解决方案
- TE 《新趋势报告: 如何有效应对当下测试测量领域的挑战》下载最新趋势报告