本帖最后由 18810570228 于 2019-9-12 10:09 编辑
在某强力队友的帮助下 完成了小生第一个单片机设计作品 不得不说老哥的手艺强无敌 膜拜+1
先上波图
三连拍哈哈哈
再来一张电路板的
鉴于本人第一次搞这么大工程 就从设计开始吧 轻喷 不知该领域大家都怎么做 只是提供一下自己的做法 希望有所助益
一、设计思路
二、程序设计
三、焊接与调试
四、其他工作
五、程序及电路下载
<一、设计思路>
电路上主要有两个回路 分别是控制电路与驱动电路
控制电路就是单片机及时钟模块、计数器、三极管等一系列东西 完成对辉光管的控制 也包含了日期时间显示切换、日期调整等功能
驱动电路就是辉光管的供电电路 比较简单
额
再上个图
1.控制电路主要思路是 使用单片机的一个I/O口控制辉光管的一位 全部时钟的控制就需要六个I/O口 不建议每个口对应辉光管的一个阵脚 那样也太蠢了...那样六位显示的时钟需要6*10=60个控制口 额 当然可以使用二片单片机完成 程序设计也会简单许多吧 但是这也太傻了 所以还是这样吧
那么问题就来了 怎么使用一个I/O控制辉光管的10位数字显示 我觉得最简单的计数器和三极管的组合就可以完成这个功能 计数器选择了CD4017 一种超级简单的十进制计数器 之所以用这个是因为在我前期买三极管买的NPN型的 需要高电位输出使能控制接通 而很多计数器都是低电平使能 我也是醉了...反正最后找到了这个CD4017
大概就是这样式的
单片机I/O口使用程序设计扫描读取时钟 输出脉冲进入计数器 计数器对应口输出高电平 三极管由截止状态转为放大状态 驱动电路接通 辉光管点亮
2.驱动电路 就是完成基本的变压和整流 有太多种实现方式了 我采用的这个变压器加桥式整流是历史遗留问题...因为很多原件都是拆的...就剩这个变压器还没发挥功能...所以还是用了吧...要么浪费...
加了一个47k的限流电阻 最后整流出的直流电压大概200V左右
[这个图就省了吧]
<二、程序设计>
程序这个东西每个人有每个人的思路 我基本上设计理念是最简陋的那种...硬堆就完了...
除了和时钟模块DS1302的通信使用了通用的程序 关于显示控制、按键调时、日期切换等功能的实现比较简单 有兴趣的可以查看源程序进行针对性批判...
1.显示控制
就是几种输出格式的脉冲计数方法 这里面时分秒与日期的实现方式不太一样 导致最后的显示模式也不太一样 具体的说...
时分秒除了初始化亮灯是从零计算脉冲外 在时间调整时均根据之前显示的数字输出脉冲
日期全是从零计算脉冲
这两者的区别还是比较明显的 当然从零计算脉冲程序上很好实现 有针对性的计算脉冲需要考虑每一种显示内容的进制 比如说秒是60进制 日期...额...这个进制把我写崩溃了 进制随着月份变化 好在月份日期跳动比较少 从零计算脉冲显示上不存在太多问题 将就吧...
2.按键调时
这个更烦...关键几个按键的逻辑判断很是头大 最后是解决了 我也再也不想多看这段一眼...
自取吧...我很烦读别人的程序 大概也是因为这个 相信屏幕对面的同志亦然[手动微笑]
放心好了 使用没问题 维护很头疼
3.日期切换
类似于按键调时
头疼 还有个神奇的bug 我用延迟糊弄过去了 也不知道具体原因在哪 额 挺好用 除了一段莫名其妙的延迟语句的出现
<三、焊接与调试>
这一阶段实实在在弄了一天多 主要是焊接的点太多了 加上整体布局比较紧凑 增加了一些工作困难 最后的效果挺完美
再吹一波老哥的焊接技术 具体效果的见图
具体计数器与三极管的布局那就仁者见仁智者见智啦
调试时挺痛苦 辉光管阵脚太粗 一个一个插 插了还得拔
<四、其他工作>
还有很多事可以做
一是星期的显示 这个后来精疲力尽加上俗务缠身 不想搞了 大家有兴趣可以整一下 很简单 正好显示日期时前两位目前没用
二是关于亮度 想在辉光管前端加一个电阻和开关 搞个夜间模式
三是动态效果 这个比较好实现 在程序中就可以 算是已经实现了
额 视频不让发 效果挺好的 就是跳动数字最后到指定时间的感觉
<五、程序和电路下载>
程序和电路下载
CD4017.rar
(17.97 KB, 下载次数: 128)
最后再上几张图吧
时间
日期
计数器和三极管(预算不足 三极管根据显示数字多少配的)
这焊接
好想发个视频 动态的更好看 怎么发视频
|