基于单片机的24秒倒计时设计
前言
高速发展的计算机技术带领人类进入了信息社会,同时也促进了倒计时器的迅速发展。在电子技术飞速发展的今天,单片机的应用正在不断地走向深入。单片机技术在自动控制领域有着十分广泛的应用,如汽车、航空、电话、传真、视频等。很多行业涉及到自动控制的情况下涉及到单片机技术。电子产品的人性化和智能化已经非常成熟,单片机就是一个微型中央处理器,通过编程即能完成很多智能化的工作 ,因此它的出现给电子技术智能化和微型化起到了很大的推动作用。随着人们生活水平的提高,社会经济的发展,人们开始注重身体素质的提高。臂如举办篮球比赛需要有一个专门计时的工具。因此有必要设计适合篮球比赛计时器。本次设计的目的和意义在于基本掌握常用电子电路的一般设计方法,提高和培养在电子电路方面的设计和实验能力,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排版调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,学会运用理论来分析和解决实际问题,提高实际工作的能力,为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。
1
基于单片机的24秒倒计时设计
第一章 原理设计
1.1 设计要求
(1)学习单片机应用系统的基本构成,掌握其基本设计方法。 (2)利用Protel99se和proteus软件设计系统电路。 (3)要求计数范围0-24秒,计时误差1ms。 (4)采用2位LED显示计数值。
(5)用按钮开关控制计时器的启动/暂停,K1控制启动,K2控制暂停,K3复位。
1.2 AT89C51芯片
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器
(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。
图1 AT89C51 单片机的内部结构
2
基于单片机的24秒倒计时设计
CPU即中央处理器的简称,是单片机的核心部件,它完成各种运算和控制操作,CPU由运算器和控制器两部分电路组成。 a. 运算器电路
运算器电路包括ALU(算术逻辑单元)、ACC(累加器)、B寄存器、状态寄存器、暂存器1和暂存器2等部件,运算器的功能是进行算术运算和逻辑运算。 b. 控制器电路
控制器电路包括程序计数器PC、PC加1寄存器、指令寄存器、指令译码器、数据指针DPTR、堆栈指针SP、缓冲器以及定时与控制电路等。控制电路完成指挥控制工作,协调单片机各部分正常工作。 c. 定时器/计数器
MCS-51单片机片内有两个16位的定时/计数器,即定时器0和定时器1。它们可以用于定时控制、延时以及对外部事件的计数和检测等。
d. 存储器
MCS-51系列单片机的存储器包括数据存储器和程序存储器,其主要特点是程序存储器和数据存储器的寻址空间是相互独立的,物理结构也不相同。 e. 并行I/O口
MCS-52单片机共有4个8位的I/O口(P0、P1、P2和P3),每一条I/O线都能独立地用作输入或输出。P0口为三态双向口,能带8个TTL门电路,P1、P2和P3口为准双向口,负载能力为4个TTL门电路。
f. 串行I/O口
MCS-51单片机具有一个采用通用异步工作方式的全双工串行通信接口,可以同时发送和接收数据。 g. 中断控制系统
8051共有5个中断源,即外中断2个,定时/计数中断2个,串行中断1个。
h. 时钟电路
3
基于单片机的24秒倒计时设计
MCS-51芯片内部有时钟电路,但晶体振荡器和微调电容必须外接。时钟电路为单片机产生时钟脉冲序列,振荡器的频率范围为1.2MHz~12MHz,典型取值为6MHz。 i. 总线
以上所有组成部分都是通过总线连接起来,从而构成一个完整的单片机。系统的地址信号、数据信号和控制信号都是通过总线传送的,总线结构减少了单片机的连线和引脚,提高了集成度和可靠性。 选用单片机的结构: 1 一个8 位算术逻辑单元
2 32 个I/O 口4 组8 位端口可单独寻址 3 两个16 位定时计数器 4 全双工串行通信
5 6 个中断源两个中断优先级 6 128 字节内置RAM
7 独立的64K 字节可寻址数据和代码区
每个8051 处理周期包括12 个振荡周期每12 个振荡周期用来完成一项操作如取指令和计算指令执行时间可把时钟频率除以12 取倒数然后指令执行所须的周期数因此如果你的系统时钟是11.059MHz 除以12 后就得到了每秒执行的指令个数为921583条指令取倒数将得到每条指令所须的时间1.085ms 。
4
基于单片机的24秒倒计时设计
1.3管脚说明
图2 AT89C51管脚图
(1)VCC:供电电压。 (2)GND:接地。
(3)P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
(4)P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
(5)P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当
5