当前位置:文档之家› 基于51单片机-数字秒毕业设计

基于51单片机-数字秒毕业设计

物理与电子工程学院《数字式秒表》课程设计报告书设计题目:数字式秒表专业:自动化班级:xxx 接本学生姓名: xxxx学号:201xx343xxx指导教师:xxxxx2015年6 月14 日物理与电子工程学院课程设计任务书摘要数字式秒表是一种用数字电路技术实现时、分、秒计时的装置,无机械装置,具有较长的使用寿命,因此得到了广泛的使用。

数字式秒表从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。

本次实验所做数字式秒表由信号发生系统和计时系统构成。

由于需要比较稳定的信号,所以信号发生系统555定时器与电阻和电容组成的多谐振荡器构成,信号频率为100HZ。

计时系统由计数器、译码器、显示器组成。

计数器由74 LS160构成,由十进制计数器组成了一百进制和六十进制计数器,采用异步进位方式。

译码器由74LS48构成,显示器由数码管构成。

具体过程为:由晶体震荡器产生100HZ脉冲信号,传入计数系统,先进入计数器,然后传入译码器,将4位信号转化为数码管可显示的7位信号,结果以“秒”、“毫秒”依次在数码管显示出来。

该秒表最大计时值为9.9秒。

关键词:数字式秒表;计时;精度;计数器;显示器目录1 设计目的 (1)1.1 设计目的 (1)1.2 设计内容和要求 (1)1.3 设计思路 (1)2 设计原理分析 (1)2.1 十秒秒表系统设计 (1)2.2 十秒秒表系统的功能要求 (1)2.3 十秒秒表系统的基本构成及原理 (2)3 系统硬件电路的设计 (4)3.1 系统硬件总电路构成及原理 (4)3.2 主控制部分――AT89C51单片机简介 (4)3.3 其它器件 (6)3.4 十秒秒表系统原理图 (7)3.5 运行步骤 (7)4 系统软件程序的简单设计 (8)4.1 程序框图 (8)4.2仿真结果图 (9)总结 (11)参考文献 (12)附录 (13)1 设计目的1.1 设计目的通过单片机课程设计,熟练掌握单片机C语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。

通过定时/计数器控制两个LED数码管显示器显示10秒秒表系统的设计,掌握定时/计数器和LED数码管显示器的使用方法,同时掌握简单程序的编写,最终提高我们的逻辑抽象能力。

1.2 设计内容和要求内容:设计一个开关控制两个LED数码管显示器显示10秒秒表的模拟系统。

要求:利用单片机的定时/计数器定时,使两个LED数码管显示器分别显示秒位和毫秒位。

1.3 设计思路先熟悉实验原理,同时了解定时/计数器的运作,和LED数码管显示器显示0到9数字的原理。

其次,绘制电路原理图,编写基本程序,并进行仿真,实现两个LED数码管显示器显示0到9数字的功能。

进一步完善程序,并进行仿真,使第二个LED数码管显示器每100毫秒(即0.1秒)显示一个数字,使第一个LED 数码管显示器每1秒显示一个数字。

2 设计原理分析2.1 十秒秒表系统设计通过编写程序,实现对LED数码管显示器的控制,进行十秒的计时。

使第二个LED数码管显示器每100毫秒(即0.1秒)显示一个数字,使第一个LED数码管显示器每1秒显示一个数字。

采用单片机内部的I/O口上的P0口和P2口控制两个LED数码管显示器,用P3.7引脚来接收按钮的控制。

2.2 十秒秒表系统的功能要求本设计能模拟基本的十秒秒表显示系统,是用中断的方式计数和控制LED数码管显示器显示数字。

2.2.1 计时显示定时/计数器工作方式寄存器存入定时/计数器工作方式,定时器采用T0定时器0工作于模式1:16位计数范围。

2.2.2 中断设置每累计2次定时器中断就相当于执行了0.1秒,每累计20次定时器中断就相当于执行了1秒。

2.3 十秒秒表系统的基本构成及原理图2.1 系统的总体框图2.3.1 LED 数码管显示器的结构与原理LED 数码管显示器是由发光二极管按一定的结构组合起来的显示器件。

在单片机应用系统中通常使用的是8段式LED 数码管显示器,它有共阴极和共阳极两种结构,如下图2.2所示。

图2.2 8段式LED 数码管结构其中图(a )为共阴极结构,8段发光二极管的阴极端连接在一起,阳极端分开控制,使用时公共段接地,要使哪根发光二极管亮,则对应的阳极端接高电平;图(b )为共阳极结构,8段发光二极管的阳极端连接在一起,阴极端分开控制,使用时公共端接电源,要使哪根发光二极管亮,则对应的阴极端接地。

图(c )为引脚图,从a~dp 引脚输入不同的8位二进制编码,可显示不同的数字或字符。

通常把控制发光二极管的8位二进制编码称为字段码。

此系统使用的共阴极结构,单片机 晶振 复位电路 LED 数码管显示器1LED 数码管显示器2 开关“0”~“9”数字的共阴极对应的字段码如表2.1所示。

表2.1 “0”~“9”数字对应显示字符共阴极字段码显示字符共阴极字段码0 3FH 5 6DH1 06H 6 7DH2 5BH 7 07H3 4FH 8 7FH4 66H 9 6FH2.3.2 LED数码管的显示方式LED数码管在显示时,通常有静态显示方式和动态显示方式两种,本系统采用的是静态显示方式。

LED静态显示时,其公共端直接接地,各段选线分别与I/O接口线相连。

要显示字符,直接在I/O线发送相应的字段码,如图2.3所示。

两个数码管的共阴极端直接接地,如果要在第一个数码管上显示数字1,只要在I/O(1)发送1的共阴极字段码;如果要在第二个数码管上显示2,只要在I/O(2)发送2的共阴极字段码。

图2.3 两位数码管静态显示3 系统硬件电路的设计3.1 系统硬件总电路构成及原理实现本设计要求的具体功能,可以选用AT89C51单片机及外围器件构成最小控制系统,2个LED数码管显示器和1个按钮等。

主要器件的选择:表3-1 元器件表3.2 主控制部分――AT89C51单片机简介89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

AT89C51单片机为40引脚双列直插芯片,有4个I/O口:P0、P1、P2、P3,单片机的最小系统如图所示,18引脚和19引脚接时钟脉冲电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器反相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器反相放大器的输出端,第9引脚为复位输入端,接上电容,电阻及开关后构成上电复位电路,20引脚为接地端,40引脚为电源端。

如图所示:图3.1 晶振与单片机的连接3.2.1 A T89C51的内部结构功能·中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

·数据存储器(内部RAM):数据存储器用于存放变化的数据。

AT89C51中数据存储器的地址空间为256个RAM单元,但其中能作为数据存储器供用户使用的仅有前面128个,后128个被专用寄存器占用。

·程序存储器(内部ROM):程序存储器用于存放程序和固定不变的常数等。

通常采用只读存储器,且其有种类型,在89系列单片机中全部采用闪存。

AT89C51内部配置了4KB闪存。

·定时/计数器(T0):定时/计数器用于实现定时和计数功能。

AT89C51共有2个16位定时/计数器。

·并行输入输出(I/O)口:8051共有4组8位I/O口(P0、P1、P2、P3),用于对外部数据的传输。

每个口都由1个锁存器和一个驱动器组成。

它们主要用于实现与外部设备中数据的并行输入与输出,有些I/O口还有其他功能。

·全双工串行口:A89C51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

·时钟电路:时钟电路的作用是产生单片机工作所需要的时钟脉冲序列。

·中断系统:中断系统的作用主要是对外部或内部的终端请求进行管AT89C51共有5个中断源,其中有2个外部中断源和3个内部中断源。

3.2.2 51单片机的串行接口工作方式51单片机的串行接口有四种工作方式。

方式0是将SBUF作为8位同步移位寄存器使用(固定波特率);方式1是10位异步通信方式(可变波特率);方式2是11位异步通信方式(固定波特率);方式3是11位异步通信方式(可变波特率)。

图3.2 串行接口与单片机的连接3.3 其它器件LED数码管显示器根据本设计的特点,采用LED数码管显示器,它是由发光二极管按一定的结构组合起来的显示器件,在单片机应用系统中通常使用的是8段式LED数码管显示器,它有共阴极和共阳极两种结构。

本系统设计采用的是共阴极结构,如下图3.3所示。

图3.3 LED数码管显示器3.4 十秒秒表系统原理图本系统以单片机为核心,系统硬件电路由单片机、排阻、LED数码管显示器、按钮等组成。

如下图所示:图3.4 系统原理0口、P2口、LED数码管显示器、按钮、定时器T0。

硬件分配:(1)P0口、P2口:各连接一个LED数码管显示器。

(2)定时/计数器T0:用来产生50毫秒的定时。

(3)按钮:用来对秒表器开始、暂停、清零。

3.5 运行步骤1、按硬件图接线,为了确保LED数码管显示器能够正确显示,P0口和P2口和两个数码管显示器连接应该注意。

按钮接P3.7引脚。

2、开始运行,点击按钮观察两个LED数码管显示器显示是否与程序设计思路对应,如果有偏差,则单步运行或断点运行,进行调试,直至满足设计要求。

3、整体运行,点击按钮观察两个LED数码管显示器显示是否都符合要求,如果不符合,则再调试,直至满足要求。

3.5.1 软件调试软件调试是通过对用户程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。

编辑程序后,查看程序是否有逻辑错误。

4 系统软件程序的简单设计4.1 程序框图图4.1 程序框图4.2仿真结果图图4.2初始化图图4.3 按下按钮开始运行图图4.4 再次按下按钮暂停图图4.5 再次按下按钮清零图总结在这次课程设计中,我们组完成了基于单片机的定时/计数器控制两个LED数码管显示器显示10秒秒表系统的设计与模拟。

相关主题