找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

51单片机驱动CT1642数码管显示源程序

查看数: 4785 | 评论数: 3 | 收藏 2
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-8-1 11:35

正文摘要:

拆解电视机顶盒找到带CT1642控制的数码管 在网上找到代码修改了一下 没有解决按键检测的问题  可根据自己的需求修改对应引脚 制作出来的实物图如下: 单片机源程序如下: sbit DAT=P2^2; sbit CL ...

回复

ID:1064915 发表于 2023-4-12 14:25
CT1642是一种带键盘扫描接口和LED显示的控制专用电路,内部集成18bit移位寄存器,广泛应用于各种家用电器等各种设备的数码显示驱动电路。




1、引脚说明
      Q2-Q9:表示段输出、接数码管阳极
      C1-C4:位输出,接数码管阴极
      DATA:  数据信号,写入后存于IC寄存器中
2、功能
     主要由18位移位寄存器、18位锁存器、驱动电路组成,芯片上电后Qn端输出低电平,Cn端输出高电平。


2.1   CT1642的数据输出由数据移位、数据锁存和数据输出三个步骤完成:
1)数据移位: 将数据按照上图对应格式写入DATA端,在CLK上升沿的作用下一次性18位数据写入到移位寄存器
2)数据锁存: 将CLK置为1,18位移位寄存器内的数据一次性输出到18位锁存器,同时由于CLK为1,在DATA上升沿的作用D输出为0,输出关闭
3)数据输出: 将CLK置为0, 关闭18BIT锁存器缓冲,同时在DATA上升沿的作用下使D触发器输出为1,打开输出缓冲器。

2.2  控制LED显示:  将18位数据写入DATA口,C1-C4控制LED是否亮,Q2-Q9控制LED显示内容,18bit数据前四位与后八位有效;
       配合始终输出完18位数据之后,拉高时钟,再拉低DATA口,再拉高DATA口产生DATA上升沿,将数据锁存;
       再将CLK置为0,再拉低DATA口,再拉高DATA口形成DATA上升沿将数据输出,从而控制LED显示。

2.3 检测按键处理:  按键可以采用接在Qn端也可以接在Cn端,无论接在哪一端都要确定检测按键的时候LED显示状态是关闭的。也就是说按键接在Qn端时,当进入按键检测时,Cn应输出为高电平关闭LED显示;按键接在Cn端时,当进入按键检测,Qn端应输出低电平,关闭LED显示。
      当按键接在Qn端时, 逐个向Qn发送高电平,读key值,若key值为高,说明相应的键位已按下。
2.4 一些问题:   CT1642纯软件对时间有一定要求,时间达不到显示会很闪。
ID:48994 发表于 2023-4-12 10:28
感谢分享,手上刚好有这个,正好拿来学习下!
ID:445069 发表于 2021-12-13 18:26
正在研究 Linux 下 CT1642 的驱动,没想到在 51 上也有用到。

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

Powered by 单片机教程网

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