-
题
目:
院
(系)
:
专
业:<
/p>
学生姓名:
学
号:
指导
教师:
职
称:
课
程
设
计
p>
基于单片机的
24
秒倒计时
*************
********
*******
***********
******
******
2012
年
12
月
1
日
基于单片机的
24
秒倒计时
目录
摘要
.
...........................
..................................................
..................................................
..........................
2
前言
.
..
..................................................
..................................................
..................................................
.
3
Abstract
...........................................
..................................................
..................................................
....
4
第一章
原理设计
.
..................................................
..................................................
...............................
5
1.1
设计要求
.......................
..................................................
..................................................
............
5
1
.
2
AT89C51
芯片
.
..................................
..................................................
........................................
5
1.3
管脚说明
.
....................................
..................................................
.................................................
7
第二章
系统总体方案的设计
.
.............................................
..................................................
................
9
2.1
硬件电路的设计
.
.................................
..................................................
........................................
9
2.2
时钟频率电路的设计
...........................................
..................................................
.....................
1
0
2.3
复位电路的设计
.
.................................
..................................................
......................................
1
0
2.4
显示电路的设计
.
.................................
..................................................
......................................
11
2.5
按键电路的设计
.
.................................
..................................................
......................................
1
2
第三章
系统软件的设计
.
< br>............................................... .................................................. ....................
13
3.1
定时中断的程序设计
..................
..................................................
.............................................
1
3
3.2
独立键盘服务程序的设计
................
..................................................
.......................................
1
4
3.3
报警程序的设计
.
.................................
..................................................
......................................
1
4
3.4
显示子程序的设计
...................
..................................................
................................................
1
4
3.5
系统软件的调试
....................
..................................................
..................................................
.
1
4
第四章
Altium
Designer
原理图绘制
...
..................................................
.............................................
14
第五章
Keil
uVision3
软件编译
....
..................................................
..................................................
...
16
总结
.
..
..................................................
..................................................
.................................................
17
参考文献
.
..................................................
..................................................
...........................................
18
程序源代码:
.
................................................ .................................................. .....................................
19
1
基于单片机的
24
秒倒计时
摘要
近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,
同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统
中,
单片机往往是作为一个核心部件来使用,
仅
单片机方面知识是不够的,
还应
根据具体硬件结构,以及针对具
体应用对象特点的软件结合,以作完善。
模拟多通道压力系统
是利用压力传感器采集当前压力并放映在显示器上,
它
可以分析
压力过量程,
并发出报警。
并采用电子秤原理可根据输入单价准
确的计
算出物体的金额。
本篇论文讨论了简单的倒计时器的设计
与制作,
对于倒计时器
中的
LED
p>
数码显示器来说,
我为了简化线路、
降低成
本,
采用以软件为主的接口
方法,即不使用专门的硬件译码器,
而采用软件程序进行译码。
【关键词】单片机;
AT89C51
;
LED
数
码管显示器;
keil
C
;晶体振荡器
2
基于单片机的
< br>24
秒倒计时
前言
高速
发展的计算机技术带领人类进入了信息社会
,
同时也促进了倒计
时器
的迅速发展。在电子技术飞速发展的今天,单片机的应用正在不断地走向深入。
p>
单片机技术在自动控制领域有着十分广泛的应用,如汽车、航空、电话、传真、
视频等。
很多行业涉及到自动控制的情况下涉及到单片机技术。
电子产品的人性
化和智能化已经非常成熟,
单片机就
是一个微型中央处理器,
通过编程即能完成
很多智能化的工作<
/p>
,因此它的出现给电子技术智能化和微型化起到了很大的推
p>
动作用。
随着人们生活水平的提高,
社会经
济的发展,
人们开始注重身体素质的
提高。
臂如举办篮球比赛需要有一个专门计时的工具。
因此有必要设计适合篮球
比赛计时器。本次设计的目的和意义在于基本掌握常用电子电路的一般设计方
法,
提高和培养在电子电路方面的设计和实验能力,
而且能够
对电子电路、
电子
元器件、
印制电路板
等方面的知识进一步加深认识,
同时在软件编程、
排版调试、<
/p>
焊接技术、
相关仪器设备的使用技能等方面得到较全面的锻炼和提
高,
学会运用
理论来分析和解决实际问题,提高实际工作的能力
,
为今后能够独立进行某些单
片机应用
系统的开发设计工作打下一定的基础。
3
基于单片机的
< br>24
秒倒计时
Abstract
Permeate in the social realm along with
the calculator in recent years,single slice
the
application
of
the
machine
just
at
constantly
alignment
thorough,arouse
a
traditional
control
an
examination
a
day
a
new
moon
benefit
renewal
in
the
solidly the hour the examination the
single slice that controls with auto
the
machine
the
application
the
system,slice
machine
usually
Be
a
core
parts
to
use,only
single
slice
the
machine
aspect
knowledge
is
not
enough,return
should
according
to
concrete
the
hardware
structure,and
aim
at
concrere
application
the
sofwatre of the object characteristics
combine to make perfect.
Imitating many
passage pressure systemses is to make use of
presure to spread
the
feeling
machine
to
collect
current
pressure
combine
the
reflection
is
on
tne
display,it
can
analyze
the
pressure
surfeit
distance,erupting
to
report
to
the
e the adoption electronics steelyard
principle can according to input the
amount of money that the unit price
compures an object thesis discuss
that
pour the design and creation of the timer in
brief,for pour LED figures displays in
the timer to say,I an for the sake of
the simpification circuit,decline low cost,adopt
to
take software as connect of lord a
people’s methdo,do not use specialized hardwate to
translate
the
code
machine
namely,but
adopt
the
software
procedure
to
carry
on
translating code.
【
Keyword
】
single
slice
machine,AT89C51,The
LEDfigure
tube
display,Keil
C,Crystal
Oscillactor
4
基于单片机的
24
秒倒计时
第一章
原理设计
1.1
设计要求
(
1
)学习单片机应用系统的基本构成,掌握其基本设计方法。
(
2
)利用
A
ltium Designer Summer
08
和
Keil
uVision3
软件编译。
(
p>
3
)要求计数范围
0-24
秒。
(
4
< br>)采用
2
位
LED
显示计数值。
(
5
)用按钮开关控制计时器的启动
/
暂停,
p>
K1
复位
24
秒,
K2
清零显示
00
,
K3
控制停止,
K4
控制开始,
K5
单片机复位;当数码管显示
00
时蜂鸣器发出报警声。
1
.
2
AT89C51
芯片
AT89C51
是一种带
4K
字节闪烁可编程可擦除只
读存储器
(
FPEROM
—
Flash
Programmable
and
Erasable Read Only
Memory
)的低电压,高性能
CMOS
8
位微处理器,俗称单片机。
图
1 AT89C51
单片机的内部结构
CPU
即中央处理器的简称,
是单片机的核心部件,
它完成各种运算和控制操作,
CPU
由运算器和控制器两部分电
路组成。
a.
运算器电路
运算器电路包括
ALU
(算术逻辑单元)、
ACC
(累加器)、
B
寄存器、状态寄
存器、暂存器
1
和暂存器
2
等部件,运算器的功能是进行算术运算和逻辑运算。
b.
控制器电路
5
基于单片机的
24
秒倒计时
控制器电路包括程序计数器
PC
、
PC
加
1
寄存器、指令寄存器、指令译码器、
数据指针
DPTR
、堆栈指针
SP
、缓冲器以及定时与控制电路等。控制电路完成指
挥控制工作,协调单片机各部分正
常工作。
c.
< br>定时器
/
计数器
MCS
-
< br>51
单片机片内有两个
16
位的
定时
/
计数器,
即定时器
0
和定时器
1
。
它们
可以用于定时控制、延时以及对外部事件的计数和检测等。
d.
存储器
MCS
-
51
系列单片机的存储器包括
数据存储器和程序存储器,其主要特点是
程序存储器和数据存储器的寻址空间是相互独立
的,物理结构也不相同。
e.
并行
I/O
口
MCS
-
52
单片机共有
4
个
8
位的
I/O
口(
p>
P0
、
P1
、
p>
P2
和
P3
),每
一条
I/O
线
都能独立地用作输入或输
出。
P0
口为三态双向口,能带
8
p>
个
TTL
门电路,
P1
、
P2
和
P3
口为准双向口,负载能力为
4
个<
/p>
TTL
门电路。
f.
串行
I/O
口
MCS
-
< br>51
单片机具有一个采用通用异步工作方式的全双工串行通信接口,可
以同时发送和接收数据。
g.
中断控制系统
8051
共有
5
个中断源,即外中断
2
个
,定时
/
计数中断
2
< br>个,串行中断
1
个。
h.
时钟电路
MCS
-
51
芯片内部有时钟电路,但
晶体振荡器和微调电容必须外接。时钟电
路为单片机产生时钟脉冲序列,振荡器的频率范
围为
1.2MHz
~
12MHz
,典型取值
为
6MHz
。
i.
总线
以上所有组成部分都是通过总线连接起来,
从而构成一个完整的
单片机。
系
统的地址信号、
数据信号和
控制信号都是通过总线传送的,
总线结构减少了单片
机的连线和
引脚,提高了集成度和可靠性。
选用单片机的结构:
1
一个
8
位算术逻辑单元
2 32
个
I/O
口
4
组
8
位端口可单独寻址
3
两个
16
位定时计数器
6
基于单片机的
< br>24
秒倒计时
4
全双工串行通信
5 6
个中断源两个中断优先级
6 128
字节内置
RAM
7
独立的
64K
字节可寻址数据和代码区
每个
8051
处理周期包括
12
个振荡周期每
12
个振荡周期用来完
成一项操作如取
指令和计算指令执行时间可把时钟频率除以
12
取倒数然后指令执行所须的周期
数因此如果你的系统时钟是
p>
11.059MHz
除以
12
后就得到了每秒执行的指令个数
为
921583
条指令取倒数将得到每条指令所须的时间
1.085ms
。
1.3
管脚说明
图
2
AT89C51
管脚图
(
1
)
VCC
:供电电压。
7 <
/p>
基于单片机的
24
秒倒计时
(
2
)
< br>GND
:接地。
(
3
)
P0
口:
P0
口为一个
8
位漏级开
路双向
I/O
口,每脚可吸收
8TTL
门电流。当
P1
口的管脚第一次写
p>
1
时,被定义为高阻输入。
P0
能够用于外部程序数据存储器,它可以被
定义为数据
/
地址的第八位。
在
FIASH
p>
编程时,
P0
口作为原码输入口,
当
FIASH
进行校验时,
< br>P0
输出原码,此时
P0
外部必
须被拉高。
(
4
)
P1
口:
P1
< br>口是一个内部提供上拉电阻的
8
位双向
< br>I/O
口,
P1
口缓冲器能接收
输
出
4TTL
门电流。
P1
口管脚写入
1
后,
被内部上拉为高,可用作输入,
P1
口被外部
下拉为低
电平时,将输出电流,这是由于内部上拉的缘故。在
F
LASH
编程和校验时,
P1
口作为第
八
位地址接收。
(
< br>5
)
P2
口:
< br>P2
口为一个内部上拉电阻的
8
位双向
I/O
口,
P2
口缓冲器可接收,输出
4
个
T
TL
门电流,当
P2
口被写“
1
”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作
为输入时,
P2
口的管脚被外部拉低,将输出电流
。这是由于内部上拉的缘故。
P2
口当用于
外部程序存储器或
16
位地址外部数据存储器进行存取时,
P2
口输出地址的高八位。在给出
地址
“
1
”时,它利用内部上拉优势,当对外部八位地址数据存储器
进行读写时,
P2
口输出
其特殊功能寄
存器的内容。
P2
口在
FLASH
p>
编程和校验时接收高八位地址信号和控制信号。
< br>(
6
)
P3
口:
P3
口管脚是
8
个带内部上拉电阻的双向
I/O
口,
可接收输出
4
个
TTL
门电
流。当
P3
口写
入“
1
”后,它们被内部上拉为高电平,并用作输入。作为输入
,由于外部下
拉为低电平,
P3
口将输
出电流(
ILL
)这是由于上拉的缘故。
(
7
)
R
ST
:
复位输入。
当振荡器复位器件时
,
要保持
RST
脚两个机器周期的高电
平时间。
(
8
)
ALE/PROG
:当访问外部存储器时,地址锁存允许的
输出电平用于锁存地址的地位
字节。在
FLASH
编程期间,此引脚用于输入编程脉冲。在平时,
ALE
端以不变的频率周期输
出正脉冲信号,此频率为振荡器频率的
1/6
。因此它可用作对外部输出的脉冲或用于定时目
的。然而
要注意的是:每当用作外部数据存储器时,将跳过一个
ALE
脉
冲。如想禁止
ALE
的输出可在
SFR
8EH
地址上置
0
。此时,
ALE
只有在执行
MOVX
,
MOVC
指令是
ALE
才起作用。
另外,该引脚被略微拉高。如果微处理器在外部执行状态
p>
ALE
禁止,置位无效。
(
9
)
/PSEN
:外部程序存储器的选通信号。在由外部程序存储器取指期间,
每个机器周
期两次
/PSEN
有效。但在访问外部
数据存储器时,这两次有效的
/PSEN
信号将不出现。
(
10
)
/EA/VPP
:当
/EA
保持低电平时,则在此期间外部程序存储器(
0000H-FFFFH
)
,
不管是否有内部程序存储器。注意加密方式
p>
1
时,
/EA
将内
部锁定为
RESET
;当
/EA
端保持
高电平时,
此间内部程序存储器。
p>
在
FLASH
编程期间,
< br>此引脚也用于施加
12V
编程电源
(
VPP
)
。
8
基于单片机的
24
秒倒计时
(
11
)
XTAL1
:反
向振荡放大器的输入及内部时钟工作电路的输入。
(
12
)
XTAL2
:来
自反向振荡器的输出。
第二章
系统总体方案的设计
2.1
硬件电路的设计
本设计分为硬件设计和软件设计,这两者相互结合,不可分离;从时间上看,
硬件设计
的绝大部分工作量是在最初阶段,
到后期往往还要做一
些修改。
只要技术准备充分,
硬件设
计
的大返工时比较少的,
软件设计的任务贯彻始终,
到中后期基本
上都是软件设计任务,
随
着集成电路技术的飞速发展,
各种功能很强的芯片不断出现,
是硬件电路的集成度越来越高,
硬件设计的工作量在整个项目中所占的比重逐渐下降。
为使应硬件电路设
计尽可能合理,
应
注意以下几个方面:
(
1
)尽可能采用功能强的芯片,以简
化电路,功能强的芯片可以代替若干普通芯片,
随着生产工艺的提高,新型芯片的价格不
断下降,并不一定比若干普通芯片的价格总和高。
(
2
)留有设计余地。在设计硬件电路时,要考虑到将来修改扩展的方便。
因为很少有
一锤定音的电路设计,
如果现在不留余地,
将来可能要为一点小小修改或扩展而被迫进行全
面返工。
(
3
)程序空间,选用片内
程序空间足够大的单片机,本设计采用
AT89C51
单片机。
(
4
)
p>
RAM
空间,
AT89C51
内部
RAM
不多,
当要增强
软件数据处理功能时,
往往觉得不足。
如果系统配置了外部
p>
RAM
,则建议多留一些空间。随着软件设计水平的提高,往往只要
改变
或增加软件中的数据处理算法,
就可以是系统功能提高很多
,
而系统的硬件不必做任何更换
就使系统升级换代。
只要在硬件电路设计初期考虑到这一点,
就应该为系统将来升级足够的
p>
RAM
空间,哪怕多设计一个
RAM
得插座,暂不插芯片也好。
(
5
)
I/O
端口
;
在样机研制出来进行现场使用时,往往会发现一些被忽视的问题,而这<
/p>
些问题不是靠单纯的软件措施来解决的。
如有些新的信号需要采集
,
就必须增加输入检测端:
有些物理量需要控制,
就必须增加输出端。
如果在硬件电路设计就预留出一些
I/O
端口,
虽
9
基于单片机的
24
秒倒计时
然当时空着没用,但是需要用的时候就派上用场了。
2.2
时钟频率电路的设计
时钟是单片机的心脏,
单片机各功能部件的运行都是以时钟频率为基准,
有条不紊地一
拍一拍地工作。
因此,<
/p>
时钟频率直接影响单片机的速度,
时钟电路的质量也直接影响单片
机
系统稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方
式。
单片机必须在时钟的驱动下才能工作。
< br>在单片机内部有一个时钟振荡电路,
只要外界一
个振荡源
就能产生一定的时钟信号送到单片机内部的各个单元,
决定单片机的工作速度。
时
钟电路如下图:
图
3
外部震荡源电路
< br>一般选用石英晶体振荡器。此电路在加电大约延迟
10ms
后振荡器起振,在
XTAL2
引脚
产
生幅度为
3V
左右的正弦波时钟信号,其振荡频率主要由石英晶
振的频率确定。电路中两
个电容
C1
、
C2
的作用有两个:一是帮助振荡器起振;二是对振荡器的频率
进行微调。
C1
、
C2
的典型值为
20pf
。
p>
单片机在工作时,
有内部振荡器产生或由外直接输入的送至内部控制
逻辑单元的时钟信
号的周期称为时钟周期。
其大小是时钟信号频
率的倒数,
用
f
表示。
图中的时钟频率为
12MHz
,
即
f=12MHz
,则时钟周期为
1
/12us
。
2.3
复位电路的设计
复位是单片机的初始化操作,只需给
8051
的复
位引脚
RST
加上大于
2
个机器周期(即
24
个时钟振荡周期)的高电平就可
得
8051
复位,复位时,
PC
初始化为
0000H
,使
8051
从
10