基于51单片机的数字秒表课程设计、毕业设计论文 - 图文(2)

2019-09-02 12:53

时,它是分时传送的低字节地址和数据总线,P0口能以吸收电流的方式驱动八个LSTTL负载。

② P1口(P1.0 - P1.7)是一个带有内部提升电阻的8位准双向I/O口。能驱动(吸收或输出电流)四个LSTTL负载。

③ P2口(P2.0 - P2.7)是一个带有内部提升电阻的8位准双向I/O口,在访问外部存储器时,它输出高8位地址。P2口可以驱动(吸收或输出电流)四个LSTTL负载。

④ P3口(P3.0 - P3.7)是一个带有内部提升电阻的8位准双向I/O口。能驱动(吸收或输出电流)四个LSTTL负载。

(1) 运算器

运算器的功能是进行算术运算和逻辑运算。可以对半字节(4位)、单字节等数据进行操作。

(2) 程序计数器PC

程序计数器PC用来存放即将要执行的指令地址,共16位,可对64K程序存储器直接寻址。执行指令时,PC内容的低8位经P0口输出,高8位经P2口输出。

(3) 令寄存器

指令寄存器中存放指令代码。CPU执行指令时,由程序存储器中读取的指令代码送入指令寄存器,经译码后由定时与控制电路发出相应的控制信号,完成指令功能。

3、 显示电路的选择与设计

对于数字显示电路,通常采用液晶显示或数码管显示。本设计的显示电路采用7段数码管作为显示介质。

数码管显示可以分为静态显示和动态显示两种。由于本设计需要采用五位数码管显示时间,如果静态显示则占用的口线多,硬件电路复杂。所以采用动态显示。

数码管段驱动电路STC89C52单片机8位数码管数码管位驱动电路图1.3 显示电路基本原理图

- 5 -

动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的公共阴极位选线由另外的I/O口线控制。动态方式显示时,各数码管分时轮流选通,要使其稳定显示必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码,依此规律循环,即可使各位数码管显示将要显示的字符,虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人同时显示的感觉。

数码显示管分为共阳数码管和共阴数码管两种

共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起,如图1.4(b),通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。

图1.4 (a)数码管引脚图 (b)共阳极内部结构图 (c)共阴极内部结构图 最大

4 、按键电路的选择与设计

本设计中有四个按键,分别实现开始、暂停、复位和计次功能。这四个键可以采用中断的方法,也可以采用查询的方法来识别。对于复位键和查看键,主要功能在于数值复位和对上次计时时间的查看,对于时间的要求不是很严格,而开始和暂停键主要用于时间的锁定,需要比较准确的控制。因此可以考虑,对复位键和查看键采用查询的方式,

- 6 -

而对于开始和暂停键采用外部中断。四个按键均采用低电平有效,具体电路连接图如图1.5所示。

5、 时钟电路的选择与设计

单片机的时钟信号用来提供单片机内各种微操作的时间基准,8051片内设有一个由反向放大器所构成的振荡电路,XTAL1和 XTAL2分别为振荡电路的输入和输出端,8051单片机的时钟信号通常用两种电路形式得到:内部振荡方式与外部振荡方式。外部方式的时钟很少用,若要用时,只要将XTAL1接地,XTAL2接外部振荡器就行。对外部振荡信号无特殊要求,只要保证脉冲宽度,一般采用频率低于11.05926MHz的方波信号。

图中,电容器C1 、C2起稳定振荡频率、快速起振的作用,电容值一般为5~33pF。但在时钟电路的实际应用中一定要注意正确选择其大小,并保证电路的对称性,尽可能匹配,选用正牌的瓷片或云母电容,如果可能的话,温度系数尽可能低。本设计中采用大小为30pF的电容和11.05926MHz的晶振。

图1.6 内部振荡电路

6、 复位电路的选择与设计

当8051单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就完成了复位操作。如果RST持续为高电平,单片机就处于循环复位状态,而无法执行程序。因此要求单片机复位后能脱离复位状态。而本系统选用的是11.05926MHz的晶振,因此一个机器周期为1.09μs,那么复位脉冲宽度最小应为2.18μs。在实际应用系统中,考虑到电源的稳定时间,参数漂移,晶振稳定时间以及复位的可靠性等因素,必须有足够的余量。

根据应用的要求,复位操作通常有两种基本形式:上电复位、手动复位。

- 7 -

图1.10 单片机复位电路

7、 系统总电路的设计

系统总电路由以上设计的显示电路,时钟电路,按键电路和复位电路组成,只要将单片机与以上各部分电路合理的连接就组成了系统总电路。系统总电路图附录B所示。

8051单片机为主电路的核心部分,各个电路均和单片机相连接,由单片机统筹和协调各个电路的运行工作。

8051单片机提供了XTAL1和XTAL2两个专用引脚接晶振电路,因此只要将晶振电路接到两个专用引脚即可为单片机提供时钟脉冲,但在焊接晶振电路时要尽量使晶振电路靠近单片机,这样可以为单片机提供稳定的始终脉冲。

复位电路同晶振电路,单片机设有一个专用的硬件复位接口,并设置为高电平有效。

按键电路与单片机的端口连接可以由用户自己设定,本设计中软件复位键和查看键分别接单片机的P1.1和P2.5,均设为低电平有效。而另外的开始键和暂停键两键使用了外部中断,所以需要连接到单片机的特殊接口P3.3和P3.2,这两个I/O口的第二功能分别为单片机的外部中断1端口和外部中断0端口。同样设置为位低电平有效。

显示电路由五位数码管组成,采用动态显示方式,因此有8位段控制端和5位位控制端,八位段控制接P0口,P0.0~P0.7分别控制数码显示管的a、b、c、d、e、f、g、dp显示,8051的P0口没有集成上拉电阻,高电平的驱动能力很弱,所以需要接上拉电阻来提高P0的高电平驱动能力。五位位控制则由低位到高位分别接到P2.0~P2.4口,NPN三极管9013做为位控制端的开关,当P2.0~P2.4端口任意一个端口为高电平时,与其相对应的三极管就导通,对应的数码管导通显示。

通过以上设计已经将各部分电路与单片机有机的结合到一起,硬件部分的设计以大

- 8 -

功告成,剩下的部分就是对单片机的编程,使单片机按程序运行,实现数字电子秒表的全部功能。

五、 具体实现过程

1、对数字秒表设计进行分析,敲定几组方案; 2、在PROTUES软件中,画电路图,进行仿真、调试;

3、对自己想要实现的秒表现象进行编程,运用KEIL软件;并于Proteus联调。 4、调试过程中要不断改进自己的方案; 6、测试各个所需元件,STC89C52RC,数码管。

7、将方案敲定之后,对LED数字秒表进行焊接其中最主要的是对最小系统的焊接时非常关键的,在进行焊接数码管时,很关键。

8、将最小系统焊接好以后要用数字万用表进行测试,首先要测试有没有短接、断接的地方,再将焊好的板子放在电源上进行加电,看电路板子是否正常工作。

9、将最小系统板子与数码管板子连在一个,通过USB口与电脑相连,打开串口助手,将KEIL软件中的程序下载到单片机中,进行验证。 10、具体程序

/******************************************************** * 文 件 名 : 秒表.c

* 描 述 : 基于51单片机的数码管数字秒表; 带有指示灯,蜂鸣器,按键(启动、清零、计次) * 创 建 人 : 罗宏

* 单 位 : 佳木斯大学 信息电子技术学院 电子协会 * 日 期 : 2014.6.26 * 开 发 环 境: Keil 4

* 邮 箱 : 744544126@qq.com * 晶 振 : 11.05926MHZ * 版 本 号 :

*********************************************************/ #include

#define uint unsigned int //宏定义无符号整型 #define uchar unsigned char //宏定义无符号字符型 #define DUAN (P0) //宏定义数码管段代码 #define WEI (P2) //宏定义数码管位代码 sbit keystart_stop = P3^2; //定义启动/停止按键 sbit keyrest = P3^3; //定义复位/清零按键 sbit keyrecord = P3^4; //定义计数/存储按键 sbit keydispaly = P3^5; //定义计数/显示按键 sbit beep = P3^6; //定义蜂鸣器 sbit led = P3^7; //定义 uchar x,msec5,msec10,second,minute; //时间变量 uchar msec,sec,min; //显示变量 uchar code table1[] = {0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8,0x80,0x90}; //共阳数码管数组不带点显示 uchar code table2[] = {0x40,0x79,0x24,0x30, 0x19,0x12,0x02,0x58,0x00,0x10}; //共阳数码管带点显示 /******************************** 函数名称: 延时函数 delay 功 能: 延时指定毫秒 参 数: uchar x 返 回 值: 无

- 9 -


基于51单片机的数字秒表课程设计、毕业设计论文 - 图文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:Java Jdk1.8 HashMap源码阅读笔记(一)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: