单片机数字时钟报告1Word格式文档下载.docx
- 文档编号:17231359
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:27
- 大小:200.29KB
单片机数字时钟报告1Word格式文档下载.docx
《单片机数字时钟报告1Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机数字时钟报告1Word格式文档下载.docx(27页珍藏版)》请在冰豆网上搜索。
论文涵盖了从需求分析,系统设计,编程,原理图,PCB图等设计的基本过程。
摘要……………………………………………………………………............................1
目录……………………………………………………………………………………....2
第1章绪论……………………………………………………………………………..4
1.1课题背景…………………………………………………………………………..…4
1.2课题来源………………………………………………………………………….…4
第2章MCS-51单片机的知识介绍………………………………………..…………4
2.1单片机介绍………………………………………………………………………..…4
2.2单片机的应用领域……………………………………………………………….…5
2.3单片机的中断与定时系统………………………………………………….………5
2.3.1MCS-51单片机中断系统………………………………………..………………5
2.3.2MCS-51单片机的定时器/计数器…………………………………………...……7
2.3.3MCS-51定时器/计数器的四种工作方式………………………….……7
2.3.4MCS-52的引脚说明…………………………………………………………….…8
第3章数字钟原理图元件清单及设计方案…………………………………..………9
3.1时钟电路原理图…………………………………………………………………..…9
3.2单片机最小系统…………………………………………………………………..…9
3.3显示器工作原理………………………………………………………………….…10
3.4元件清单……………………………..………………………………………..……10
3.5设计方案与实现…………………………………………..…………………………11
3.6AT89C51介绍…………………………………………………………………...……11
3.6.1存储器的结构…………………………………………………………………...…11
第4章电路的硬件设计………………………………………………………….……12
4.1数字钟硬件框图……………………………………………………………….……12
4.2程序整体设计……………………………………………………………….………13
4.3数字中的操作…………………..……………………………………………...……14
第5章数字中的工作原理介绍………………………………..……………..………14
5.1实现时钟计时的基本方法…………………………..…………………………..…15
5.2数字钟的时间显示………………………..……………………………………..…15
5.3计时………………………..………………………………………………..………15
5.4键盘/显示……………………..……………………………………………….15
第6章软件设计与源程序代码………………..………………………………….…15
6.1软件选择与介绍……………………..………………………………….……….…15
6.1.1软件介绍………………..……………………………………………..…………15.
6.1.2该软件的特点………………..……………………………………..……………16
6.2源程序代码……………………..…………………………………….……………17
第7章结论与总结…………………..…………………………………….…………29
参考文献…………………..……………………………………………………...……30
第1章绪论
1.1课题背景
单片机(Microcontrollers)诞生于1971年,经历了SCM、MCU、SOC三大阶段,早期的SCM单片机都是8位或4位的。
由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。
本文讨论的单片机AT89C51可调数字钟系统设计的核心是目前应用极为广泛的51系列单片机,可调数字钟配置了外围设备,构成了一个可编程的计时定时系统,具有体积小,可靠性高,功能强等特点。
不仅能满足所需要求而且还有很多功能可供开发,有着广泛的应用领域。
20世纪80年代中期以后,Intel公司以专利转让的形式把8051内核技术转让给许多半导体芯片生产厂家,如ATMEL、PHILIPS、ANALOG、DEVICES、DALLAS等。
这些厂家生产的芯片是MCS-51系列的兼容产品,准确地说是与MCS-51指令系统兼容的单片机。
这些兼容机与8051的系统结构(主要是指令系统)相同,采用CMOS工艺,因而,常用80C51系列来称呼所有具有8051指令系统的单片机,它们对8051单片机一般都作了一些扩充,更有特点。
1.2课题来源
在日常生活和工作中,我们常常用到定时控制,如扩印过程中的曝光定时等。
早期常用的一些时间控制单元都使用模拟电路设计制作的,其定时准确性和重复精度都不是很理想,现在基本上都是基于数字技术的新一代产品,随着单片机性能价格比的不断提高,新一代产品的应用也越来越广泛,它功能强大,体积小,质量轻,灵活好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品。
随着电子技术的飞速发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使用起来很不方便。
根据这种实际情况,设计了一个单片机多功能时间系统,它可以避免多种控制器的混淆,利用一个控制器对多路电器进行控制,同时又可以进行时钟校准,可以任意设置时间。
第2章MCS-51单片机的知识介绍
2.1单片机介绍
51单片机是对所有兼容Intel8031指令系统的单片机的统称。
该系列单片机的始祖是Intel的8004单片机,后来随着Flashrom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。
51单片机是基础入门的一个单片机,还是应用最广泛的一种。
需要注意的是51系列的单片机一般不具备自编程能力.
8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。
图2.18051内部结构
2.2单片机的应用特点
随着集成电路技术的发展,单片机的功能越变越强,涉及到各个电子应用领域。
目前单片机的系列也十分多,各有各的特点,如目前的MCS-51系列、PIC系列等等,通过这几年的应用,普通感觉到特别需要单片机具有如下几个应用特点:
(一)低功耗、宽电压工作范围,内部看门狗。
(二)高速指令系统,单字节指令,精简指令集易学易用。
(三)内部ROM结构,且具有廉价OTP(一次性写入程式)ROM,以便小批量生产,减少MASK风险。
(四)程序保密功能,防止拷贝,保护成果。
(五)方便的开发工具(仿真器与烧入器)。
2.3单片机的中断与定时系统
2.3.1MCS-51单片机中断系统
中断是一项重要的计算机技术,采用中断技术可以使多项任务共享一个资源,所以中断技术实质上就是一种资源共享技术。
MCS-51是一个多中断源的单片机,以80C51为例,有三类共五个中断源,分别是外部中断两个,定时中断两个和串行中断一个。
1.外中断
外中断是由外部原因引起的,共有两个中断源,即外部中断0和外部中断1。
它们的中断请求信号分别由引脚INT0(P3.2)和INT1(P3.3)引入。
2.定时中断:
定时中断是为满足定时或计数的需要而设置的。
3.串行中断:
串行中断是为串行数据传送的需要而设置的。
中断控制:
这里所说的中断控制是指提供给用户使用的中断控制手段,实际上就是一些专用寄存器。
在MCS-51单片机中,用于此目的的控制寄存器共有四个,即定时器控制寄存器、中断允许控制寄存器、中断优先控制寄存器以及串行口控制寄存器。
1.定时器控制寄存器(TCON)
位地址
8F
8E
8D
8C
8B
8A
89
88
位符号
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
该寄存器用于保存外部中断请求和以及定时器的计数溢出。
寄存器地址88H,位地址8FH~88H。
这个寄存器既有定时器/计数器的控制功能又有中断控制功能,其中与中断有关的控制位共六位:
IE0和IE1、IT0和IT1以及TF0和TF1。
2.中断允许控制寄存器(IE)寄存器地址A8H,位地址AFH~A8H。
AF
AE
AD
AC
AB
AA
A9
A8
EA
/
ES
ET1
EX1
ET0
EX0
其中与中断有关的控制位共六位:
EA、EX0和EX1、ET0和ET1、ES。
3.中断优先级控制寄存器(IP)
BF
BE
BD
BC
BB
BA
B9
B8
PS
PT1
PX1
PT0
PX0
MCS-51的中断优先级控制只定义了高、低两个优先级。
IP寄存器地址B8H,位地址为BFH~B8H。
寄存器的内容及位地址表示如下:
PX0外部中断0优先级设定位
PT0定时中断0优先级设定位
PX1外部中断1优先级设定位
PT1定时中断1优先级设定位
PS串行中断优先级设定位
为0的位优先级为低;
为1的位优先级为高。
中断响应:
中断响应就是对中断源提出的中断请求的接受,是在中断查询之后进行的,当查询到有效的中断请求时,紧接着就进行中断响应。
中断响应的主要内容是由硬件自动生成一条长调用指令LCALL。
在MCS-51单片机中,这些入口地址已由系统设定。
服务程序。
因此通常总是在各中断区入口地址处放置一条无条件转移指令,使程序执行转向在其它地址存放的中断服务程序。
中断返回:
中断响应后就转去执行中断服务程序,完成所需要的操作。
中断服务程序的最后一条指令必须是中断返回指令RETI,CPU执行这条指令时,把响应中断时置位的优先级触发器复位,再从堆栈中弹出断点地址送入程序计数器PC,以便从断点处重新执行被中断的主程序。
2.3.2MCS-51单片机的定时器/计数器
MCS-51单片机共有两个可编程的定时器/计数器,分别称定时器/计数器0和定时器/计数器1。
它们都是十六位加法计数结构,分别由TH0(地址8CH)和TL0(地址8AH)及TH1(地址8DH)和TL1(地址8BH)两个8位计数器组成。
这四个计数器均属专用寄存器之列。
MCS-51的每个定时器/计数器都具有定时和计数两种功能。
1.计数功能:
所谓计数是指对外部事件进行计数。
外部事件的发生以输入脉冲表示,因此计数功能的实质就是对外来脉冲进行计数。
2.定时功能:
定时功能也是通过计数器的计数来实现的。
不过此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲。
也就是每个机器周期计数器加1。
由于一个机器周期等于12个振荡脉冲周期,因此计数频率为振荡频率的1/12。
定时器/计数器提供给用户使用的有:
八位计数器TH和TL,以及有关的控制位。
这些内容只能以软件方法使用。
2.3.3MCS-51定时器/计数器的四种工作方式
1.定时工作方式0
方式0是13位计数结构的工作方式,其计数器由TH0全部8位和TL0的低5位构成。
当TL0的低5位计数溢出时,向TH0进位,而全部13位计数溢出时,则向计数溢出标志位TF0进位。
2.定时工作方式1
方式1是16位计数结构的工作方式,计数器由TH0全部8位和TL0全部8位构成。
3.定时工作方式2
工作方式2是自动重新加载工作方式。
在这种工作方式下,把16位计数器分为两部分,即以TL作计数器,以TH作预置寄存器,初始化时把计数初值分别装入TL和TH中。
当计数溢出后,不是像前两种工作方式那样通过软件方法,而是由预置寄存器TH以硬件方法自动给计数器TL重新加载。
变软件加载为硬件加载。
初始化时,8位计数初值同时装入TL0和TH0中。
当TL0计数溢出时,置位TF0,同时把保存在预置寄存器TH0中的计数初值自动加载TL0,然后TL0重新计数。
如此重复不止。
这不但省去了用户程序中的重装指令,而且也有利于提高定时精度。
但这种工作方式下是8位计数结构,计数值有限,最大只能到255。
这种自动重新加载工作方式非常适用于循环定时或循环计数应用,例如用于产生固定脉宽的脉冲,此外还可以作串行数据通信的波特率发送器使用。
2.3.4MCS-51的引脚说明
1.电源引脚:
(1)Vcc(40脚):
+5V电源;
(2)Vss(20脚):
接地。
2.时钟引脚
(1)XTAL1(19脚):
如果采用外接晶体振荡器时,此引脚应接地。
(2)XTAL2(18脚):
接外部晶体的另一端。
2.2.2控制引脚
(1)RST/VPD(9脚):
复位与备用电源。
(2)ALE/PROG*(30脚):
第一功能ALE为地址锁存允许,可驱动8个LS型TTL负载。
PROG*为本引脚的第二功能。
为编程脉冲输入端。
(3)PSEN*(29脚):
读外部程序存储器的选通信号。
可以驱动8个LS型TTL负载。
(4)EA*/VPP(EnableAddress/VoltagePulseofPrograming,31脚)EA*为内外程序存储器选择控制端。
EA*=1,访问片内程序存储器,但在PC(程序计数器)值超过0FFFH(对于8051、8751)时,即超出片内程序存储器的4K字节地址范围时,将自动转向执行外部程序存储器内的程序。
EA*=0,单片机则只访问外部程序存储器。
VPP为本引脚的第二功能。
用于施加编程电压(例如+21V或+12V)。
对89C51,加在VPP脚的编程电压为+12V或+5V。
2.2.3I/O口引脚
(1)P0口:
双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用口,可驱动8个LS型TTL负载。
(2)P1口:
8位准双向I/O口,可驱动4个LS型TTL负载。
(3)P2口:
8位准双向I/O口,与地址总线(高8位)复用,可驱动4个LS型TTL负载。
(4)P3口:
8位准双向I/O口,双功能复用口,可驱动4个LS型TTL负载。
要特别注意准双向口与双向三态口的差别。
当3个准双向I/O口作输入口使用时,要向该口先写“1”,另外准双向I/O口无高阻的“浮空”状态。
第3章数字钟原理图元件清单及设计方案
3.1时钟电路原理图
图3-1时钟电路原理图
3.2单片机最小系统
单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。
对51系列单片机来说,最小系统一般应该包括:
单片机、晶振电路、复位电路。
下面给出一个51单片机的最小系统电路图。
图3-2最小系统电路图
复位电路:
由电容串联电阻构成,由图并结合"
电容电压不能突变"
的性质可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定。
典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位。
晶振电路:
典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作)特别注意:
对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;
当接低电平时,复位后直接从外部ROM的0000H开始执行。
3.3显示器工作原理
系统采用动态显示方式,用P0口来控制LED数码管的段控线,而用P2口来控制其位控线。
动态显示通常都是采用动态扫描的方法进行显示,即循环点亮每一个数码管,这样虽然在任何时刻都只有一位数码管被点亮,但由于人眼存在视觉残留效应,只要每位数码管间隔时间足够短,就可以给人以同时显示的感觉。
3.4元件清单
元件名称
规格型号
数量(个)
单片机
AT89c51
1
晶振
11.0592MHz
电容
30pF
2
22μF
按键
BUTTON
4
排阻
RESPACK-8/10K
锁存器
74ls245
液晶显示
7SEG-MPX6-CC
表3.4电子钟元器件清单
3.5设计方案与实现
本课题采用软件程序设计的方案,利用MCS—51内部的定时/计数器进行中断定时,LED数码显示器和按键,配合软件延时实现时、分、秒的计时。
运用串行通信方式且计时不占用CPU时间,能够充分利用好CPU。
二、软件流程及储器地址分配:
⑴主程序:
初始化与按键监控。
⑵计时子程序:
为定时器1中断服务子程序,完成刷新计时缓冲区的功能。
⑶时间设置:
由按键输入设置当前时间。
⑷显示:
完成6位动态显示。
⑸按键扫描:
判断是否有键按下,并取键号。
(6)其它辅助子程序,如按键设置、显示、延时等。
三、完成功能:
⑴时间显示:
上电后系统自动进入时钟显示从00:
00:
00开始计时,此时可以设定当前时间。
⑵时间调整:
按下k1键,系统停止计时,进入设定状态,系统保持原有显示,等待键入当前时间,按下k2,k3键可以顺序设置时、分,并在相应数码管上显示设置值,直至6位设置完毕,放开k4开始计时显示。
3.6AT89C51介绍
3.6.1存储器的结构
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51有PDIP,PLCC,TQFP三种封装方式,其中最常见的就是采用40PIN封装的双列直接PDIP封装。
芯片共有40个引脚,引脚的排列顺序为从靠芯片的缺口左边那列逆时针数起,依次为1,2,3,4。
。
40,其中芯片的1脚顶上有一个凹点。
在单片机的40个引脚中,电源引脚2根,外接晶体振荡器引脚2根,控制引脚4根以及4组8为可编程I/O引脚32根。
数据存储器:
AT89C51有256字节片内数据存储器。
高128字节与特殊功能寄存器重叠。
也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。
当一条指令访问高于7FH的地址时,寻址方式决定CPU访问高128字节RAM还是特殊功能寄存器空间。
直接寻址方式访问特殊功能寄存器(SFR)。
第4章电路的硬件设计
4.1数字钟硬件框图
1、数字钟的构成:
振荡器、分频器、计数器、译码器、显示器等几部分
2、数字钟的时、分、秒实际上就是由一个24进制计数器(00-23),两个60进制计数器(00-59)级联构成。
设计数字钟实际上就是计数器的级联。
3、60进制计数器的设计
4、24进制计数器的设计
5、计数器的级联设计。
图4.1
(二)数字钟设计要点:
EWB软件本身提供任意频率的时钟,因此振荡器、分频器不需设计;
另外EWB软件也带有内置译码驱动的数码管,故此译码器和显示器也不需设计。
这样,数字钟的设计实际上就是设计如下图的计数器
EWB软件本身提供任意频率的时钟,因此振荡器、分频器不需设计;
4.2程序整体设计
定时模块,显示模块,数据调整模块,状态调整模块。
(1)总体介绍:
此部分主要介绍定时模块,和显示模块。
定时部分采用经典的定时器定时。
它实现了数字钟的主要部分,和秒表的主要部分,以及产生报时信号,定时设置。
显示模块是实现数字钟的又一重要部分,其模块的的独立程度直接影响到数字钟的可视化程度。
在此部分的设计中,设置专用显示数据缓冲区40h--45h,与分,时及其他数据缓冲区数据区别,在其中存放的是显示段码,而其他缓冲区存放的是时间数据。
在显示时,首先将时间十进制数据转化为显示段码,然后送往数码管显示。
显示段码采用动态扫描的方式。
在要求改变显示数据的类别时,只须改变@R0(指向数据缓冲区的指针)指向的十进制数据缓冲区即可。
(2)数据调整:
数据调整有多种方式。
一,可以直接进入相关状态进行有关操作,二,将调整分两步,先进入状态,然后执行操作,这两步分别由两个键控制。
方式一,比较直接,设计思想也比较简单,但是,这种方式存在操作时间和控制键数目的矛盾。
如果用比较少的键,那么可能会在进入状态后处于数据调整等待状态,这样会影响到显示的扫描速度。
当然在这种方式下,还可以使用多个状态键,每个状态键,完成一个对应数据的调整。
如果采用二的方式,就不会出现这种情况。
因为状态的调整,与状态的操作可以分别由两个键控制,其状态的调整数可以多达256个,操作的完成是这样的,一键控制状态的调整,一键控制数据的调整。
以上两种方式的实现都可以采用查询和中断的方式。
两种方式必须注意的问题是两者进行相关操作的过程不能太长否则会影响显示的扫描。
利用查询的方式,方法传统,对此就不作过多的讨论,以下是采用中断的方式实现的数字钟的一些讨论和有关问题作的一些处理。
基于以上的讨论可以设计如下:
将调整分为状态调整和数据调整两部分,每次进入中断只执行一次操作,然后返回,这样,就不必让中断处于调整等待状态,这样,可以使中断的耗时很小。
将定时器中断的优先级设置为最高级,那么中断的方式和查询的方式一样不会影响到时钟的记数。
关于程序数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 数字 时钟 报告