您好,欢迎来到华拓科技网。
搜索
您的当前位置:首页电子秒表程序

电子秒表程序

来源:华拓科技网


杭州职业技术学院

(2012届)

毕业设计(论文)

题 目 温度采集设计电路

系 别 信 息 电 子 系 专 业 应用电子技术 班 级 应电1042 学 号 1003402021 姓 名 范金存 指导教师 彭勇刚

2012年 1 月

1 30 日

摘 要

在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。其中,温度控制也越来越重要。在工业生产的很多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用单片机对温度进行控制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而大大提高产品的质量和数量。因此,单片机对温度的控制问题是工业生产中经常会遇到的控制问题。

通过单片机课程设计,熟练掌握C语言与汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。通过数字采集与控制系统的设计,掌握如何采集数据并在LCD上显示采集的数据合如何控制电机的使用方法,和简单程序的编写,最终提高我们的逻辑抽象能力。

关键字:电子秒表 STCS51单片机 C51语言

2

1 封面....................................................1 1.1 摘要..................................................2

1.2目录...............................................3 一、第一章 绪论........................................4 二

理....................................5

2.1 ATC51.........................................5 2.2 SN46056两位共阴数码管...........................8 2.3 HCF4511B的说明. ...................................11 第三章 硬件设计 ......................................14 3.1硬件主要组成部分...................................15

第四章 软件设计„„„„„„„„„„„„„„„„„„„„„18

第五章 系统调试„„„„„„„„„„„„„„„„„„„„„21 总结„„„„„„„„„„„„„„„„„„„„„„„„„26

3

第一章 绪论

单片机技术飞速发展,产品质量越来越好,而成本却越来越低,现阶许多复杂、多用的电子器件普遍采用单片机来实现。同时,随着人们生活节奏的加快,时钟已经成为人们日常生活中的必需品,许多家电都带有时钟模块,而人们也不再满足于紧紧具有时间显示功能的时钟,对时钟功能的要求也越来越全面。单片机以其强大的功能成为多功能电子秒表的首选,为电子秒表的功能扩展提供了强大的支持,实现一物多用,提高电子秒表的使用价值。本设计详细介绍了该系统的组成和基本工作原理,重点介绍了硬件设计思想和软件设计的思路,在保证系统功能齐全,性能良好的前提下,最大限度的简化电路,降低系统的整体成本,提高系统的可靠性。另外,预留P0口作为以后功能的扩展口。

(可是现在的液晶显示器基本上还都是只支持模拟RGB输入,同时支持模拟RGB输入和数字RGB输入并且可以接收电视信号的多功能液晶显示器市场上还很少见。本设计同时集成了模拟RGB信号处理和数字RGB信号处理,并且集成了电视信号的编码处理。实现了一物多用,提高了系统的实用价值。本设计详细介绍了该系统的组成和基本工作原理,重点介绍了多功能电子秒表的硬件设计思路和软件设计思想。硬件设计的主要要求是在保证系统性能的前提下,最大限度的降低系统的整体成本,同时还要留出以后功能扩展接口。)

4

第二章 基本原理

2.1 ATC51

ATC51下图2-1所示。

图2-1 ATC51管脚

主要性能:

与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、 1000次擦写周期、 全静态操作:0Hz~33Hz 、 三级加密程序存储器 、 32个可编程I/O口线 、三个16位定时器/计数器 八个中断源 、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符 。

功能特性描述:

ATC51 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得ATC51为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。ATC51 具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,ATC51 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作

5

停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash ATC51

P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。

P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX)。在flash编程和校验时,P1口接收低8位地址字节。

引脚号第二功能 :

P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用)

P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。

在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输

6

出电流(IIL)。

P3口亦作为ATC51特殊功能(第二功能)使用: 在flash编程和校验时,P3口也接收一些控制信号。 端口引脚第二功能: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INTO(外中断0) P3.3 INT1(外中断1) P3.4 TO(定时/计数器0) P3.5 T1(定时/计数器1)

P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通)

此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。 RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。

ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。

对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当ATC52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。

7

FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是

使用12V编程电压Vpp

2.2 SN46056两位共阴数码管

2.2.1 概述

(1) SN46056两位共阴数码管是标准的两位共阴数码管,可与CPU直接接口,具有8位标准数据总线、位选两位,接低电平时选中该数码管,8位段选接高电平时驱动数码管显示。

(2) 外观尺寸:113×65×11mm(SN46056-1),

93×70×10mm(SN46056-2) 78×70×10mm(SN46056-3),

(3) LED显示器是由发光二极管显示字段的显示器件,也可称为数码管,它由8个发光二极管构成,通过不同的组合可显示0到9,A到F及其小数点“.”等字符。其结构图如图3-11。

图3-11 LED结构图

数码管通常有共阴极和共阳极两种接法。共阴极数码管的发光二极管阴极必须接低电平,当某发光二极管的阳极为高电平(一般为+5V)时,此二极管点亮;共阳极数码管的发光二极管是阳极接到高电平,对于需点亮的发光二极管使其阴极接低电平(一般为地)即可。显然,要显示某字形就应使此字形的相应字形点亮,实际就是送一个用不同电平组合代表的数据至数码管。一般共阳极数码管必须外接电阻,而共阴极不一定外接电阻。LED显示器有静态显示和动态显示两种方式。在静态显示方式中,每个比D发光二极管工作电流在10 mA一20 mA;而在动态显示方式中,为了获得良好的亮度,LED发光二极管瞬时工作电流可以适当提高,一般取20mA一25mA。LED静态显示接口电路由笔段代码锁存器、

8

笔段译码器(由软件译码的LED静态显示驱动电路不需要译码器)等部分组成,在静态显示方式中,显示驱动程序简单,且CPU占用率低,但每一个LED数码管需要一个锁存器,以便锁存每一位的笔段代码,硬件开销大(元件数目多,印制板面积也会随之增加),仅适用于显示位数较少(4位以下)的场合。当需要显示的位数在4—12时,多采用按位扫描硬件译码的动态显示方式或按位扫描软件译码的动态显示方式。因此本系统采用动态显示方式。在动态显示方式中,各LED数码显示器轮流工作,为了防止产生闪烁现象,每个LED数码管刷新频率必须大于25 Hz,即相邻两次点亮的时间间隔要小于40 ms,对于具有N个LED数码管的动态显示电路来说,如果刷新频率为f,那么显示周期为1/f,则每一位的显示时间为1/(f×N)秒。显然,显示的位数越多,每一位的显示时间越短,在驱动电流一定的情况下,亮度越低(正因如此,在动态LED显示电路中,要适当增大驱动电流,一般取20 mA~35 mA,以抵消因显示时间短造成亮度下降)。为了保证一定的亮度,实验表明:在驱动电流取30 mA的情况下,每位显示时间不能小于1 ms。

2.2.2 接口说明

(1) SN46056接口说明,如表2-1所示。 表2-1 SN46056接口说明表 管脚号 1 2 3 管脚 VSS VDD V0 电平 0V 5.0V ? 逻辑电源地 逻辑电源正 说明 LCD驱动电压,应用时在VEE与V0之间加一2K可调电阻。 数据\\指令选择: 4 D/I H/L 高电平:数据D0-D7将送入显示RAM; 低电平:数据D0-D7将送入指令寄存器执行。 5 R/W H/L 读\\写选择: 高电平:读数据;低电平:写数据 9

6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 CS1 CS2 RET VEE BL BL H.H/L H/L H/L H/L H/L H/L H/L H/L H/L H/L H L -10V AC AC 读写使能,高电平有效,下降沿锁定数据。 数据输入输出引脚 数据输入输出引脚 数据输入输出引脚 数据输入输出引脚 数据输入输出引脚 数据输入输出引脚 数据输入输出引脚 数据输入输出引脚 片选择信号,低电平时选择前列。 片选择信号,低电平时选择后列。 复位信号,低电平有效。 LCD驱动电源 背光电源,LED+ 背光电源,LED- (2) 128-3A接口说明,如表2-2所示。 表2-2 128的接口说明 管脚号 1 2 3 4 5 6 7 8 9 管脚 c dp e d g f 位选1 位选2 b 电平 H H H H -H H L L H 说明 数码管c位 数码管dp位 数码管e位。 数码管d位 数码管g位。 数码管f位 数码管第一位选通位 数码管第二位选通位 数码管b位 10

10 a H 数码管a位 2.2.3 指令描述

共阴数码管段选码表 屏显数字 0 1 2 3 4 5 6 7 8 9 段选码 abcdefg 11000000(0xC0) 11111001(0xF9) 10100100(0xA4) 10110000(0xB0) 10011001(0x99) 10010010(0x92) 10000010(0x82) 11111000(0xF8) 10000000(0x80) 10010000(0x90) 2.3 HCF4511B的说明

CD4511是一个用于驱动共阴极 LED (数码管)显示器的 BCD 码—七段码译码器,特点如下: 具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。可直接驱动LED显示器。 HCF4511B引脚图:

11

其功能介绍如下:

BI:4脚是消隐输入控制端,当BI=0 时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。

LT:3脚是测试输入端,当BI=1,LT=0 时,译码输出全为1,不管输入 DCBA 状态如何,七段均发亮,显示“8”。它主要用来检测数码管是否损坏。

LE:锁定控制端,当LE=0时,允许译码输出。 LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。

A、B、C、D为8421BCD码输入端。

a、b、c、d、e、f、g:为译码输出端,输出为高电平1有效。 CD4511的内部有上拉电阻,在输入端与数码管笔段端接上限流电阻就可工作,其输出电流大致在500mA左右。 逻辑功能见表:

选用共阴极数码管,对于 CD4511 ,它与数码管的基本连接方式如下图

12

在本设计中,采用单片机的P1口作为BCD码输入端,P3口作为位选选通输入端控制数码管显示,

其中P1.0~P1.3控制HCF4511芯片的BCD码输入端,P3.0~P3.5控制各数码管显示。且直接将芯片的LT、BI引脚置低,LE=1拉高,译码器是锁定保持状态。 具体连接如下图:(电源与地未标出)

13

第三章 硬件设计

3.1硬件主要组成部分

设计原理图,如图3-1所示。

图3-1 设计原理图

本设计电路,硬件部分共由五个模块组成:按键模块、复位电路模块、晶振电路模块、发声指示模

块、时间显示模块。晶振电路模块负责给单片机提供时钟周期。复位单路模块负责上电后自动复位,或按键后强制复位。上电后,由单片机内部定时器计时,同时通过动态显示函数自动将时分秒显示到数码管上。与此同时,按键扫描函数,一直扫描按键引脚状态,一旦扫描到按键被按下,即进入相应的功能函数。如果检测到定时时间到,则驱动蜂鸣器发声提示。

14

3.2硬件电路说明

3.2.1按键模块

按键模块如图3-2-1所示。

图3-2-1 按键模块

在该模块中,采用四个按键作为电子秒表的控制输入,通过按键来实现时钟的时间设置、定时、秒表功能。电路中将四个按键的一端接公共地,而单片机的P2口默认为高电平,一旦按键被按下,则该按键对应的额管脚被拉低,通过软件扫描按键即可知道用户所要实现的功能,调用相应的按键子程序来完成该操作。按键的去抖动由软件来实现。

3.2.2单片机的复位电路

单片机的复位电路,如图3-2-3所示。

图3-2-2 单片机的复位电路

当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。上电后,保持RST一段高电平时间。

15

3.2.3单片机的晶振电路

单片机的晶振电路,如图3-2-4所示。

图3-2-3 单片机的晶振电路

石英晶体也连接在晶振引脚的输入和输出之间,等效为一个并联谐振回路,振荡频率应该是石英晶体的并联谐振频率。晶体旁边的两个电容接地,实际上就是电容三点式电路的分压电容, 接地点就是分压点。以接地点即分压点为参考点,振荡引脚的输入和输出是反相的,但从并联谐振回路即石英晶体两端来看, 形成一个正反馈以保证电路持续振荡。

3.2.4发声指示模块

发声指示模块,如图3-2-5所示。

图3-2-4 发声指示模块

发声指示模块分为发声部分,指示部分两部分。发声部分由电源,380欧限流电阻R1,LED发光二极管三部分组成。正常情况下,Led引脚(P2_0)为高电平,LED两端没有电压差,不发光,一旦按键按下,或定时时间到,Led引脚(P2_0)被拉低,LED被点亮。发生部分由蜂鸣器、电源、9018三极管、限流电阻组成。蜂鸣器由PNP三极管驱动,当BZ管脚(P2_1)为高时,三极管be级没电压差,三极管截止;反之,三极管导通,有电流

16

流经蜂鸣器,蜂鸣器发声。

3.2.5时间显示模块

时间显示模块如图3-2-6所示。

图3-2-5 液晶显示电路

时间显示部分的电路也很简单,由三个两位的共阴8段数码管、四盏Led灯,加上一个4511译码驱动电路组成。在显示过程中,单片机将要显示的数字传递给4511芯片,同时通过位选选通要显示的数码管。4511芯片实现将BCD码数字转换为七段数码管段选码通过其输出端输出,同时提供约500mA的电流驱动数码管点亮。

图3-2-6 数码管译码驱动驱动电路

17

第四章 软件设计

4.1 程序流程图

主程序流程图,如图4-1所示。

图4-1 主程序流程图

按键功能子程序流程图,如图4-2所示。

18

图4-2 按键功能子程序流程图

4.2 软件的仿真

软件测试步骤如下: (1)打开Proteus软件。

(2)选择file菜单下的 open design..选项,找到所需的元器件,按照电路图连接后并保存。

(3)将用KEIL编译过的HEX格式程序,下载到单片机中:

右击51单片机再左击,再弹出的对话框中,选择program file文本框或单击文件图标,

19

浏览找到所编译的程序。单击确定。

(4)单击左下角运行按钮,进行软件仿真、调试,直到出现正确的结果.

20

第五章 系统调试

5.1硬件调试

5.1.1排除元器件失效

造成这类错误的原因有两个:一个是元器件买来时就已坏了;另一个是由于安装错误,造成器件烧坏。可以采取检查元器件与设计要求的型号、规格和安装是否一致。在保证安装无误后,用替换方法排除错误。

5.1.2排除电源故障

在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。加电后检查各插件上引脚的电位,一般先检查VCC与GND之间电位,若在5V~4.8V之间属正常。若有高压,联机仿真器调试时,将会损坏仿真器等,有时会使应用系统中的集成块发热损坏。

5.1.3 联机仿真调试

联机仿真必须借助仿真开发装置、示波器、万用表等工具。这些工具是单片机开发的最基本工具。信号线是联络8031和外部器件的纽带,如果信号线连结错误或时序不对,那么都会造成对外围电路读写错误。51系列单片机的信号线大体分为读、写信号线、片选信号线、时钟信号线、外部程序存贮器读选通信号(PSEN)、地址锁存信号(ALE)、复位信号等几大类。这些信号大多属于脉冲信号,对于脉冲信号借助示波器(这里指通用示波器)用常规方法很难观测到,必须采取一定措施才能观测到。应该利用软件编程的方法来实现。例如对片选信号,运行下面的小程序就可以检测出译码片选信号是否正常。

5.2软件调试

本设计的软件编译是在Keil uVision3上进行的,此软件可以生成HEX文件用于下载到单片机上工作。生成HEX文件后可以在PROTUES上进行仿真调试。如图5-1至5-4为仿真截图。(以下均为将扫描显示间隔在50Ms下的截图,实际下载到单片机的程序延时为5MS)

21

图5-1 仿真截图一

图5-2 仿真截图二

22

图5-3 仿真截图三

23

图5-4 仿真截图四

24

备注:由于在用Proteus作仿真的时候,软件并不能完全符合实物的物理特性,所以在本设计的仿真方面,尤其是动态扫描方面,效果并不很成功,主要是动态扫描时,数码管出现不能完全点亮,导致只有一部分段选显示。经过调查了解到,这是由于在Proteus仿真时,软件中,数码管只有点亮和不亮两种状态,而实际做动态扫描时,数码管是处于亮与不亮之间,通过二极管的余晖及人眼的视觉延迟来实现的,所以在软件仿真时并不能完美的展示时钟时间。不过,通过放慢扫描显示的频率,可以看到略显闪烁的结果,证明软硬件的仿真成功。

25

总 结

通过做这次毕业设计,我学到了很多东西,首先是对Proteus及Keil等软件的运用,并对数码管动态显示方面的知识有了更多的理解,在以前我只是对这些软件有个大概的了解,但通过这次实践,是我对这些软件有了更深刻的了解,在以后的学习及工作中将会起到很大的作用,这次我将自己所学的知识运用到了实践当中,使得理论有了实践的指导。

但是由于我以前没有实际做过按键扫描控制数码管动态扫描这方面的内容,所以在有些内容的准备上还有很多不足之处,我希望自己通过这次设计可以有很大的提高,从这次实践中学到一些经验,并在以后的工作中有实践的指导。在硬件调试方面我也学到了很多东西,对电路的检查有了很多的经验,在软件编译方面是我有了很好的编译习惯,并掌握了一些软件编译技巧。

在论文的编写方面,让我有了很好的文字表达能力及理论到实践的应用能力,并对简单的文字编译有了更熟练的掌握。

总之,这次毕业设计使我受益匪浅,经过认真的制作,使我对本科阶段的学习有了的总结。

26

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo6.cn 版权所有 赣ICP备2024042791号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务