历史上的今天
返回首页

历史上的今天

今天是:2024年12月25日(星期三)

正在发生

2019年12月25日 | PIC单片机驱动LCD段驱动器的设计

2019-12-25 来源:elecfans

4×4小键盘的典型数字接口使用8个数字I/O引脚。但使用8个引脚作为数字I/O会占用可用于连接LCD的段驱动器引脚的数量。


通过使用2个数字I/O引脚和2个模拟输入引脚,可以向PIC单片机添加一个4×4小键盘,而无需牺牲它的任何LCD段驱动器引脚。


下图中显示了小键盘连接示意图。示例中使用的是PIC18F8490,但该技术可以用于任意LCDPIC MCU。


图中使用的两个数字I/O引脚是RBO和RB5,也可以使用任意两个其他的数字I/O引脚。所使用的两个模拟引脚是ANO和AN1。

PIC单片机驱动LCD段驱动器的设计

要读取小键盘,请遵循以下步骤:

1.首先,将RBO设计为输出高电平,将RB5设为输入(呈高阻抗)。

2.执行两次连续的A/D转换,先转换ANO.然后转换AN1。

3。将转换结果保存到它们各自的变量中:例如,RBO-ANO-Result和RBO-ANl-Result。

4.然后,将RB5设为输出高电平,将RBO设为输入(呈高阻抗)。

5.执行两次连续的A/D转换,先转换ANO,然后转换AN1。

6.将转换结果保存到它们各自的变量中:例如,RB5-ANO-Result和RB5-ANl-Result。

7.现在,共有4个变量,代表在4×4小键盘的每个象限的一次按键操作:

PIC单片机驱动LCD段驱动器的设计

8.最后,按照下表的相应栏检查每个值。如果它处于某个值的+/-10%范围内,则可以认为相应的键已被按下。

9.该循环应当大约每隔20ms重复一次。不要忘记执行按键弹出处理程序。例如,要求在以上步骤连续两次返回同一键值(之间有20 ms的延时)时,才将该键视为被按下。同样要求在至少两次返回未按下任何键时,才可以开始下一次按键操作。当同一象限内的几个键同时被按下时,可能会产生表3中显示的4种有效电平之外的电压。可以忽略这些电平,或者如果希望通过使用同时按键来使能某些功能,也可以添加针对这些电平的解码过程。

PIC单片机驱动LCD段驱动器的设计

推荐阅读

史海拾趣

Dynachip Corp公司的发展小趣事

为了进一步提升公司的竞争力,Dynachip Corp积极寻求国际合作机会。他们与国际知名的半导体企业建立了战略合作关系,共同研发新技术、新产品。同时,他们还积极开拓国际市场,将产品销往全球各地。这些国际合作和市场拓展的努力使Dynachip Corp在国际市场上树立了良好的品牌形象。

Aptina (ON Semiconductor)公司的发展小趣事

值得一提的是,Aptina曾与索尼达成了一项专利交叉许可协议。这一协议不仅加强了双方的技术合作,还促进了双方在图像传感器领域的共同发展。通过共享专利资源,Aptina得以进一步拓展其产品线,提升产品质量,巩固市场地位。

CDIL[Continental Device India Pvt. Ltd.]公司的发展小趣事

随着市场竞争的加剧和技术的不断进步,CDIL在15年前作出了重要决策——退出晶圆制造,转而专注于IC封装和电子制造服务。这一转型不仅使CDIL能够更好地适应市场需求,也为其带来了更广阔的发展空间。如今,CDIL的IC封装技术已达到国际先进水平,为全球众多知名电子企业提供优质服务。

GE Oil & Gas Digital Solutions公司的发展小趣事
在电子设备维修过程中,快速判断电阻的损坏情况或阻值变化。
CAMDENBOSS公司的发展小趣事

在电子行业的早期,CAMDENBOSS公司以其对技术的深入研究和不断创新而崭露头角。公司研发团队通过不懈努力,成功开发出一款具有革命性的连接器产品,该产品在信号传输效率和稳定性上取得了显著突破。这一技术突破不仅为公司赢得了市场的广泛认可,也奠定了其在电子连接器领域的领先地位。

CUI公司的发展小趣事

随着电子行业的发展,CUI技术逐渐融入到整个电子产业链的各个环节中。一些企业通过整合上下游资源,形成了从CUI材料研发、生产到电子产品制造的完整产业链。这种产业链整合不仅提高了企业的运营效率,还降低了生产成本,为企业赢得了更多的市场份额。

问答坊 | AI 解惑

555电路组成的振荡电路集锦

555电路组成的振荡电路集锦…

查看全部问答>

存储示波器资料

本帖最后由 paulhyde 于 2014-9-15 09:13 编辑 大家分享,,,,,,,,,,,  …

查看全部问答>

Bootloader深入讨论

Bootloader介绍 Bootloader移植的必要性 Bootloader是与系统硬件高度相关的初始化软件,它担负着初始化硬件和引导操作系统的双重责任。一些ARM平台可以共用同一种Bootloader,但是总的说来,每一个特定系统的Bootloader都会有所不同。Bootloader ...…

查看全部问答>

关于单片机程序的自动升级问题

例如以单片机的ROM是有10万次擦写的FLASH,现在该如何能像电脑软件一样能自动升级里面的程序而不用拆下来重新烧 1.假设需要更新的程序是放在一个外接的E2PROM里, 2.怎样让单片机执行RAM里的指令,以便更新ROM区 3.通过执行RAM里的指令读出E2PROM的 ...…

查看全部问答>

青岛的嵌入式开发

有青岛的嵌入式开发的吗?能不能跟个贴…

查看全部问答>

求教关于Wince窗口置顶问题

我要实现的目标: 1、一个置顶的小窗口TopBar,显示状态; 2、其它窗口类型为Popup,这些窗口不能覆盖顶部窗口TopBar 就这么简单 现在遇到的问题是,TopBar已经用下面这条语句设置置顶窗口了 复制内容到剪贴板代码: ::SetWindowPos( GetSafeH ...…

查看全部问答>

WINCE5加载顺序

我在使用WINCE5时,在GWES加载到DISPLAY时,总是会有几十秒钟的LCD黑屏才能显示WINCE的界面,我现在想把这个问题解决! 请问:如何能使EXPLORER在gwes之前加载,或者有无更加好的办法!…

查看全部问答>

向各位大大请教一个双向单线隔离的问题。

向各位大大请教一个双向单线隔离的问题。   现在要做一个TTL电平的双向单线光电隔离,请问有没有芯片可以实现这个功能?…

查看全部问答>