基于单片机的智能电子钟设计(编辑修改稿)内容摘要:

或累减 ( 1) “时”修改程序 选中时位说明 (51H)+03H 是 00H,然后判断是 K2 键有效还是K3 键有效,如果是 K2 键有效,则对取出的十位内容进行加一操作,在将结果存入 00H 单元去显示( 0024),按下一次加一次,退出后等待第二次按下 K2 键进行累加(加到 24 重新赋 0 再加,依次循环);如果是 K3 键有效,则对取出的十位内容进行减一操作,再将结果存入 00H 单元去显示( 0024),按下一次减一次,退出后等待第二次按下 K2 键进行累减(减到 0 重新赋 24 再减,依次循环)如图 47 ( 2)“分”修改程序 选中时位说明 (51H)+03H 是 01H,然后判断是 K2 键有效还是 K3键有效,如果是 K2 键有效,则对取出的十位内容进行加一操作,在将结果存入 01H 单元去显示( 0060),按下一次加一次,退出后等待第二次按下 K2 键进行累加(加到 60 重新赋 0 再加,依次循环);如果是 K3 键有效,则对取出的十位内容进行减一操作,再将结果存入 01H 单元去显示( 0060),按下一次减一次,退出后等待第二次按下 K2 键进行累减(减到 0 重新赋 60 再减,依次循环)如图 48 闹钟报警系统 由于蜂鸣器的工作电流较大,所以利用一个三极管放大电流,蜂鸣器驱动原理图 如图 51 所示,当单片机的 引脚为高电平时,三极管截止,无电流通过蜂鸣器;反之导通,蜂鸣器响。 在定时过程中,使 输出高电平,蜂鸣器不响;当定时结束时,使 输出低电平,蜂鸣器响,按下 K4 键,给一个脉冲,送到中断程序中,使 输出高电平。 DS18B20 结构及原理 DS18B20 内部结构主要由四部分组成: 64 位光刻 ROM 、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器 DS18B20 结构框图 DS1820 用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。 计数器被预置到对应于 55℃的一个值。 如果计数器在门周期结束前到达 0,则温度寄存器(同样被预置到 55℃)的值增加,表明所测温度大于 55℃。 同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。 然后计数器又开始计数直到 0,如果门周期仍未结束,将重复这一过程, DS1820 测温范围 55℃ ~+125℃,以 ℃递增。 DS18B20 工作原理图 DS18B20 外接电源图 温度显示工作方式 温度传感器 DS18B20 的接法很简单,它的 DQ 引脚与 MSC51 芯片的 引脚相连接。 这里只用到一个温度传感器,若要使用多个则只需将所有的 DS18B20 的 I/O 口接在一起即可,在具体操作时,通过读取每个芯片的内部序列号来识别 温度传感器模块 本次三片机三级项目,本小组对 MSC51 单片机为核心的控制芯片, DS12887 时钟芯片、 DS18B20 温度传感器, 74LS138 译码器及 7 段数码管进行了大量的资料查阅和研究工作,熟悉并掌握了上述芯片的基本功能和使用方法,将课本学习到的理论知识用于实践操作,熟悉了各种芯片之间的协同工作,和各种工作模块的组合思路。 让我们对系统的应用单片机进行功能设计有了更深的体会。 设计人员分工明确,培养了小组成员的团队协作意识和能力,期间也遇到了一些困难, 例如我们在定时模块关于累加后如何实现单位的循环上遇到困难而最后我们运用计数重置成功解决了这一问题。 普通的仿真软件的安装和学习也让我们耗费了大量的时间。 本次三级项目让我们检验了课堂学习的成果,是一次很好的锻炼。 include include define uchar unsigned char define uint unsigned int /*七段共阴管显示定义 */ //此表为 LED 的字模 , 共阴数码管 09 uchar code dispcode[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40}。 //段码控制 /*定义并初始化变量 */ uchar seconde=0。 //秒 uchar minite=0。 //分 uchar hour=12。 //时 uchar mstt=0。 //定时器计数,定时 100ms, mstt满 10,秒加 1 uchar shi=0。 //闹铃功能 ucha。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。