基于单片机控制的时钟电路设计毕业论文内容摘要:

特殊功能寄存器 实质上是一些具有特殊功能的片内 RAM 单元 ,字节地址范围为 21 个 ,离散的分布在该区域中 ,其中有些 SFR还可以进行位寻址。 并行 I/O 口 MCS51单片机共有 4个双向的 8 位并行 I/O 端口( Port),分别记作 P0P3,共 32 根口线。 各口的每一位均由锁存器、输出驱动器和输入缓冲器 组成。 实际上 P0P3 已被归入特殊功能寄存器。 这四个口除了按字节寻址以外,亦可 按位寻址。 由于它们在结构上有一些差异,故各口的性质和功能有一些差异。 P0 口是双向 8 位三态 I/O 口,此口为地址总线(低 8位)及数据总线分时复用口,可驱动 8 个 LS 型 TTL 负载。 P1 口是 8 位准双向 I/O 口,可驱动 4 个LS 型负载。 P2 口是 8 位准双向 I/O口,与地址总线(高 8位 )复用,可驱动 4个 LS 型 TTL 负载。 P3 口是 8 位准双向 I/O 口,是双功能复用口,可驱动 4 个LS型 TTL 负载。 P1 口、 P2口、 P3口各 I/O 口线片内均有固定的上拉电阻,当这 3 个准双向 I/O 口做输入口使用时,要向该口先写“ 1”,另外准双向 I/O 口无高阻的“浮空”状态,故称为双向三态 I/O 口。 时钟电路与时序 时钟电路用于产生 MCS51 单片机工作时所必需的时钟信号。 MCS51 单片机本身就是一个复杂的同步时序电路,为保证同步工作方式的实现, MCS51单片机应在唯一的时钟信号控制下,严格地按时序执行 进行工作,而时序所研究的是指令执行中各个信号的关系。 在执行指令时, CPU 首先要到程序存储器中取出需要执行的指令操作码,译码后 由时序电路产生一系列控制信号去完成指令所规定的操作。 CPU 发出的时序信号有两类,一类用于片内对各个功能部件的控制,另一类用于片外存储器或 I/O 端口的控制,这部分时序对于分析、设计硬件接口电路至关重要。 常州信息职业技术学院电子与电气工程学院 毕业设计论文 4 第 3 章 电路的硬件设计 复位电路 MCS51单片机的复位是由外部的复位电路来实现的。 复位引脚 RST 通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声。 在每 个机器周期的 S5P2,触发器输出电平由复位电路采样一次才能得内部复位操作所需 信号。 上电复位电路是 — 种简单的复位电路,只需 在 RST 复位引脚接一个电容到VCC,接一个电阻到地就可以。 上电复位是指在给系统上电时,复位电路通过电容加到 RST 复位引脚一个短暂的高电平信号,这个复位信号随着 VCC 对电容的充电过程而回落,所以 RST引脚复位的高电平维持时间取决于电容的充电时间。 为了保证系统安全可靠的复位, RST引脚的高电平信号必须维持足够长的时间。 上电自动复位是通过外部复位电路的电容充电来实现的。 只要 Vcc 的上升时间不超 过 1ms,就可以实现自动上电复位。 复位电路 如图 如下: 图 复位电路 时钟电路 时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准进行 有条不紊的工作。 因此 时钟频率直接影响 单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。 常用时钟电路有两种方式:一 是内部时钟方式,另一种为外部时钟方式。 本文用的是内部时钟方式。 时钟 电路图 如图。 MCS51单片机内部有一个用于构成振荡器的高增益反相放大器 ,该高增益反向放大器的输入端为芯片引脚 XTAL1,输出端为引脚 XTAL2。 这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。 常州信息职业技术学院电子与电气工程学院 毕业设计论文 5 图 时钟电路 主控 电路 图 主控 电路 常州信息职业技术学院电子与电气工程学院 毕业设计论文 6 相关控制电路 蜂鸣 电路 图 声音 播放 电路 下载 电路 程序编写完毕后,则需烧写到芯片上,下载电路如图 所示: 图 下载 电路 常州信息职业技术学院电子与电气工程学院 毕业设计论文 7 数码管显示电路 图 数码管显示 电路 数码管显示器成本低,配置灵活, 连接 单片机接口,广泛应用。 数码管的工作原理 : 数码管是由 8 个发光二极管构成的显示器件。 在数码管中,若将二极管的阳极连在一起,称为共阳极数码管;若将二极管的阴极连在一起,称为共阴极数码管。 本文用到的 6 个数码管均是共阴极的。 当发光二极管导通时,它就会发光。 每个二极管就是一个笔划,若干个二极管发光时,就构成了一个显示字符。 将单片机的 I/O 口控制相应的芯片与数码管的 ag 相连,高电平的位对应的发光二极管亮,这样,由 I/O 口输出不同的代码,就可以控制数码管显示不同的字符。 本 文的 6 个数码管均采用动态显示方式,显示当前的时间。 整个显示电路应用了 2 个 164 芯片, 1 个 244 芯片。 第一个 164芯片把从单片机传出的串行数据转换成并行数据。 164 只能存储 8 位数据,因此,当单片机输出第 914位数据的时候,第一个 164 芯片中的 8 位数据就被传到第二个 164 芯片中,这 8 位数据就是段选信号,控制数码管将要显示的字符。 第 914 位数据输出后,控制 244 芯片的单片机的 口置为高电平, 244 芯片选通。 这六位数据经过 244 芯片以后是片选信号,即控制动态显示的是哪一位数码管。 在片选信号和段选信号的控制 下,数码管就正确的动态显示当前的时间。 常州信息职业技术学院电子与电气工程学院 毕业设计论文 8 电源电路设计 电源电路包括变压器、桥式整流器、电容和稳压器。 通过变压器变压,使得 220V 电压变为 5 V,在通过桥式整流,电容的滤波作用,稳压器的稳压作用,可输出 5V 的稳定电压。 电源具体电路如图 所示。 图 电源原理图 数字钟的构成框图 图 数字钟的构成框图 常州信息职业技术学院电子与电气工程学院 毕业设计论文 9 第 4 章 电路的软件设计 本设计的软件程序包括主程序、中断子程序、打铃子程序、时钟显示子程序、查询时间表切换程序和延时子程序等等。 另外由于电路中有四个按键,还另外设计了防抖动程序来防止干扰。 软件流程图 软件程序整个流程图如 图 所示 : 图 总流程图 开始 初始化 是否按时间表切换键 切换时间表 查询功能移位键 调整时间 是否与时间表时间匹配 调用打铃子程序 是 否 是 否 常州信息职业技术学院电子与电气工程学院 毕业设计论文 10 定时程序设计 单片机的定时功能可通过计数器的计数来实现 ,此 时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲, 计数器加 1。 若 MCS51采用 12MHz晶体,则计数频率为 1MHz,即每过 1us 的时间计数器加 1。 这样可根据计数值计算出定时时间,也可 根据定时时间 计算计数器 初值。 MCS51单片机的定时器/计数器 有 4种工作方式,其控制字均在相应的特殊功能寄存器。 通过对特殊功能寄存器编程,可 方便的选择定时器 /计数器两种工作模式和 4种 工作方式。 定时器 /计数器工作在方式 0 时 为 13 位 计数器,由 TLX(X=0、 1)的低 5 位和 THX 的高 8 位 构成。 TLX低 5位溢出则向 THX 进位, THX 计数溢出则置位 TCON中的溢出标志位 TFX。 当定时器 /计数器工作于方式 1, 则 为 16位计数器。 实时时钟实现的基本方法 时钟的最小计时单位是秒,使用定时器 方式 1,最大的定时时间 只能达到131ms。 我们可设定 定时器的定时时间为 50ms,则 计数溢出 20次即可得到 时钟的最小计时单位 1 秒, 计数 20次可 用软件实现。 秒计时是 可 采用中断方式进行溢出次数的累积,计满 20 次,即得秒计时。 从秒到分,从分到时可通过软件累加并比较的方法来实现。 要求每满 1 秒,则“秒”单元 的内容加 1;“秒”单元满 60,则“分”单元 内容加 1;“分”单元满 60,则“时”单元 内容加 1;“时”单元满 24,则时、分、秒 内容全部清零。 实时时钟程序设计步骤 选择工作方式,计算初值;采用中断方式进行溢出次数累计; 从秒 — 分 —时的计时 通过累加和数值比较实现; 时钟时间在 数码管上进行显示,为此在内部 RAM 中要设置显示缓冲区,共 6 个地址单元, 显示缓冲区从左到右依次存放时、分、秒数值; 主程序 主要进行定时器 /计 数器的初始化编程,然后反复调用显示子程序的方法等待中断的到来 ; 中断服务程序:进行计时操作 ; 加 1 子程序: 用于完成对时、分、秒的加操作,中断服务程序在秒、分、时加 1 时共有三种条调用加 1子程序,包括三项内容:合字、加 1并进行十进制调整、分字。 常州信息职业技术学院电子与电气工程学院 毕业设计论文 11 程序说明 在整个系统中,在单片机的 30H、 31H 和 32H 中存储当前时间的小时、分钟和秒。 由于要用数码管显示当前的时间,必须用到分字和合字,因此在 33H、34H、 35H、 36H、 37H 和 38H 中存储当前时间的时十位、时个位、分十位、分个位、秒十位和秒个位,方便显示。 本设计有由四个轻触按键组成的小键盘,这些按键可以任意改变当前的状态。 按功能移位键一次,表示当前要校对小时的十位;按第二次,表示当前校对的是小时的个位;按第三次,则表示校对的是分钟的十位;第四次,表示的校对的是分钟的个位。 按下数字“ +” 键和数字“ ”键可在当前校对的数字上相应加上 1或者减去 1。 本设计采用查表方式,在程序里预先存储两个表格,即日常作息时间表和考试时间表,可以通过手动按键来选择所要执行的时间表。 并且用红、绿发光二极管来区别当前所执行的时间表。 系统开机后,按功能移位键就可以调整当前的时间,整个系 统操作简单,功能明确。 显示数据时,先把要显示的数据送到数据缓冲区 SBUF 中,再从 SBUF 中显示。 串行口缓冲寄存器 SBUF 器是可直接寻址的专用寄存器。 在物理上,它对应着两个寄存器,一个发送寄存器,一个接收寄存器。 CPU 写 SBUF,就是修改发送寄存器;读 SBUF,就是读接收寄存器。 接收器是双缓冲的,以避免在接收下一帧数据之前, CPU 未能及时响应接收器的中断,没有把上一帧数据读走,而产生两帧数据重叠的问题。 对于发送器,为了保持最大的传输速率,一般不需要双缓冲,因为发送时 CPU 是主动的,不会产生写重叠的问题。 常州信息职业技术学院电子与电气工程学院 毕业设计论文 12 第 5 章 Multisim2020 仿真 与 源程序 软件介绍 Multisim 是 Interactive Image Technologies 公司推出的以 Windows为基础的仿真工具,该软件提供了具有多种测试仪器、元器件品种齐全的虚拟电子工作平台,由此摆脱了实验室条件的限制。 通过计算机用该软件对学生进行有关虚。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。