DS1302是制作电子时钟最常用的时钟芯片之一,我之 前制作的每一款时钟都有它的身影。他可以计算公历日期、备用电池保证时钟走时 、内部RAM可以存储用户闹钟等数 据。经过一番研究之后,决定在mini1608中使用单片机程序 计算公历日期,STC11F32XE内部有EEPROM空间,可以长久地保存用户数据。但如果没有备用电池,单片机一旦断电就会丢失时间数据。为了解决这个问题,我决定使用电池为电 子时钟供电。这样一来,我们成功地省去了DS1302时钟芯 片,同时没有失去应有的功能。 DS18B20是一款温度传感器芯片,它有一种TO-92封装,和普通直插式三极管的外观无异。当然,我也考虑过使用热敏电阻或其他电路替代,但都因电路复杂和稳定性等问题被否 决,最后还是继承了这种温度传感器方案。单总线的通信方式 确实可以节省本来就紧张的单片机I/O接口资源,还是沿用先 前的设计,将DS18B20芯片制作在外延的电线上,目的是为 了防止电子时钟主体发热而导致对温度采集的干扰。 按键是电子钟必不可少的组成部分,除非它可以实现 无线遥控或者触摸屏幕。在没有其他成熟的方案之前,我还 是使用普通的微动开关。我选择的是体积较大一些的微动开 关,尺寸为12mm×12mm×6mm,因为我发现这种型号的微动开关可以直接放在单片机的背面,并焊接在单片机上。在 传统的设计中,虽然按键功能并不是设计的主角,但它都会 独自占用几个I/O接口。mini1608的方案决定了,不可能留出 I/O接口专门给按键享用,它必须要“寄生”在现有功能的I/O 接口上,通过程序分出按键扫描的时间。这样一来,按键电 路没有独占I/O接口,省出了几个I/O接口。 因为使用电池供电,自然省去了电源稳定电路。因为I/O接口有推挽工作方式,也省去了LED点阵屏和蜂鸣器的驱动 电路。当我在考虑省去元器件的时候,结果发现我连电路板也一并省去了。没有电路板的电子时钟电路,至少在我的记 忆中前无古人。我重重地靠在椅背上,长叹一口气,复杂的 终于不见了,留下的只有精简与创意。诸君注意,复杂的终 于不见并不是说真的消失,而是绕过精简的硬件制作跑到了 无形的程序世界。形成了简单的外表和复杂内心的反差。要 相信,在我辗转反侧的时候,在我选择单片机的时候,在我 精简电路的时候,我都在不断地思考程序的设计与实现,那是mini1608存在的根本,也是精简设计的灵魂。灵感乍现并 不是失眠所至,不要学习辗转反侧,失眠不会成产生灵感反 会影响健康。创新是放弃所学的固有知识,在思想中不断探 索最根本的学术原理,创新的前提不是学习,是放弃。 原来是理 探索最基本的学术原理,这是科技进步的大前提。手机 的发明是因为发现了无线电,飞机的出现是因为有了空气动 力学原理,mini1608的发明是因为有了杜洋不懈努力。学会了制作,就只学会了制作,学会了基本原理便学会了创作。 本文的续篇是对mini1608程序实现原理的分析,它包括对增强型单片机内部集成功能的使用,还有对各器件的驱动和各 种数据的处理。其中I/O的推挽工作方式、LED点阵屏实现测光的原理,在给你启发的同时,也给你尽情畅想和发挥的 天地。一个月之后的今天,阳光明媚的中午,别忘了《无线电》的老地方,杜洋与你的神秘约会 (责任编辑:admin) |