文档详情

单片机电子时钟系统设计论文.doc

发布:2017-09-19约1.54万字共16页下载文档
文本预览下载声明
一、设计内容 利用单片机内部的定时/计数器,中断系统,按键以及八段数码管等元器件,设计一个具有校时功能,闹铃功能的数字钟。 该数字钟选用单片机AT89C51控制,6位LED数码管由软件编译直接驱动显示。该时钟能显示当前的时、分、秒,可以进行计时,校准、定时闹铃。电路结构简单,系统控制方便。 电路原理 多时刻定时数字钟电路图如下。单片机AT89C51外接12MHZ的晶振。P0口输出字形码,P2口味扫描的字形码。显示电路采用6只共阳极数码管,其共阳极由三极管8550驱动。蜂鸣器作闹铃,也是由三极管8550驱动。单片机各端口分配如下: P1.0:S1校时按钮 P1.1: S2校分按钮 P1.2: S3定时设置存储按钮 P1.3: S4定时设置退出按钮 P3.0:HA 蜂鸣信号 电源:采用USB 接电脑USB 获得5V标准工作电压。 时间调整:分别按下校时、校分按钮S1、S2即可调整校时,持续不放,时、分数值连续加1,此操作使秒值清零。 定时设置:按下定时设置存储按钮S3,计时显示切换到定时时间值显示,初值为“00”时“00”分“00”秒。再按S1设时数值,按S2设分数值,每按一下数值加1,调整到设定值时,再按S3保存第一闹铃时刻。然后再分别按S1、S2校时校分,再按S3保存第二闹铃时刻,如此可设定24个闹铃时刻。每次设好异时空都可以按S4退出定时设置状态,恢复正常走时、在操作过程中会听到“滴滴”声提示。 数码管显示原理:6只共阳数码管由6个三极管8550驱动,选通端接三极管的集电极,6个三极管的基极经电阻与分别与P2.0—P2.6相连,P2口做选通控制端,当输出0时相应的数码管被选通。 硬件电路制作与调试 设计好电路原理图后就要完成硬件电路的制作与调试 根据电路原理图,首先需要完成硬件电路的布局,一个好的布局不仅使整个硬件电路好看,而且能使焊接变得更简单,不易出现引脚间的短路,因此要合理布局。然后就是焊接。 首先要完成主要元器件的焊接,第一步先将单片机的DIP40引脚插座焊到插件板上。 第二步就要焊接数码管,因为使用6个共阳的数码管,因此在焊接是需要将各个数码管的字型输入端并连起来,最后分别接入P0口,P0口需串如排阻,起上拉电阻作用。由P0口输出字形控制码。将各个数码管的公共选通端与对应三极管8550的c端连接。三极管8550的基极经电阻与P2.0—P2.6相连,e端都接+Vcc。 第三步是焊接时间调节电路。时间调节电路由四个按键构成,与P1.0—P1.3相连,当按键动作时会有高或低电平(1或0)输入,单片机根据输入读取信息调节显示时间和设置闹铃时间。 第四步焊接复位电路和闹铃蜂鸣器电路。复位电路由复位按键和电解电容组成。闹铃蜂鸣器经三极管8550与P3.0口相连,当启动闹铃程序后,P3.0输出0,蜂鸣器开始蜂鸣。 最后一步焊接晶振电路。采用12MHz晶振。 焊接完成后,仔细检查无明显短路引脚后,运行调试程序: MOV P0, #00H MOV P2, #00H SJMP $ END 若显示满屏“88.88.88”则说明硬件电路制作成功。如不能正常显示则: 1.观察触摸芯片等器件是否发烫,器件是否接反。 2.检查电源电压是否正常,整机电流应为200mA左右。 3.用示波器观察晶振引脚电压波形,判断震荡电路是否起振。 4.显示驱动电路是否正常。 、 程序编写与调试 1.编写思路: 时钟信号将由单片机内部定时器T0中断产生,让T0工作在方式1循环产生50ms时基信号,通过计数20次产生秒信号,在经过计数得分和时的信号。因为采用定时器T0中断运行时不占CPU的时间,所以保证走时的精度。程序开始内定时间为00点00分00秒,提供开机时使用,不然会出现显示乱码。 P1口的按钮信号采用查询法判别,当有效时,调用对应功能子程序。 多时刻闹铃程序采用数据对比法,先比较时数据,再比较分数据,与设定时刻相同时调用闹铃程序。 2.运行调试: 软件编写调试采用“循序渐进法”,此方法尤其适合大型复杂程序的编写调试。在本设计中我们先编写6位数码管动态扫描显示固定数值,如“012345”。仿真烧写成功实现后,在此基础上添加定时中断并显示走时数值程序,编写校时程序。最后嵌入定时存储设置和到时刻闹铃程序,如此完善整个程序的编写。 附:元器件列表 单片机AT89C51 1个 共阳极数码管 6个 三极管8550 7个 4.7KΩ电阻 8个 10 KΩ电阻 5个 排阻 1个 30PF电容
显示全部
相似文档