毕业论文--基于单片机的数字电子秒表的设计与实现内容摘要:

存信号ALE 在每个机器周期中两次有效一次在 S1P2 与 S2P1 期间另一次在 S4P2 与 S5P1期间 对于单周期指令当操作码被送入指令寄存器时便从 S1P2 开始执行指令如果是双字节单机器周期指令则在同一机器周期的 S4 期间读入第二个字节若是单字节单机器周期指令则在 S4 期间仍进行读但所读的这个字节操作码被忽略程序计数器也不加 1在 S6P2结束时完成指令操作图 17的 a 和 b 给出了单字节单机器周期和双字节单机器周期指令的时序 16 复位电路的选择与设计 当 8051 单片机的复位引脚 RST 全称 RESET 出现 2 个 机器周期以上的高电平时单片机就完成了复位操作如果 RST 持续为高电平单片机就处于循环复位状态而无法执行程序因此要求单片机复位后能脱离复位状态而本系统选用的是12MHz的晶振因此一个机器周期为 1μ s那么复位脉冲宽度最小应为 2μ s在实际应用系统中考虑到电源的稳定时间参数漂移晶振稳定时间以及复位的可靠性等因素必须有足够的余量 根据应用的要求复位操作通常有两种基本形式上电复位手动复位 上电复位要求接通电源后自动实现复位操作 80C51 单片机的上电复位PORPower On Reset 实质上就是上电延时复位也就是在上电延 时期间把单片机锁定在复位状态上在单片机每次初始加电时首先投入工作的功能部件是复位电路复位电路把单片机锁定在复位状态上并且维持一个延时记作 TRST 以便给予电源电压从上升到稳定的一个等待时间在电源电压稳定之后再插入一个延时给予时钟振荡器从起振到稳定的一个等待时间在单片机开始进入运行状态之前还要至少推迟 2个机器周期的延时上述一系列的延时都是利用在单片机 RST引脚上外接一个 RC 支路的充电时间而形成的典型复位电路如图 a 所示其中的阻容值是原始手册中提供的 图 上电复位延时电路标准 80C51 不仅复位源比较单一而且还没有 设计内部上电复位的延时功能因此必须借助于外接阻容支路来增加延时环节如图 a 所示其实外接电阻 R 还是可以省略的理由是一些 CMOS 单片机芯片内部存在一个现成的下拉电阻 Rrst例如 80C51系列的 Rrst阻值约为 50~ 200 kΩ P89V51Rx2系列的 Rrst阻值约为 40~ 225 kΩ如图所示因此在图 a 基础上上电复位延时电路还可以精简为图 b 所示的简化电路其中电容 C 的容量也相应减小了 图 复位引脚 RST 内部电路 在每次单片机断电之后须使延时电容 C 上的电荷立刻放掉以便为随后可能在很短的时间内再次加电作好准 备否则在断电后 C 还没有充分放电的情况下如果很快又加电那么 RC 支路就失去了它应有的延迟功能因此在图 a 的基础上添加一个放电二极管 D 上电复位延时电路就变成了如图 c 所示的改进电路也就是说只有 RC 支路的充电过程对电路是有用的放电过程不仅无用而且会带来潜在的危害于是附加一个放电二极管 D来大力缩短放电持续时间以便消除隐患二极管 D只有在单片机断电的瞬间即 VCC 趋近于 0 V 可以看作 VCC 对地短路正向导通平时一直处于反偏截止状态单片机要完成复位μ FR 1K 本设计采用的电容值为 22μ F的电容和电阻为 1K 的电阻 图 110 单片机复位电路 17 系统总电路的设计 系统总电路由以上设计的显示电路时钟电路按键电路和复位电路组成只要将单片机与以上各部分电路合理的连接就组成了系统总电路系统总电路图附录B 所示 8051 单片机为主电路的核心部分各个电路均和单片机相连接由单片机统筹和协调各个电路的运行工作 8051 单片机提供了 XTAL1 和 XTAL2 两个专用引脚接晶振电路因此只要将晶振电路接到两个专用引脚即可为单片机提供时钟脉冲但在焊接晶振电路时要尽量使晶振电路靠近单片机这样可以为单片机提供稳定的始终脉冲 复位电路同晶振电路单片机设 有一个专用的硬件复位接口并设置为高电平有效 按键电路与单片机的端口连接可以由用户自己设定本设计中软件复位键和查看键分别接单片 均设为低电平有效而另外的开始键和暂停键两键使用了外部中断所以需要连接到单片机的特殊 这两个 IO 口的第二功能分别为单片机的外部中断 1 端口和外部中断 0 端口同样设置为位低电平有效 显示电路由五位数码管组成采用动态显示方式因此有 8位段控制端和 5位位控制端八位段控制接 P0 口 P00P07 分别控制数码显示管的 abcdefgdp 显示 8051的 P0口没有集成上拉电阻高电平的驱动能力很弱所以需要 接上拉电阻来提高 P0的高电平驱动能力五位位控制则由低位到高位分别接到 P20P24 口 NPN 三极管9013做为位控制端的开关当 P20P24端口任意一个端口为高电平时与其相对应的三极管就导通对应的数码管导通显示 通过以上设计已经将各部分电路与单片机有机的结合到一起硬件部分的设计以大功告成剩下的部分就是对单片机的编程使单片机按程序运行实现数字电子秒表的全部功能 2 软件设计 21 程序设计思想 本设计采用了汇编语言编写汇编语言由于采用了助记符号来编写程序比用机器语言的二进制代码编程要方便些在一定程度上简化了编 程过程汇编语言的特点是用符号代替了机器指令代码而且助记符与指令代码一一对应基本保留了机器语言的灵活性使用汇编语言能面向机器并较好地发挥机器的特性得到质量较高的程序 汇编语言的特点 1 面向机器的低级语言通常是为特定的计算机或系列计算机专门设计的 2 保持了机器语言的优点具有直接和简捷的特点 3 可有效地访问控制计算机的各种硬件设备如磁盘存储器 CPUIO 端口等 4 目标代码简短占用内存少执行速度快是高效的程序设计语言 5 经常与高级语言配合使用应用十分广泛 在程序设计过程中为了有效地完成任务把所要完 成的任务精心的分割成若干个相互独立但相互又仍可有联系的任务模块这些任务模块使得任务变得相对单纯对外的数据交换相对简单容易编写容易检测容易阅读和维护这种程序设计思想称为模块化程序设计思想模块化结构程序的设计可以使系统软件便于调试与优化也使其他人更好地理解和阅读系统的程序设计程序的主要模块有主程序显示程序定时溢出中断服务程序外部中断服务程序 22 系统资源的分配 本设计系统所用到的单片机端口数比较多所以在这里将对数字电子秒表的硬件资源的大概分配加以说明片内 RAM 的分配各功能键的定义以及各端口的分配安排如表 21 所示 表 21 端口的分配安排表 名称 功能描述 初始化值 79H7DH 1ms10s 位显示寄存区 00H 69H6DH 1ms10s 位中间寄存区 00H 59H5DH 1ms10s 位最终寄存区 00H R1 R5 1ms10s 位溢出计数区 定时器 T0 控制秒表的最小精度 E018H 外部中断 INT0 停止中断信号入口 外部中断 INT1 开始中断信号入口 23 主程序设计 本系统程序主要模块由主程序定时中断服务程序外部中断 0 服务程序和外部中断 1 服务程序组成其中主程序是整个程序的主体可以对各个中断程序进行调用协调各个子程序之间的联系 系统上电复位后进入主程序主程序流程图如图 21 首先对系统进行初始化包括设置各入口地址中断的开启对各个数据缓存区清 0 赋定时器初值初始化完毕后就进入数码管显示程序数码管显示程序对显示缓存区内的数值进行调用并在数码管上进行动态显示显示一次 次扫描查询复位键 P11是否按下当复位键按下后程序返回开始重新对系统进行初始化当没有按下复位键时程序则扫描 P25是否 按下当 P25 没有按下则返回显示程不断地调用显示缓存区的数据进行显示使用户能清楚的看到当前电子秒表所记录的时间当查询到 P25 按下后则跳转到另外一段显示程序并调用最红缓存区的数据进行显示此时显示的时间即为上一次计时的时间与此同时在 P25按下后单片机执行显示程序的同时也在对 P25进行扫描当 P25 断开后立即跳转回之前的显示程序显示当前的计时时间 在主程序中还进行了赋寄存区的初始值设置定时器初值以及开启外部中断等操作当定时时间到后就转去执行定时中断程序当外部中断有请求则去执行外部中断服务程序并在执行完后返回主程序 图 21 主程序流程图 24 中断程序设计 现在方案中采用了三个中断外部中断 INT0INT1 和定时中断 T0CPU 在响应中断时先处理高级中断在处理低级中断若有多个同级中断时则按自然优先顺序处理例如当 CPU 正在处理一个中断申请时有出现了另一个优先级比它高的中断请求这是 CPU 就暂停终止对当前优先级较低的中断源的服务转去响应优先级比它高的中断请求并为其服务待服务结束再继续执行原来较低级的中断服务程序而当 CPU为级别高的终端服务程序服务时如果级别低的中断发出中断请求此时 CPU是不会响应的所以为了避免开始和暂停两个按键中 的一个出现没有响应的情况在进行程序编辑时要注意对中断的使用避免出现中断的嵌套合理分配中断对本设计的实现是至关重要的 另外由于数字式电子秒表的最小精度位 1ms 属于高精度电子秒表定时器 T0的定时周期也为 1ms为了使电子秒表暂停键按下后 CPU能马上去响应中断程序必须将暂停的外部中断级别高于定时计数器的中断级别避免出现 CPU 执行完定时溢出中断程序后再响应外部中断程序影响计时精度 8051 的自然优先级顺序排列如下 中断源 最高 外部中断 0 定时 计数器 0 溢出中断 外部中断 1 定时计数器 1 溢出中断 串行口中断 最低 数字式秒表中的两个按键采用了中断实现功能开始采用外。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。