控制/MCU
首先,说一下,为什么发这个帖子,我之前也没有写博客的习惯,偶尔回答初学者的问题,留下了QQ,结果很多人加我,我想,一次一次的回答效率太低,不如把自己以前学习单片机的一些总结写下来,也许能帮助更多的人,积德行善,修己达人,自己要进步,也不要忘了初学者,毕竟都是从哪个时候过来的,不是高手,也不是大侠,只是一个普通而平凡的单片机工作者,也许在过个几十年,就是单片机地下工作者了,本人也一直往这个方向努力着
我觉得任何技术,都可以用通俗易懂的文字表达出来,单片机技术也不例外,技术不应该故作高深,应该接地气。亲自动手做一个实用的电子钟是个不错的选择,接下来,我将逐步还原我做这个项目的过程,以及在开发制作过程中的思考,在这期间,遇到什么,我们就学什么,通过这个项目,把单片机有关知识点捋一遍,希望初学者能够有所收获,少走弯路。
做项目得有需求,当时我是这么想的:
要电池供电,拖着个数据线太。。。
年月日最基本的要轮流显示,不然还能叫电子时钟嘛
要能让蜂鸣器唱歌,这个有难度。。。
三组闹钟,可以打开或者关闭,还可以自由选择闹铃,这个好
60个LED旋转做秒指针,多几个花样做点缀,想法不错
晚上睡觉太刺眼,要有光控模式,好吧
晚上房间太热了,当时是夏天,能显示温度就好了
电池太费电,要有低功耗和待机模式可选择就好了
电池耗电快,要是能显示电池电压就好了
设计一个接口,既可以用来学习,也可以拿来作为生活用品使用,这功能,逆天了。。。
以上,我提出来了很多的要求,但是能不能做,我们就要分析一下:
电池供电,没有问题,关键是充电部分,因为成本低,所以只能选择简单充电方案
这个用数码管,很容易做到,到底是用1302还是8563呢?
这个有些难度,好在万能的百度上有很多共享资料,可以借鉴
这个实现也没问题,考验我的编程能力的时候到了,小宇宙爆发吧
不用就是个点阵嘛,换个马甲我还不认识你了么?
用光敏电阻就能解决,要带AD采集的片子
18B20是精确,但是太贵了,还是用热敏电阻吧
待机模式,没问题,可以实现,显示电池电压得用到带AD的片子啊
不就是预留个程序下载接口吗?说的那么专业干嘛
好了,经过以上分析,我认为这个东西,在技术上是可行的,既然可行就要画原理图,而画图,要用到ALTIUM DESIGNER,经过一番思索,画好的原理图如下:
我们解释下这个原理图,四段时钟数码管专用的,共阳的,60的LED,差不多一个8*8点阵,蜂鸣器用8550驱动,光敏电阻和热敏电阻选择了50K的,时钟芯片选择了PCF8563的IC,IIC接口,2根线,很方便,2个按键,P3.0是外部中断,可以用于待机唤醒,电池充电部分很简单,5V的电源经USB输入后,经过一个二极管,然后大概4.0-4.3v左右的压降会加载在3.7V的锂电池上,锂电池限值充电电压是4.2V,然后对采集进来的电压进行分压,AD采集得有基准电压,我们用了3.3V的稳压芯片,同时作为单片机电源使用,电池加了一个开关,如果将开关关闭,可以作为学习板使用,可以下载我们自己编写的代码,如果将开关闭合的话,是无法识别的,只能作为生活用品使用了,单片机用了STC15W1K16PWM这个芯片,功能比较强大,带AD,强推挽大电流可以直接驱动LED,实现我们的要求完全没问题,好了,理论分析上是如此,实际会是我想的那样吗?
今天就到这里吧,有时间在更新,欲知后事如何,且听下回分解,第一次写,还不知道怎么上传原理图,先传到我的网盘里,有需要的直接下载就好了。
https://pan.baidu.com/s/1mhO71va
全部0条评论
快来发表一下你的评论吧 !