加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

给朋友的生日礼物,mini1608时钟纯手工打造(原理图、程序源码)

2017/03/08
56
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
方块图(2)
  • 方案介绍
  • 相关文件
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

同学送给朋友的生日礼物,按照杜洋工作室的mini1608制作的简化版,只有两块点阵和三个按键。由于杜洋没有给源代码,只有编译好的HEX,就让我写了。

由于硬件的限制和时间的限制只写了基本的显示功能和按键的功能。
使用的单片机STC12C5A60S2,因为是按照杜洋工作室介绍焊的硬件,只不过没有焊18b20和蜂鸣器,就不过多介绍了。

直接附上杜洋工作室的制作链接:https://www.doyoung.net/works/DOCLOCK_MINI1608_V1TE...

视频演示:

主函数的代码部分截图,自认为驱动函数的接口留的还是比较方便调用的。源代码见“相关附件”下载。

调驱动的时候遇到了一些比较有意思的现象和大家分享一下。
因为是使用单片机IO端口直接驱动点阵,所以很正常的就想到了把点阵阳极行选的引脚设置成了强推挽输出,选行的时候就把那一行对应的端口置1,然后给数据,果然很顺利的就调出来了。但是增加按键功能的时候就出问题了,因为按键两端都焊在IO端口上,所以按下按键的时候就会把两个引脚连接起来,而这两个引脚都又连着点阵,就会导致点阵的某一列全亮,不能正常显示。为了解决这个问题我想到了一个方法,首先将行选对应的端口全部置1,但是不设置推挽输出,因为准双向的驱动能力很弱,所以点阵是不会亮的,选行的时候再将对应的端口设置为强推挽模式,加大驱动能力,这一行便可以被点亮,这样又能保证按键被按下时,列选不会被未选中的行选拉低导致某一列全亮。不知道杜洋工作室的源代码是不是通过这种方式实现的,或者有其他更好的方法。
这个程序其他就没有什么难点了。可能有些同学会疑问点阵的有些引脚连接在了单片机的RESET,ALE等引脚上了,不知道是怎么操作的,60s2的这些引脚都是可以复用为第二功能P4端口,只需操作寄存器P4SW即可,此部分在芯片手册的《1.3 STC12C5A60S2系列单片机管脚图》章节的最后部分有介绍,其中复位脚作为IO口使用还需要再下载程序时对硬件选项进行设置,勾上“复位脚用作I/O口”,杜洋工作室的制作介绍也有说明。

按键切换的部分还有个小BUG,因为时间关系没有时间继续写了。
最后是我使用的点阵取模软件,如果想使用我的程序直接显示其他汉字,只需要更改code_dat.h中的字模即可,数据排列顺序为“从左到右从上到下”,取模方式为“横向8点右高位”,想要显示其他英文字符串,只要调用我写的函数,更改参数即可,不用重新取模。

实物购买链接:https://item.taobao.com/item.htm?spm=a1z10.3-c.w40...

  • mini1608_SCH.jpg
    描述:原理图
  • mini1608源码.rar
    描述:mini1608源码
  • 主函数代码.txt
    描述:主函数代码
  • lcd汉字取模软件.zip
    描述:lcd汉字取模软件

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
41481 1 TE Connectivity FASTON .250 SERIES (6.3 MM) TAB TPBR

ECAD模型

下载ECAD模型
$0.32 查看
MBRM140T3G 1 onsemi 1.0 A, 40 V, Schottky Power Rectifier, Surface Mount, POWERMITE, 12000-REEL

ECAD模型

下载ECAD模型
$0.68 查看
EZADT31AAAJ 1 Panasonic Electronic Components RC Network, RC Low Pass Filter, 0.063W, 100ohm, 12V, 0.000022uF, Surface Mount, 10 Pins, CHIP
暂无数据 查看

相关推荐

电子产业图谱