数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 2162|回复: 17

[C51] 一滴不剩地榨干开发板上所有资源,实现没什么用的电子钟

[复制链接]
发表于 2023-9-13 15:10:49 | 显示全部楼层 |阅读模式
本帖最后由 就是我 于 2023-9-13 15:12 编辑

前言


十多年前,我在看了  『小七来误人子弟啦』通俗话教你单片机  这篇帖子后第一次接触了编程和单片机开发,也因此结识了很多当时还在读初中、拿不出几个零花钱但抱着极大热情省吃俭用穷折腾的爱好者朋友们。虽然后来因为研究领域的专精,大家已经很少在论坛活动了;但毕竟作为梦开始的地方,对我爱单片机这个地方还是怀有特别感情的。

前几天的时候公司在盘点报废设备,我看到一些设备里有不少很好看的屏幕便想着拆下来驱动起来一睹芳容。但因为这些屏幕都是 5V 电平的,目前市面上的 Linux 单板机毫无例外都是 3.3V 电平,添加电平转换电路或者模块又感觉有失优雅。而其他类似 STM32 一类的裸机系统板我又根本不会玩,所以决定直接用十年前的入门老技术 C51 来驱动屏幕。

那么在一切开始之前,我需要一个最小系统才能让单片机跑起来。
换做是小时候肯定得精打细算:一块 STC12C5A60S2,两个 30pf 电容,一个晶振,最后芯片座、排针、LED 一类的东西安排好,最后焊在洞洞板上。

但现在人懒了,也宽裕了,所以购入了一块在小时候看来遥不可及的 51 单片机丐版开发板,虽然性能不咋地,但通电开机一把梭直接用就好。(8 位单片机还追求个锤子性能啊)


这种功能不多的开发板其实我还是蛮喜欢的,比要你命3000那种的一大堆板上资源的看上去好看很多。但这样的小板可能唯一缺点就是真拿来学习的话可能会有点捉襟见肘吧。

可惜板子到手才发现我还没办法直接驱动那些拆下来的液晶屏。这些屏幕若非需要额外的电路,便是需要外接电位器调节对比度。

而我在这个订单里连公头杜邦线或者面包线都没有。那么在其他零件到货之前我先整个活,熟悉熟悉扔下快十年的单片机开发吧!

我现在的主力语言是 C# 和 JavaScript/TypeScript;C语言,尤其是嵌入式的充满位操作、没有什么库可以用、简单质朴的 C 早就被我抛到九霄云外了。可能一上来就驱动稀奇古怪的 LCD 确实会有点无所适从,那么趁其他快递到货之前,就从这个开发板上的板上资源开始动手重新入门也许是最好的选择。

所以我选用了P1 口低四位和 P0 口一起驱动的段码屏、P1 口高四位的上下左右按钮、P2 口的流水灯、P3 口上三个 IO 上的 DS1302 RTC 芯片来完成一个简单而充实的制作,一个榨干板上所有资源的,断电就不能继续走时的电子钟(x

正篇


虽说榨干了板上所有的资源,但这电子钟就像开发板本身一样简单质朴的很。
不过 SPI 接口的实时时钟,基于 STC 特有的定时器 2 中断实现的流水灯,动态刷新数码管;感觉入门该了解的东西都在了。


因为没有用来维持走时的电池,所以每次上电 DS1302 都会被初始化到默认的时间去,根本不像一个正经电子钟该有的样子。

至于其他的功能细节...
  • 下面的八个流水灯每秒跑一次,模拟秒针的跳动。
  • 最下面的五颗按钮。其中中间的 K5 和 DS1302 引脚冲突了不能用。上下按钮负责调整数字,左右按钮负责切换小时和分钟
  • 接通蜂鸣器后,可以听到 1Hz 的滴答声
  • 可在源码配置使用串口输出时间,默认只输出上电欢迎语



按下按钮即时进入校时模式,无操作五秒后自动恢复走时。
校时时流水灯两个灯常亮在右侧表示正在调整分钟,反之左侧则表示正在调整小时。

至此,板上的所有资源都利用起来了。所有的按键,所有的灯,所有的芯片都没闲着。

代码写的很随便。但是如果大家手上有差不多的同款开发板,下载一份到板里跑跑也算废物利用...吧?


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x

打赏

参与人数 1家元 +120 收起 理由
家睦 + 120

查看全部打赏

发表于 2023-9-13 16:24:07 | 显示全部楼层
想看报废设备和很好看的屏幕
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-9-13 16:34:43 | 显示全部楼层
qq59113 发表于 2023-9-13 16:24
想看报废设备和很好看的屏幕

一些工业测温仪表和音响设备上的蓝底点阵,比字符屏和无趣段码有韵味多了。回头家元多了可以发在拆机那边水一帖
回复 支持 反对

使用道具 举报

发表于 2023-9-13 16:57:19 | 显示全部楼层
老哥用.net是做Winform还是web呢,Winform的话有没有好的框架思路,UI、通讯、数据库、异步多线程融合得丝滑流畅的有没有
回复 支持 反对

使用道具 举报

发表于 2023-9-13 17:05:59 | 显示全部楼层
1Hz人耳应该听不见
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-9-13 17:42:42 | 显示全部楼层
lemontreenm 发表于 2023-9-13 17:05
1Hz人耳应该听不见

哈哈哈,只是因为共用了流水灯的一个 IO,听上去像是咔咔的声音。实际还挺好听的呢!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-9-13 17:51:59 | 显示全部楼层
wangxiangtan2 发表于 2023-9-13 16:57
老哥用.net是做Winform还是web呢,Winform的话有没有好的框架思路,UI、通讯、数据库、异步多线程融合得丝 ...

只是给公司做一些 Windows CE 手持扫码终端上用的工具而已,说白了就是 .NET compact framework 那一套。项目上主要是业务逻辑比较复杂烧脑脱发,架构方面的东西还是非常简单的。我的这些东西实现起来和前端那套差不多,都是事件驱动的思路,事件代理负责 UI 的更新,或者开新的线程来处理用户输入。
回复 支持 反对

使用道具 举报

发表于 2023-9-13 19:00:28 | 显示全部楼层
DS1302读写,按键读取,蜂鸣器,流水灯,数码管,串口通讯都能兼顾?
回复 支持 反对

使用道具 举报

发表于 2023-9-13 22:55:05 | 显示全部楼层
stc永远的s
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-9-14 00:34:02 | 显示全部楼层
本帖最后由 就是我 于 2023-9-14 08:46 编辑
lmn2005 发表于 2023-9-13 19:00
DS1302读写,按键读取,蜂鸣器,流水灯,数码管,串口通讯都能兼顾?

没问题的,就算是古典的 AT89C52 工作在 24MHz 也不在话下。不过我这个程序没有用一句延时,所有的延时都是用屏幕扫描来替代的,这样才能实现最佳效果
回复 支持 反对

使用道具 举报

发表于 2023-9-14 09:39:50 | 显示全部楼层
单片机也未必都是充满位操作,也就是51老人守着不放而已。
回复 支持 反对

使用道具 举报

发表于 2023-9-16 17:04:50 来自手机浏览器 | 显示全部楼层
惊人的相似…我也是看小七那个帖子入手了一块普中的51板子…问了下问题没有人回复也不知道这玩意儿需要先学习c语言的…一放好几年…再度拿起来也就是32折腾胸牌那会儿才捡了起来……没有你们这些大神那么厉害,现在还是入门级别的瞎折腾…不过我想弄的万年历和温湿度计已经完成了…虽然代码有点烂但是它可以正常使用了…
回复 支持 反对

使用道具 举报

发表于 2023-9-16 17:06:31 来自手机浏览器 | 显示全部楼层
楼主居然是新站的潜水艇啊…这居然是新站第一贴…
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-9-16 21:01:45 | 显示全部楼层
触景情伤 发表于 2023-9-16 17:06
楼主居然是新站的潜水艇啊…这居然是新站第一贴…

以前论坛是每天都逛的,现在生活里其他事情越来越多,发帖也少了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-9-16 21:06:40 | 显示全部楼层
触景情伤 发表于 2023-9-16 17:04
惊人的相似…我也是看小七那个帖子入手了一块普中的51板子…问了下问题没有人回复也不知道这玩意儿需要先学 ...

其实我那个时候也云里雾里的,知其然不知其所以然,连编译器报错都看不懂。如今仰仗着在大学时候学过计组和数据结构,好多当时不懂的和忽略的事情才一下子融会贯通的。
回复 支持 反对

使用道具 举报

发表于 2023-9-17 21:09:45 | 显示全部楼层
stc性价比还是不错的
回复 支持 反对

使用道具 举报

发表于 2025-3-23 14:56:17 | 显示全部楼层

stc永远的  普中的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-8-21 14:38 , Processed in 0.140400 second(s), 14 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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