基于单片机的数字电子钟的课程设计内容摘要:

写锁存器 内部总线 读引脚 amp。 1 VCC 锁存器 D CP Q Q 引脚 读锁存器 写锁存器 内部总线 读引脚 内部上拉电阻 11 高 8 位地址 (属地址总线 )。 P2 口能驱动 4 个 LSTTL 门。 P2 口的位结构如图 26 所示,引脚上拉电阻同 P1 口。 在 结构上, P2 口比 P1 口多一个输出控制部分。 图 24 P2 口位结构 4) P3 口 —— 8 位准双向 I/O 口。 可作一般 I/O 口用 ,同时 P3 口每一引脚还具有第二功能 ,用于特殊信号输入输出和控制信号 (属控制总线 )。 P3 口驱动能力为 4 个 LSTTL 门。 锁存器P 3 . XDCP读锁存器写锁存器内部总线读引脚V C CP 3 . X引脚内部上拉电阻amp。 第二输出功能第二输入功能 图 25 P3 口位结构 锁存器 D CP Q Q 读锁存器 写锁存器 内部总线 读引脚 VCC 引脚 内部上拉电阻 1 地址 控制 MUX 12 P3 口第二功能如下 表 : 上述 4 个 I/O 口 ,各有各的用途。 在不并行扩展外存储器 (包括并行扩展 I/O 口 )时 , 4 个 I/O 口都可作为双向 I/O 口用。 在并行扩展外存储器 (包括并行扩展 I/O 口 )时 , P0 口专用于分时传送低 8 位地址信号和 8位数据信号 ,P2 口专用于传送高 8 位地址信号。 P3 口根据需要常用于第二功能 ,真正可提供给用户使用的 I/O口是 P1口和一部分未用作第二功能的P3 口端线。 3. AT89C5 单片机的引脚功能 AT89C51 将具有多种功能的 8 位 CPU 与 FPEROM 结合在一个芯片上,为很多嵌入式控制应用提供了非常灵活而又便宜的方 案。 其引脚排列如下图所示 : ( 1) VCC: 电源 电压 ( 2) GND:接地 ( 3) RST:复位输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ( 4) /EA/VPP:当 /EA 保持低电平时,则 在 此 期 间 外 部 程 序 存 储 器 13 ( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1 时, /EA将内部锁定为 RESET;当 /EA 端保持高电平时,此间内部程序存储器。 在FLASH 编程期间,此引脚也用于施加 12V 编程电源( VPP)。 ( 5) XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 ( 6) XTAL2:来自反向振荡器的输出。 4 按键电路 由于我设计的是电子万年历,需要实现多种功能的显示,并要能够切换显示和调节年月日,因此,在设计过程中按键的设计就显得尤为重要。 在设计过程中我一共采用了 4 个按键,尽量在小的空间里实现最多的功能。 Mode 键实现的是暂停功能。 时按键 按下一次就能够更换一次显示位。 在调整显示环境下 分按键 是显示调整位的的加 1 键, FUNCTION 键实现年月日与 跑表 时间显示切换键 和跑表 清零,并提高万年历显示的精确性。 按键电路图如下 14 三、各单元硬件设计说明及计算方法 器件 15 内部功能图 显示电路 单片机应用系统中,通常都需要人机对话。 这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示运行状态与运行结果等。 显示器键盘电路就 是用来完成人机对话的人机通道。 LED 显示器的是一个非常重要的问题,显示电路由 LED 显示器,段驱动电路和位驱动电路组成。 由于单片机的并行口不能直接驱动 LED 显示器,必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作。 如果驱动电路能力差,即负载能力不够,显示器亮度就 16 低,而且驱动电路长期在超负荷下运行容易损坏。 LED 显示器的显示控制方式分为静态显示和动态显示两种 ,若选择静态显示 ,则 LED驱动器的选择较为简单 ,只要驱动器的驱动能力与显示器电流相匹配即可 ,而且一般只需考虑段的驱动 .动态显示则不同 ,由于一位数据的显示是由段和位选信号共同配合完成的 ,因此 ,要同时考虑段何位的驱动能力 ,而且段的驱动能力决定位的驱动能力 . 四、软件设计与说明 主程序流程图设计如下 CPU初始化 定时器0初始化化 定时器1初始化化 串口初始化 显示待机指示符 设定月 设置年 显示刷新 启动走时 变量初始化 刷新显示 判时分变化 否否。 秒指示 判1秒到否。 年代显示 时间显示 星期显示 Y Y Y Y 17 显示模块 基本显示模块设计的重点是由显示代码取得相应的段码、显示段码数据的串行发送,其中时个位的段码必须加上小数点,即带小数点显示时个位,目的是以小数点符代替时间分割符“ ”。 软件秒脉冲发生器其实质是利用了定时器 0 的定时溢出中断,将它设定为 100ms 溢出中断,则 10 次中断的时间正好为 1s。 将时间参数设计为 100ms 的原因有两个: 1)根据系统时钟主频为 6M 的特点, 16 位定时器最大定时时间为 65536 2M( M 为机器周期,这里是 2μS),即 131ms,取整数 100 便于计次数; 2)如取的太短,如 10ms,则定时器频繁中断,干扰系统正常运行效果。 有了秒脉冲发生器, 10 次中断为 1s,秒指示灯闪亮 1 次,秒变量单元加 1, 60 后分变量单元加 1,如果为 60 分则时变量单元加 1。 任何一个变量的变化,则显示刷新一次(更新)。 上述思想的实现均集成在定时器 0的中断子程序中。 五、 调试结果与必要的调试说明 打开 WAVE6000,输入所编写的源程序并对程序进行编译,在软件的帮助。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。