桂林航天工业学院单片机课程设计报告

上传人:第*** 文档编号:56929375 上传时间:2018-10-17 格式:DOC 页数:15 大小:601.88KB
返回 下载 相关 举报
桂林航天工业学院单片机课程设计报告_第1页
第1页 / 共15页
桂林航天工业学院单片机课程设计报告_第2页
第2页 / 共15页
桂林航天工业学院单片机课程设计报告_第3页
第3页 / 共15页
桂林航天工业学院单片机课程设计报告_第4页
第4页 / 共15页
桂林航天工业学院单片机课程设计报告_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《桂林航天工业学院单片机课程设计报告》由会员分享,可在线阅读,更多相关《桂林航天工业学院单片机课程设计报告(15页珍藏版)》请在金锄头文库上搜索。

1、目录目录0、 单片机原理与接口技术课程设计说明书2 1、 设计任务2 2、 设计题目2 3、 功能分析2 4、 总体设计2 4.1 硬件设计3 4.1.1 80C51 单片机3 4.1.2 晶体振荡电路4 4.1.3 复位电路4 4.1.4 按键电路5 4.1.5 显示电路5 4.2 引脚控制6 5、电路原理图7 6、程序流程图及程序代码8 6.1 程序流程图8 6.2 程序代码10 7、程序仿真13 8、心得体会14 9、参考文献 14单片机原理及接口技术课程设计说明书单片机原理及接口技术课程设计说明书 摘要摘要 随着电子技术的发展,电子技术在各个领域的运用也越来越广泛,人对它的认识也逐步加

2、深。秒表计时器秒表计时器常常用于体育竞赛及各种其他要求有较精确时间的各领域中。其中启/停开关的使用方法与传统的机械计时器相同,即按一下启/停开关,启动计时器开始计时,再按一下启/停开关计时终止。而复位开关可以在任何情况下使用,即使在计时过程中,只要按一下复位开关,计时应立即终止,并对计时器清零。本设计就是利用所学到的电子元器件将脉冲源用数码管显示出来,以制承诺简易的秒表。关键词关键词 机械计时器 启/停开关 复位 数码管显示 简易 1、设计任务、设计任务 以单片机为核心,设计一个秒表,具有计时功能,按键有启动计时、数据清零、停止、时间显示。 2、设计题目、设计题目 秒表的设计 3、功能分析、功

3、能分析 采用 3 个 LED 数码管显示时间,计时范围设置为 099.9 秒,即精确到 0.1秒,用按键控制秒表的“开始” 、 “暂停” 、 “复位” ,按“开始”按键,开始计时;按“暂停”按键,系统暂停计时;再按“开始”键,系统继续计时;数码管显示当前计时值;按“复位”按键,系统清零。 4、总体设计、总体设计 本实验利用单片机的定时器/计数器定时和计数的原理,通过采用 Proteus仿真软件来模拟实现。模拟 AT89C51 单片机、LED 数码管以及控件来控制秒表的计数以及计时的开启、暂停、继续、与复位。其中有三个数码管来显示数据,两个数码管显示秒(两位) ,另一个数码管显示十分之一秒,十分

4、之一秒的数码管计数从 09,满十进一后显示秒得数码管的个位加一,并且十分之一秒显示清零重新从零计数。同理当个位满十进一后个位也清零重新计数 ,当计时超过范围(即超过 99.9 秒)后,所有数码管全部清零重新计数。 4.1 硬件设计硬件设计 4.1.1 89C51 单片机 MCS-51 系列单片机是 8 位单片机产品,89C51 是其中的典型代表,基本模块包括以下几个部分: (1) CPU:89C51 的 CPU 是 8 位的,另外 89C51 内部有 1 个位处理器 (2) R0M:4KB 的片内程序存储器,存放开发调试完成的应用程序 (3) RAM:256B 的片内数据存储器,容量小,但作用

5、大 (4) I/O 口:P0-P3,共 4 个口 32 条双向且可位寻址的 I/O 口线 (5) 中断系统:共 5 个中断源,3 个内部中断,2 个外部中断 (6) 定时器/计数器:2 个 16 位的可编程定时器/计数器 (7) 通用串行口:全双工通用异步接收器/发送器 (8) 振荡器:89C51 的外接晶振与内部时钟振荡器为 CPU 提供时钟信号 (9) 总线控制:89C51 对外提供若干控制总线,便于系统扩展 89C51 的引脚如下图: 4.1.2 晶体振荡电路晶体振荡电路 89C51 单片机内部的振荡电路是一个高增益反相放大器,引线 XTAL1 和XTAL2 分别为反相振荡放大器的输入及

6、内部时钟工作电路的输入和来自反相振荡器的输出,该反相放大器可以配置为片内振荡器。 这里选用 51 单片机 12MHZ 的内部振荡方式,电路如下:C2、C3 起稳定振荡频率、快速起振的作用 晶振电路4.1.3 复位电路复位电路 采用上电复位,上电后,由于电容充电,使 RST 持续一段时间的高电平,从而实现上电复位操作。这不仅能使单片机复位,还能是单片机的外围设备同时复位,当程序出现错误时,可以随时使电路复位。 电路图如下:复位电路4.1.4 按键电路按键电路 当按键被按下时,相应的引脚被拉低,经扫描后,获得键值,并执行键功能程序,因此按下不同的按键,将执行不同的功能程序。 电路图如下: 按键电路

7、4.1.5 显示电路显示电路 采用个 LED 数码管,LED 是七段显示器,内部有 7 个条形发光二极管和 1 个小圆点发光二极管,根据各管的亮暗组成字符。 在用数码管显示时,有静态和动态两种选择,这里采用 LED 动态显示,用P0、P1、 P2 口驱动显示,由于 P0 口没有上拉电阻,因此 P0 口需要外接上拉电阻才能输出高电平,这里使用 8 个 4.7k 的电阻作为上拉电阻。 电路图如下:显示电路4.2 引脚控制引脚控制 P0.0P0.7、 P2.0P2.7、 P1.0P1.7 对应三个数码管的a、b、c、d、e、f、g 段和小数点位;P0 控制数码管十位的显示,P2 控制数码管个位的现实

8、,P1 控制小数点后一问的显示,P3.2、P3.3、P3.4 分别接按键。5、电路原理图、电路原理图 用 Proteus 软件画出主电路图如下:主电路图6、程序流程图及程序设计、程序流程图及程序设计6.1 程序流程图程序流程图6.2 程序设计程序设计程序的各个组成模块及工作流程描述:(1)秒表的初始化根据程序流程图,先进行秒表的初始化,即:将 I/O 口 P3 全写一,为秒表的控制输入做好准备;将数码管全部置零,使其处于秒表计时的初始状态;将工作寄存器 R0R2 以及 30H 初始化,留待后面的计时程序备用;将定时器0 置于工作方式 1,并为其装入计时预置数 D8FE(因为程序运行过程中占用的

9、时间会导致一定误差,此为经实物测试之后的修正值) ,即将定时器定为每10ms 溢出;开总中断允许和定时器 0 中断允许。初始化完成后,即进入之后的按键扫描程序。(2)按键检测程序轮流检测开始计时(P3.2) 、暂停计时(P3.3) 、秒表清零(P3.4)三个按键。若发现有一个按键出现低电平(可能被按下) ,则延时 10ms(调用延时子程序DELAY) ,延时完成后,若发现低电平消失,则说明该按键实际上未被按下,此时转回按键检测处继续检测;若发现仍然是低电平,则说明此键确实被按下了,此时就跳转至相应的程序标号处,执行相应的功能。(3)开始计时若确认“开始计时”键被按下,则跳转至程序标号“RUN”

10、处,将定时器 0 计时允许控制位 TR0 置位,则定时器开始运行。此动作完成后,返回按键检测程序,等待操作者的下一次指令。(4)计时程序定时器 0 计时至 10ms,溢出,引发中断,程序跳转至定时器 0 中断服务程序入口 000BH 处执行。程序跳转至中断服务程序 TIME0。由于秒表的最小计时单位是 0.1s,即 100ms,因此需加入软件计时,使定时器 0 溢出 10 次之后才改变数码管的显示状态。因此每来一次中断就将 30H 中的数加 1,若 30H 中的数没有到 10,则给定时器 0 重新装入预置数,之后中断返回并继续等待中断;到 10了,才进入显示程序,改变数码管的显示状态,执行完毕

11、之后中断返回并继续等待中断。(5)显示程序将数码管的段选码放在数表 TAB 中。每次 100ms 计时完成后,将 R0 中的值(初值为 0)送入 A,然后自加 1。.若 R0 中的值没到 10,则使用累加器 A 查表,并将查得的数码管段选码送入毫秒位数码管。之后将 30H 中的数置零,中断返回。若发现 R0 中的数到 10 了,则将 R0 置零,并转入秒位进位子程序SECOND,向秒位进位,之后,继续照常向毫秒位送数。在秒位进位子程序 SECOND 中,由于要用到累加器 A,因此先将其推入堆栈保护。将 R1 中的值(初值为 10)送入 A,然后自加 1。.若 R1 中的值没到 20,则使用累加

12、器 A 查表,并将查得的数码管段选码送入秒位数码管。若发现 R1中的数到 20 了,则将 R1 重置为 10,并转入十秒位进位子程序 SECOND1,向十秒位进位,之后,继续照常向秒位送数。完成后,弹出 ACC 和 PSW,子程序返回。十秒位进位子程序与秒位进位子程序相似,只是没有向下一位进位的功能。(6)暂停计时若确认“暂停计时”键被按下,则跳转至程序标号“PAUSE”处,将定时器 0计时允许控制位 TR0 置零,则定时器暂停运行。此动作完成后,返回按键检测程序,等待操作者的下一次指令。(7)秒表清零若确认“秒表清零”键被按下,则跳转至程序标号“STOP”处,将 TR0 置零,关闭定时器 0 运行。并且将数码管、工作寄存器、定时器 0 预置数全部重置,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号