黑龙江信息技术职业学院
毕业设计(论文)说明书
系部自动控制工程系
专业电气自动化
年级08电气
姓名于奇
指导教师艾铁伟
年月日
黑龙江信息技术职业学院
毕业设计(论文)任务书
题目:
学生姓名于奇
系部名称自动控制工程系
专业电气自动化
学号
指导教师艾铁伟
职称
一、原始依据(包括设计或论文的工作基础、研究条件、应用环
境、工作目的等)
二、参考文献
[1]李叶紫.王喜斌.胡辉.孙东辉.编著MCS_51单片机应用教程清华大学出版
社.2008.6。
[2]陆剑.单片机应用技术指导书河南工业职业技术学院2005。12.
[3]汪道辉。单片机系统设计与实践.电子工业出版社
(50页时、分、秒计时器设计,59页键盘及接口技术).
[4]第二版.51系列单片机设计实例.北京航空航天大学出版社(81—89页数码管时钟电
路的设计).
[5]辛友顺、胡永生、薛小玲。单片机应用系统设计与实现。福建科学技术出版社(184-186
页LED显示接口,190-193页键盘接口)。
[6]黄庆华、张永格。单片机开发与实例。电子工业出版社(127-162页数字式电子
时钟的设计)。
[7]闫玉德、俞红.MCS—51单片机原理与应用(C语言版).机械工业出版社(49—104
页单片机的C程序设计).
[8]求是科技.单片机典型模块设计实例导航.人民邮电出版社(85—90页单片机数字时
钟)。
[9]刘守义,王静霞。《单片机应用技术》.西安电子科技大学出版社,2002.
三、设计(研究)内容和要求(包括设计或研究内容、主要指标与
技术参数,并根据课题性质对学生提出具体要求)
电子科技日新月异,人们对现代电子设备的智能化和微型化及其精度提出了
更高的要求,而单片机因其具有稳定可靠、体积小、价格低廉等特点,成为设
计智能化仪器仪表的首选微控制器,因此本次我们没有选用传统的专用的时钟芯
片,而是采用了AT89S51芯片,此款单片机可以使用软件对其进行在线编程,其
灵活性和可靠性都相对提高
指导教师(签字)
年月日
审题小组组长(签字)
年月日
黑龙江信息技术职业学院
毕业设计(论文)开题报告
课题名称单片机电子时钟
学院名称黑龙江信息技术职业学院专业名称
学生姓名于奇指导教师艾铁伟
(内容包括:课题的来源及意义,国内外发展状况,本课题的研究目标、研究内
容、研究方法、研究手段和进度安排,实验方案的可行性分析和已具备的实验条
件以及主要参考文献等。)
选题是否合适:是□否□
课题能否实现:能□不能□
指导教师(签字)
年月日
选题是否合适:是□否□
课题能否实现:能□不能□
审题小组组长(签字)
年月日
摘要
单片机即单片微型计算机.(Single-ChipMicrocomputer),是集
CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。他体积小,成本低,
功能强,广泛应用于工业自动化上和智能产品.时钟,自从它被发明的那天起,
就成为了人类的好朋友,但随着时间的推移,科学技术的不断发展,时钟的应用
越来越广范,人们对时间计量的精度要求也越来越高.怎样让时钟更好的为人民
服务,怎样让我们的老朋友再次焕发青春呢?这就要求我们不断设计出新型的时
钟,来不断满足人们的日常生活需要。然而市场上的时钟便宜的比较笨重,简单
实用的又比较昂贵。那么,有没有一款既简单实用价格又便宜的时钟呢?
我们课程设计小组设想:可不可以利用单片机功能集成化高,价格又便宜
的特点设计一款结构既简单,价格又便宜的单片机电子时钟呢?
基于这种情况,我们课程设计小组成员多方查阅资料,反复论证设计出了这
款既简单实用,又价格便宜的——单片机电子时钟。
关键词:单片机;时钟;计时
目□□录
(三号、黑体、居中、目录两字空两格、与正文空一行)
□□第一章(空两格)☆☆☆(小三号、宋体)………………
□□□1.1☆☆☆☆(四号宋体)……………………………………
□□□1。2☆☆☆☆……………………………………………………
□□□1.3☆☆☆☆……………………………………………………
………………
□□第四章(空两格)☆☆☆(小三号、宋体)………………
□□□4.1☆☆☆☆……………………………………………………
□□□4.2☆☆☆☆……………………………………………………
………………
□□参考文献(小三号、宋体)…………………………………
□□附录(小三号、宋体)………………………………………
□□外文资料(小三号、宋体)…………………………………
□□中文译文(小三号、宋体)…………………………………
□□致谢(小三号、宋体)………………………………………
不标页码
绪论
1。1课题背景
单片机自1976年由Intel公司推出MCS—48开始,迄今已有二十多年了.
由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低
廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,
无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅
速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广
大领域.
单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程
序存储器和数据存储器合用一个存储感冒喝可乐 器空间的结构,称为普林斯顿结构。另一种
是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序
存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为多.
本文讨论的单片机多功能定时器的核心是目前应用极为广泛的51系列单
片机,配置了外围设备,构成了一个可编程的计时定时系统,具有体积小,可靠
性高,功能强等特点.不仅能满足所需要求而且还有很多功能可供开发,有着广泛
的应用领域。
20世纪80年代中期以后,Intel公司以专利转让的形式把8051内核技术
转让给许多半导体芯片生产厂家,如ATMEL、PHILIPS、ANALOG、DEVICES、DALLAS
等.这些厂家生产的芯片是MCS-51系列的兼容产品,准确地说是与MCS-51指令系
统兼容的单片机。这些兼容机与8051的系统结构(主要是指令系统)相同,采用
CMOS工艺,因而,常用80C51系列来称呼所有具有8051指令系统的单片机,它
们对8051单片机一般都作了一些扩充,更有特点。其功能和市场竞争力更强,
不该把它们直接称呼为MCS-51系列单片机,因为MCS只是Intel公司专用的单
片机系列型号.MCS—51系列及80C51单片机有多种品种。它们的引脚及指令系
统相互兼容,主要在内部结构上有些区别.目前使用的MCS-51系列单片机及其兼
容产品通常分成以下几类:基本型、增强型、低功耗型、专用型、超8位型、片
内闪烁存储器型。
1。2课题来源
在日常生活和工作中,我们常常用到定时控制,如扩印过程中的曝光定时
等。早期常用的一些时间控制单元都使用模拟电路设计制作的,其定时准确性和
重复精度都不是很理想,现在基本上都是基于数字技术的新一代产品,随着单片
机性能价格比的不断提高,新一代产品的应用也越来越广泛,大可构成复杂的工
业过程控制系统,完成复杂的控制功能。小则可以用于家电控制,甚至可以用于
儿童电子玩具。它功能强大,体积小,质量轻,灵活好用,配以适当的接口芯片,
可以构造各种各样、功能各异的微电子产品。
随着电子技术的飞速发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的
控制器,使用起来很不方便.根据这种实际情况,设计了一个单片机多功能定时系统,它可以
避免多种控制器的混淆,利用一个控制器对多路电器进行控制,同时又可以进行时钟校准和
定点打铃。它可以执行不同的时间表(考试时间和日常作息时间)的打铃,可以任意设置时
间。这种具有人们所需要的智能化特性的产品减轻了人的劳动,扩大了数字化的范围,为家
庭数字化提供了可能.
第二章MCS-51单片机的结构
MCS-51单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集
成电路芯片上。如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器
(RAM)、程序存储器(ROM/EPROM)、并行I/O口、串行口、定时器/计数器、中断系统
及特殊功能寄存器(SFR)。它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加
上外围芯片的传统结构模式.但对各种功能部件的控制是采用特殊功能寄存器(SFR)的集中
控制方式。
2.1控制器
控制器是单片机的指挥控制部件,控制器的主要任务是识别指令,并根据指
令的性质控制单片机各功能部件,从而保证单片机各部分能自动而协调地工作.
单片机执行指令是在控制器的控制下进行的。首先从程序存储器中读出指令,送指令寄
存器保存,然后送至指令译码器进行译码,译码结果送定时控制逻辑电路,由定时控制逻辑
产生各种定时信号和控制信号,再送到单片机的各个部件去进行相应的操作.这就是执行一
条指令的全过程,执行程序就是不断重复这一过程。控制器主要包括程序计数器、程序地址
寄存器、指令寄存器IR、指令译码器、条件转移逻辑电路及时序控制逻辑电路。
2知道英语 .2存储器的结构
MCS—51单片机存储器采用的是哈佛结构,即程序存储器空间和数据存储器
空间截然分开,程序存储器和数据存储器各有自己的寻址方式,寻址空间和控制
系统。
这种结构对于单片机面向控制的实际应用极为方便,有利.在8051/8751弹
片击中,不仅在片内集成了一定容量的程序存储器和数据存储器及众多的特殊功
能寄存器,而且还具有极强的外存储器的扩展能力,寻址能力分别可达64KB,寻
址和操作简单方便.MCS—51的存储器空间可划分为如下几类:
1.程序存储器
单片机系统之所以能够按照一定的次序进行工作,主要是程序存储器中存放
了经调试正确的应用程序和表格之类的固定常数。程序实际上是一串二进制码,
程序存储器可以分为片内和片外两部分。8031由于无内部存储器,所以只能外
扩程序存储器来存放程序。
MCS—51单片机复位后,程序存储器PC的内容为0000H,故系统必须从0000H
单元开始取指令,执行程序.程序存储器中的0000H地址是系统程序的启动地址.
一般在该单元存放一条绝对跳转指令,跳向用户设计的主程序的起始地址。
2.内部数据存储器
MCS—51单片机内部有128个字节的随机存取存储器RAM,作为用户的数据寄
存器,它能满足大多数控制型应用场合的需要,用作处理问题的数据缓冲器。
MCS-51单片机的片内存储器的字节地址为00H—7FH。MCS-51单片机对其内
部RAM的存储器试纸怎么用 有很丰富的操作指令,从而使得用户在设计程序时非常方便。地
址为00H—1FH的32个单元是4组通用工作寄存器区,每个区含8个8位寄存器,
编号为R7—R0。用户可以通过指令改变PSW中的RS1,RS0这二位来切换当前的
工作寄存器区,这种功能给软件设计带来极大的方便,特别是在中断嵌套时,为
实现工作寄存器现场内容保护提供了极大的方便。
3.特殊功能寄存器(SFR-SpecialFunctionRegister)
特殊功能寄存器反映了MCS—51单片机的状态,实际上是MCS—51单片机各功能部
件的状态及控制寄存器。SFR综合的,实际的反应了整个单片机基本系统内部的工作状态及
工作方式.SFR实质上是一些具有特殊功能的片内RAM单元,字节地址范围为80H—FFH.
特殊功能寄存器的总数为21个,离散的分布在该区域中,其中]有些SFR还可以进行位寻
址。128个字节的SFR块中仅有21个字节是由定义的。对于尚未定义的字节地址单元,用户
不能作寄存器使用,若访问没有定义的单元,则将得到一个不确定的随机数.
2.3并行I/O口
MCS-51单片机共有4个双向的8位并行I/O端口(Port),分别记作P0—P3,
共有32根口线,各口的每一位均由锁存器、输出驱动器和输入缓冲器所组成。
实际上P0—P3已被归入特殊功能寄存器之列。这四个口除了按字节寻址以外,
还可以按位寻址。由于它们在结构上有一些差异,故各口的性质和功能有一些差
异。
P0口是双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用口,可驱动8
个LS型TTL负载.P1口是8位准双向I/O口,可驱动4个LS型负载。P2口是8位准双向
I/O口,与地址总线(高8位)复用,可驱动4个LS型TTL负载。P3口是8位准双向I/O
口,是双功能复用口,可驱动4个LS型TTL负载。P1口、P2口、P3口各I/O口线片内均
有固定的上拉电阻,当这3个准双向I/O口做输入口使用时,要向该口先写“1”,另外准双
向I/O口无高阻的“浮空”状态,故称为双向三态I/O口.
2.4时钟电路与时序
时钟电路用于产生MCS-51单片机工作时所必需的时钟信号。MCS—51单片
机本身就是一个复杂的同步时序电路,为保证同步工作方式的实现,MCS-51单片
机应在唯一的时钟信号控制下,严格地按时序执行进行工作,而时序所研究的是
指令执行中各个信号的关系。
在执行指令时,CPU首先要到程序存储器中取出需要执行的指令操作码,然后译码,
并由时序电路产生一系列控制信号去完成指令所规定的操作。CPU发出的时序信号有两类,
一类用于片内对各个功能部件的控制,这列信号很多.另一类用于片外存储器或I/O端口的
控制,这部分时序对于分析、设计硬件接口电路至关重要。这也是单片机应用系统设计者普
遍关心的问题。
2.5单片机的应用领域
单片机应用领域可以归纳为以下几个方面。
1.智能仪表
用单片机系统取代老式的测量、控制仪表,实现从模拟仪表向数字化、智能化仪
表的转化,如各种温度仪表、压力仪表、流量仪表、电能计量仪表等。
2.测控系统
用单片机取代原有的复杂的模拟数字电路,完成各种工业控制、数据采集系
统等工作。
3.电能变换
应用单片机设计变频调速控制电路。
4.通信
用单片机开发通信模块、通信器材等.
5.机电产品
应用单片机检测、控制传统的机械产品,使传统的机械产品结构简化,控制
智能化,提高了机电产品的可靠性,增强了产品的功能.
6.智能接口
在数据传输中,用单片机实现外部设备与微机通信。
第三章系统设计要求
3.1基本功能
(1)能够显示时分秒
(2)能够调整时分秒
3.2扩展功能
(1)能够任意设置定时时间
(2)定时时间到闹铃能够报警
(3)实现了秒表功能
第四章硬件总体设计方案
用一扬声器来本次设计时钟电路,使用了AT89C51单片机芯片控制电路,单片
机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的
按键来调整时钟的时、分、秒,进行定时提醒,同时使用C语言程序来控制整个
时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、显
示屏即可满足设计要求。
4。1系统功能实现总体设计思路
如图4-10所示为AT89S51芯片的引脚图
此设计原理框图如图4-11所示,此电路包括以下四个部分:单片机,键盘,闹
铃电路及显示电路。
AT89C51
独
立
键
盘
数码管显示
闹铃电路
图4-10AT89S51芯片外部引脚图
图4-11设计原理框图
经多方论证硬件我们小组采用AT89C51单片机和7SED八位共阳极数码管等
来实现单片机电子时钟的功能。
详细元器件列表如表4。12所示:
表4。12详细元器件列表
AT89c511片
7SED八位共阳极数码管1片
NPN三极管1个
104p电容6个
30p电容2个
10K电阻6个
560欧姆电阻8个
200欧姆电阻1个
100欧姆电阻6个
4.2各部分功能实现
(1)单片机发送的信号通过程序控制最终在数码管上显示出来.
(2)单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。
(3)为使时钟走时与标准时间一致,校时电路是必不可少的,键盘用来校正数
码管上显示的时间。
单片机通过控制闹铃电路来完成定时闹钟的功能
4.3系统工作原理
设计的电路主要由四模块构成:单片机控制电路,显示电路、闹铃电路以及校
正电路。
详细电路功能图如图4-30:
详细电路功能图如图4—30
本设计采用C语言程序设计,使单片机控制数码管显示时、分、秒,当秒计
数计满60时就向分进位,分计数器计满60后向时计数器进位,小时计数器按“23
翻0”规律计数.时、分、秒的计数结果经过数据处理可直接送显示器显示。当
计时发生误差的时候可以用校时电路进行校正.设计采用的是时、分、秒显示,
单片机对数据进行处理同时在数码管上显示。
4。4时钟各功能分析及图解
(1)时钟运行图
仿真开始运行时,或按下key4键时,时钟从12:00:00开始运行,其中key2
键对分进行调整,key3对小时进行调整,key6可以让时钟暂停。
时钟运行图如图4-41所示:
(2)秒表计时图
当按下key1键进入秒表计时状态,key6是秒表暂停键,可按key4键跳出
秒表计时状态。
秒表计时图如图4—42所示:
a
b
c
d
e
f
g
dp
abcdefgd
p
8
1
2
3
4
5
6
7
12345678
01
02
03
04
05
06
07
08
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U1
AT89C51
R13
LS1
SPEAKER
X1
12MHz
C7
30p
C8
30p
Q1
PNP
单片机电子时钟
电子信息0701王勇贵曹文忠
刘志强原娟慧
键盘控制区
时间显示区
外设闹铃
核心控制区
秒表调时调分显时闹铃暂停
主要功能:
1、秒表
2、时间调整
3、数字显示
4、闹铃设置
图4-41时钟运行图
图4—42秒表计时图
(3)闹铃设置图及运行图
a
b
c
d
e
f
g
dp
abcdefgd
p
8
1
2
3
4
5
6
7
12345678
01
02
03
04
05
06
07
08
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U1
AT89C51
R13
LS1
SPEAKER
X1
12MHz
C7
30p
C8
30p
Q1
PNP
单片机电子时钟
电子信息0701王勇贵曹文忠
刘志强原娟慧
键盘控制区
时间显示区
外设闹铃
核心控制区
秒表调时调分显时闹铃暂停
主要功能:
1、秒表
2、时间调整
3、数字显示
4、闹铃设置
当按下key5,开始定时,分别按key2调分,key3调时设置闹铃时间,然后
按下key4键恢复时钟运行状态(图4-43)当闹铃设置时间到时,蜂鸣器将发出
10秒中蜂鸣声(图4—44)。
a
b
c
d
e
f
g
dp
ab
c
de
f
gd
p
8
1
2
3
4
5
6
7
12345678
01
02
03
04
05
06
07
08
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U1
AT89C51
R13
LS1
SPEAKER
X1
12MHz
C7
30p
C8
30p
Q1
PNP
单片机电子时钟
电子信息0701王勇贵曹文忠
刘志强原娟慧
键盘控制区
时间显示区
外设闹铃
核心控制区
秒表调时调分显时闹铃暂停
主要功能:
1、秒表
2、时间调整
3、数字显示
4、闹铃设置
图4—43闹铃时间设置图
该数字钟是用一片AT89C51单片机通过编程去驱动8个数码管实现的。通过
6个开关控制,从上到下6个开关KEY1—KEY6的功能分别为:KEY1,切换至秒
表;KEY2,调节时间,每调一次时加1;KEY3,调节时间,每调一次分加1;KEY4,
从其它状态切换至时钟状态;KEY5,切换至闹钟设置状态,也可以对秒表清零;
KEY6,秒表暂停。控制键分别与P1。0~P1。5口连接.其中:
A通过P2口和P3口去控制数码管的显示如图所示P2口接数码管的a——g
端,是控制输出编码,P3口接数码管的1-—8端,是控制动态扫描输出.
B从P0。0输出一个信号使二极管发光,二极管在设置的闹钟时间到了时候
发光,若有乐曲可以去驱动扬声器实现。
a
b
c
d
e
f
g
dp
ab
c
de
f
gd
p
8
1
2
3
4
5
6
7
12345678
01
02
03
04
05
06
07
08
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U1
AT89C51
R13
LS1
SPEAKER
X1
12MHz
C7
30p
C8
30p
Q1
PNP
单片机电子时钟
电子信息0701王勇贵曹文忠
刘志强原娟慧
键盘控制区
时间显示区
外设闹铃
核心控制区
秒表调时调分显时闹铃暂停
主要功能:
1、秒表
2、时间调整
3、数字显示
4、闹铃设置
图4—44闹铃运行图
4.5电路功能使用说明
(1)各个控制键的功能:可对时间进行校准调节(只能加1);按下设置键
数字时钟进入闹钟设置状态,设置闹钟的时间;时加1、分加1键是在校准
时间时或设置闹钟时间对小时数或分钟数调节而设置的;按下秒切换键就
可以进入秒表模式,同时秒表也开始计时,按下秒表暂停、复位键就暂停、
归零,如果要重新对秒计时则可以按秒表开始、复位;清零键可以对闹钟清
零。
(2)AT89C51单片机,通过编写程序对数码显示进行控制。
(3)八个7段数码管显示时钟和秒表信号
第五章软件总体设计方案
5.1主程序流程图
软件程序从开始执行,先通过初始化各个寄存器,经过扫描按键来决定是否
设定参数来执行相应功能的程序,进而在数码管上显示.如图5—10:
图3-1主程序流程图
开始
定时器及中断定时器初始化
执行时钟秒表
闹铃设定程序
是否设定参
数
执行显示程序
N
Y
5.2总中断程序流程
分数值inute加
归零
Tcount加1
返回主程序
实数值加
归零
>23
时数值归零
Tount1=10
0?
秒数值
加
1cond归零
执行闹钟程序p0.0=1
判断时间
与闹钟时
闹钟程序是否行
完全
=60?
=60?
恢复初值保护
图5-20中断流程图
时间的显示通过此中断程序来控制,并且通过与设定的时间进行比较来判断
是否让闹铃工作。程序中包含时间的设定,如设定tcount来使秒等工作,进而来
控制分和时。如上图图5-20。
A.秒表中断程序流程
秒表功能通过另一个程序来实现。通过保护主程序的数据来进行秒表功能。
程序中需要设置秒表的具体显示方法。如图5-3:
N
N
图5—3秒表中断程序流程图
恢复初值保护
10ms计数器加1恢复初值保护
秒计数器加1,10ms计数器归零,即c++,ms=0
Sec>60?
Ms>100?
输出字码,中断结束,返回上级主程序
分计数器加1,秒计数器归零,即minit++,c=0
B.按键程序流程
图5-4为时钟和闹钟的调节,程序中通过扫描来判断按键是否按下进行时间和
闹钟的调节.
程序初始化
时十位归零alarms【7】
=0
分时位归零
alarms[4]=0
分十位归零
输出时钟时十
位加一
输出闹钟时个位
加一,延时
输出时钟十位加一
输出时钟十个
位加一
输出时钟分个位
加一,延时
输出闹钟时
分位加一
输出闹钟时十位
加一
输出闹钟分
个位加一,
时十位归零
判断标志
位是否为
Alarms[4]>2
Alarms[7]
>2Alarms【3】>0
Dat1[6]>
9
Dat1[7]
Alarms[6]
>9
Dat1[3]>9
Dat1[4]>2
判断标志是
否为零
判断时i加键
是否按下
判断分加键
是否按下
图5-4按键程序流程图
图5—5为进入中断和清零图,程序中通过扫描来判断按键是否按下进行执行相
应的中断来事实现相应的功能.
判断分加键
tminute是否按
下,P1.1=0
判断秒表
miaobiao1
是否按下按
下,P1.0=0
判断清零键
miaobiao2是否按
下,P1.3=0
进入秒表中断,执
行秒表中断程序
返回上级主程序
清零所有的计数器,各
个显示的字码。
图5—5中断和清零程序流程图
5。3控制电路的C语言源程序
根据流程图,经过认真分析得出控制电路的源程序如下:
#include
#defineucharunsignedchar
#defineuintunsignedint
#definedelay_time3/*宏定义*/
uchark,dat[]={0,0,0,0,0,0,0,
0};
uinttcount,t,u;
uchardat1[]={0,0,0,0,0,0,2,1};
uchardat2[]={0,0,0,0,0,0,
0,0};
ucharalarms[]={0,0,0,0,0,0,0,0};
uchardis_bit[]={0x80,0x40,0x20,
0x10,0x08,0x04,0x02,0x01};
unsignedcharcodeSEG7[11]=
{0xC0,/*0*/
0xF9,/*1*/
0xA4,/*2*/
0xB0,/*3*/
0x99,/*4*/
0x92,/*5*/
0x82,/*6*/
0xF8,/*7*/
0x80,/*8*/
0x90,/*9*/
0xBF,/*—*/
};/*数字显示数组*/
sbitmiaobiao1=P1^0;
sbittminute=P1^1;
sbitthour=P1^2;
sbitmiaobiao2=P1^3;
sbitalarm=P1^4;
sbitP0_0=P0^0;
sbitP1_5=P1^5;
sbitP1_6=P1^6;
sbitP1_7=P1^7;/*端口定义*/
ucharms=0;
ucharflag=0;
ucharc=0;
ucharminit=0;
structtime{ucharcond;uchar
minute;ucharhour;}大学生求职信 time1;
ucharn,i;
voiddelay(n)
{while(n--)
{
for(i=120;i>0;i—-);
}
}
/*延时子程序*/
voidmodify(void)
{
EA=0;
if(thour==0)
{
if(flag==0)
{
dat1[6]++;delay(280);
if(dat1[6]〉9)
{
dat1[6]=0;
dat1[7]++;
}
elif((dat1[7]>1)&&
(dat1[6]>3))
{dat1[7]=0;
dat1[6]=0;}
}
if(flag==1)
{
alarms[6]++;delay(300);
if(alarms[6]>9)
{
alarms[6]=0;alarms[7]++;
if(alarms[7]>2)
{
alarms[7]=0;
}
}
dat[6]=alarms[6];
dat[7]=alarms[7];
}
}
if(tminute==0)
{
if(flag==0)
{
dat1[3]++;delay(280);
if(dat[3]〉=9)
{
dat1[4]++;dat1[3]=0;
if(dat1[4]〉5)
{
dat1[4]=0;
}
}
}
if(flag==1)
{
alarms[3]++;delay
(300);
if(alarms[3]>9)
{
alarms[4]++;alarms[3]=0;
if(alarms[4]〉5)
{
alarms[4]=0;
}
}
dat[3]=alarms[3];
dat[4]=alarms[4];
}
}
if(miaobiao1==0)
{TR0=0;ET0=0;TR1=1;ET1=1;
}
if(miaobiao2==0)
{
TR0=1;ET0=1;TR1=0;ET1=0;
dat2[0]=0;
dat2[1]=0;
dat2[3]=0;
dat2[4]=0;
dat2[6]=0;
dat2[7]=0;
ms=0;
c=0;
minit=0;
}
if(P1_5==0)
{
TR0=0;ET0=0;TR1=0;
ET1=0;
}
if(alarm==0)
{
TR0=0;ET0=0;TR1=0;
ET1=0;flag=1;
dat[0]=0;
dat[1]=0;
dat[2]=10;
dat[3]=0;
dat[4]=0;
dat[5]=10;
dat[6]=0;
dat[7]=0;
}
EA=1;
}/*按键扫描*/
voidinit(void)
{
TMOD=0x11;
TH0=0xDB;
TL0=0xFF;
TH1=0xDB;
TL1=0xFF;
ET0=1;//10ms
ET1=1;
//TR1=1;
TR0=1;
tcount=0;
ms=0;
c=0;
minit=0;
EA=1;
}/*初始化*/
voidtest(void){
for(k=0;k〈8;k++)
{
P3=dis_bit[k];
P2=SEG7[dat[k]];delay(1);
P3=0X00;
}
}/*数字显示*/
voidmain()
{init();
delay(10);
while(1)
{
modify();
test();
}
}/*主函数*/
Voiddiplay()interrupt1
{
ET0=0;
TR0=0;
TH0=0xDB;
TL0=0xff;
TR0=1;
tcount++;
if(tcount==100)
{
++;
tcount=0;
dat1[0]=(time1。cond)%10;
dat1[1]=(time1。cond)/10;
}
if(==60)
{dat1[0]=0;dat1[1]=0;
=0;
time1。minute++;
dat1[3]=(time1。minute)%10;
dat1[4]=(time1。minute)/10;
}
if(==60)
{
=0;
++;
dat1[6]=time1。hour%10;
dat1[7]=time1。hour/10;
}
if(>23)
{
=0;
}
dat[5]=10;
dat[2]=10;
dat[0]=dat1[0];
dat[1]=dat1[1];
dat[3]=dat1[3];
dat[4]=dat1[4];
dat[6]=dat1[6];
dat[7]=dat1[7];
flag=0;
P0=0x01;
if((alarms[7]==dat1[7])&&
(alarms[6]==dat1[6])&
&(alarms[4]==dat1[4])&&
(alarms[3]==dat1[3])&&(dat1[1]〈1))
{
P0=0x00;
}
ET0=1;
}
voidtime_2(void)interrupt3
{
EA=0;
TR0=0;
TH1=0xDB;
TL1=0xFF;
TR1=1;
ms++;
dat2[0]=ms%10;
dat2[1]=ms/10;
if(ms〉=100)
{
ms=0;
c++;
dat2[3]=c%10;
dat2[4]=c/10;
if(c〉=60)
{
c=0;
minit++;
dat2[6]=minit%10;
dat2[7]=minit/10;
}
}
dat[5]=10;
dat[2]=10;
dat[0]=dat2[0];
dat[1]=dat2[1];
dat[3]=dat2[3];
dat[4]=dat2[4];
dat[6]=dat2[6];
dat[7]=dat2[7];
EA=1
第六章课程设计结果分析白暨豚
此时钟设计是利用protues仿真软件进行仿真,基本上实现了课程设计要求
实现的功能。
硬件部分设置了的六个按键。当按键一按下时,进入秒表显示状态,秒表开
始计时,当按键六按下时,秒表暂停;当按键四按下时恢复到时间显示功能;当按
键二按下时,进入调分状态,按一次,分加一,60一循环;按键三按下时,进入
调时状态,按一次,时加一,60一循环;按键五按下时,进入闹铃设置功能,紧
接着按下按键二和按键三进行时和分的设置,再按下按键4恢复显示时间,当显
示的时间和定时设置的时间一致时,蜂鸣器发出蜂鸣声,蜂鸣时间我们设置为10
秒.
另外,闹铃电路有音乐闹钟的扩展的功能(可以将蜂鸣器换成扬声器再加一
段音乐程序即可实现).
调试阶段,出现一些问题.比如,实际小时显示到29才归零,分钟显示到60才进一……
经过软件调试成语故事大全 ,以上问题均一一排除,结果达到预期目标。但时间有限,部分扩展功能不能
及时实现,比如音乐闹铃.
第七章结论与展望
7。1结论
单片机多功能定时系统理论上能很好的达到了学校教学要求,发挥了单片机
在智能化方面的应用。该系统的设计很好的满足当前学校教学的需要,是一个理
想的智能化的设计。它具有一个走时精确的实时钟,可以任意设置时间,可以控
制时间表的转换,时钟的显示功能等。可以通过按键操作和数字显示。该系统规
模小,但是功能较多,操作简单,造价低,应用非常广泛.该系统的设计为向家
庭数字化方向发展又前进了一步。同时又扩大了单片机的应用领域。
7.2单片机的发展趋势
自单片机出现至今,单片机技术已走过了几十年的发展路程。纵观几十年来
单片机发展历程可以看出,单片机技术的发展以微处理器(MPU)技术及超大规模
集成电路技术的发展为先导,拉动广泛的应用领域,表现出比微处理器更具个性
的发展趋势:
1.采用先进结构以实现高性能
在过去的一段时间内,单片机的指令运行速度一直在10MIPS以下,这对于
应用在工业控制领域内的单片机来说是足够了,但当单片机被应用在通讯及DSP
领域作为高速运算、编码或解码时,就会出现因指令运行速度不够而限制单片机
应用的情形,因此提高单片机指令运行速度已经成为迫切需要解决的问题。
2.进一步降低功耗、
基于80C51的飞利浦低功率、低系统成本微控制器51LPC系列是业界推动
单片机向低功耗方向发展的主导单片机系列之一.51LPC系列单片机采用以下三
种方法降低功耗:
(1)使系统进入空闲模式,在空闲模式下,只有外围器件在工作,任意的复
位及中断均可结束空闲模式;
(2)使系统进入低功耗模式,在低功耗模式下,振荡器停止工作,是功耗降
到最小
(3)使系统财务erp 进入低电压EPROM操作;EPROM包含了模拟电路,当Vcc高于
4V时,可通过软件使这些模拟电路掉电以降低功耗,在上电情况下可使系统退关于彩虹的诗句 出
该模式。
3。采用FlashMemory
随着半导体工艺技术的不断进步,MPU的Flash版本逐渐替代了原有的OTP
版本。FlashMPU具有以下优点:与多次可编程的窗口式EPROM相比,FlashMPU
的成本要低得多;在系统编程能力以及产品生产方面提供了灵活性,因为Flash
MPU可在编程后面再次以新代码重新编程;可减少已编程器件的报废和库存;有
助于生产厂商缩短设计周期,使终端用户产品和、更具有竞争力.
4。集成更多功能及兼容性
目前单片机的另一个发展趋势是在芯片上集成更多的功能。如模拟功能,包
括模拟比较器、A/D和D/A转换器等。具体表现在:兼容性作为设计的第一考虑;
额外的新的特点是透明的;使用同一种编程器;OTP使器件快速提升及标准化成
为可能.
5.强抗干扰能力
不断加强抗干扰能力是单片机进一步发展的必然趋势.ST
Microelectronics公司推出的ST62系列单片机在这方面是佼佼者,其优良的抗
干扰能力使得许多大公司将其应用在系统中的关键部件上。许多单片机开发商也
正朝着这个方向努力。
6。朝系列化、全面化方向发展
各大单片机开发商在增加产品功能的同时效力于形成产品的系列化=全面
化,以满足各种控制领域的要求,这也是单片机发展的趋势之一。日本TOSHBA
公司开发了从4位到64位的多系列单片机,日立公司也有从4.位到32位的单片
机,目前还没有哪个厂家生产的单片机比东芝公司的种类多。
随着单片机性能的不断提高,不断的克服和弥补自身的不足。在各种控制领域,单片机
将拥有更加广阔的使用天地.在很长的一段时间内,它将一直是工程设计人员的首选控制芯
片之一。
致谢
本课题在选题及进行过程中得到了席东河老师的悉心指导.在硬件电路设计当中席老师
帮助分析思路,开拓视角;在软件设计中席老师帮助调试及修改程序.席老师严谨求实的治
学态度,踏实坚韧的工作精神将使我们终身受益。再多华丽的言语也显得苍白。在此,谨向
席东河老师致以诚挚的谢意和崇高的敬意!
参考文献
[1]李叶紫.王喜斌.胡辉。孙东辉.编著MCS_51单片机应用教程清华大学出版社.2008.6.
[2]陆剑.单片机应用技术指导书河南工业职业技术学院2005.12。
[3]汪道辉。单片机系统设计与实践。电子工业出版社
(50页时、分、秒计时器设计,59页键盘及接口技术).
[4]第二版。51系列单片机设计实例。北京航空航天大学出版社(81-89页数码管时钟
电路的设计)。
[5]辛友顺、胡永生、薛小玲。单片机应用系统设计与实现。福建科学技术出版社(184-186
页LED显示接口,190-193页键盘接口).
[6]黄庆华、张永格。单片机开发与实例.电子工业出版社(127—162页数字式电子时
钟的设计).
[7]闫玉德、俞红。MCS—51单片机原理与应用(C语言版)。机械工业出版社(49—104
页单片机的C程序设计).
[8]求是科技。单片机典型模块设计实例导航.人民邮电出版社(85-90页单片机数字时
钟)。
[9]刘守义,王静霞.《单片机应用技术》。西安电子科技大学出版社,2002。
本文发布于:2023-03-18 19:30:26,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/1679139027148415.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:自动化论文.doc
本文 PDF 下载地址:自动化论文.pdf
留言与评论(共有 0 条评论) |