单片机课程设计说明书范文概况
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1 绪论 (1)
1.1 概述 (1)
1.2 设计目的 (1)
2 设计任务及内容 (1)
2.1 设计任务 (1)
2.2 设计内容 (1)
3 总体设计及核心器件简介 (2)
3.1 总体设计 (2)
3.2 硬件设计 (2)
3.2.1 硬件系统总体设计 (2)
3.2.2 单片机的选择 (3)
3.2.3 显示电路的选择与设计 (4)
3.2.4 按键电路的选择与设计 (6)
3.2.5 时钟电路的选择与设计 (7)
3.2.6 复位电路的选择与设计 (8)
3.2.7 系统总电路的设计 (10)
3.3 软件设计 (11)
3.3.1 程序设计思想 (11)
3.3.2 系统资源的分配 (11)
3.3.3 主程序设计 (11)
3.3.4 中断程序设计 (12)
4 数字电子秒表的安装与调试 (15)
4.1 软件的仿真与调试 (15)
4.2 硬件的安装与调试 (15)
4.2 汇编程序 (15)
5 设计体会与总结 (21)
1 绪论
1.1 概述
单片微型计算机简称单片机,又称微控制器,是微型计算机的一个重要分支。单片机是20世纪七十年代中期发展起来的一种大规模集成电路芯片,是集CPU、RAM、ROM、I/O接口和终端系统与同一硅片的器件。20世纪八十年代以来单片机发展迅速各类新产品不断涌现出现许多新产品,出现了许多高性能新型机种现已成为工业控制和各控制领域的支柱产业之一。由于单片机功能强、体积小、可靠性好、价格便宜等独特优点因而受到人们的高度重视并取到了一系列的科研成果,成为传统工业技术改造和新产品更新换代的理想机种,并具有广阔的发展前景。
本设计运用所学的单片机知识,将单片机与普通秒表相结合设计了电子秒表,具有显示直观、读取方便、精度高等优良特点,在计时中应用广泛。
1.2 设计目的
加强对51系列单片机的构造了解及应用,熟悉汇编语言或C语言编程,综合掌握和理解设计各部分的工作原理、设计过程、芯片器件的选择方法、模块化编程等多项知识。
(1)用单片机模拟实现具体应用使个人设计系统能够真正使用;
(2)把理论知识与实践知识相结合,充分发挥个人能力,并在实践中得到锻炼;(3)提高利用已学的知识分析和解决问题的能力;
(4)提高动手实践能力。
2 设计任务及内容
2.1 设计任务
结合教材及参考资料,用80C51单片机模拟实现电子秒表的开启,计时,停止并显示时间等功能。
2.2 设计内容
(1)填写设计任务书;
(2)进行总体设计,画出设计原理图;
(3)用PROTEUS软件画出设计电路图;
(4)用Keil软件编写程序;
(5)在PROTEUS里模拟并调试程序达到期望功能。
3 总体设计及核心器件简介
3.1 总体设计
本设计中包括硬件电路的设计和系统程序的设计。其硬件电路的设计主要包括单片机的选择、显示电路的选择与设计、按键电路的选择与设计、时钟电路的选择与设计、复位电路的选择与设计等。系统程序的设计包括系统程序设计思路、系统资源的分配、汇编程序的设计等。
3.2 硬件设计
3.2.1 硬件系统总体设计
主控制器选用80C51单片机,显示电路采用共阴极LED数码管显示计时时间,四个按键均采用触点式按键。
1.利用80C51单片机的定时器/计数器定时和记数的原理,使其能精确计时。利用中断系统使其实现开始暂停的功能。P0口输出段码数据,P
2.2-P2.4口作列扫描输出,P1.0、P
3.2、P3.3口接三个按钮开关,分别实现电子秒表的启动、开始、暂停功能。电路原理图设计最基本的要求是正确性,其次是布局合理,最后在正确性和布局合理的前提下力求美观。硬件电路图按照图3.1进行设计。
图3.1 数字秒表硬件电路基本原理图
2.根据要求知道秒表设计主要实现的功能是计时和显示。因此设置了四个按键和三位数码管显示时间,三个按键分别是启动、开始,停止和复位按键。利用这四个键来实现秒表的全部功能,而三位数码管则能显示00.0-99.9秒的计时。
本设计中,数码管显示的数据存放在内存单元7BH-7DH中。其中7BH存放0.1秒位数据,7CH存放1秒位数据,7DH存放10秒位数据,每一地址单元内均为十进制BCD 码。由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码数据的对应段码存放在ROM表中。显示时,先取出7BH-7DH某一地址中的数据,然后查得对应的显示用段码,并从P0口输出,P2口将对应的数码管选中供电,就能显示该地址单元的数据值。
3.计时采用定时器T0中断完成,定时溢出中断周期为0.1s,当一处中断后向CPU发出溢出中断请求,每发出一次中断请求就对0.1秒计数单元进行加一,达到10次就对
1秒位进行加一,依次类推,直到99.9秒重新复位。
4.按键的处理。这两个键采用中断的方法来识别,对开始和停止键采用外部中断INT0、INT1的方式,即A、B键分别接P3.2、P3.3口。
3.2.2 单片机的选择
本课题在选取单片机时,充分借鉴了许多成形产品使用单片机的经验,并根据自己的实际情况,选择了80C51。
80C51是MCS-51系列单片机中的一个子系列,是一族高性能兼容型单片机。其内部资源分配和性能如下;8位CPU;寻址能力2X64K;4KB的内部ROM和128B内部RAM;四个8位I/O接口电路;一个串行全双工异步接口;五个中断源和两个中断优先级;采用CMOS工艺电流小,低功耗。
80C51各引脚主要功能简介:
(1)Vss(20脚):接地
(2)VCC(40脚): 主电源+5V
(3)XTAL1(19脚):接外部晶体的一端。在片内它是振荡电路反相放大器的输入端。在采用外部时钟时,对于HMOS单片机,该端引脚必须接地;对于CHMOS单片机,此引脚作为驱动端。
XTAL2(18脚):接外部晶体的另一端。在片内它是一个振荡电路反相放大器的输出端,振荡电路的频率是晶体振荡频率。若需采用外部时钟电路,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬浮。
(4) RST(9脚): 单片机刚接上电源时,其内部各寄存器处于随机状态,在该脚输入24个时钟周期宽度以上的高电平将使单片机复位(RESET)
(5)PSEN(29脚): 在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。PSEN端同样可驱动8个LSTTL 负载。我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80C51是否在工作。
(6)ALE/PROG(30脚):在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。PSEN端同样可驱动8个LSTTL负载。我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80C51是否在工作。