基于51单片机的电子时钟系统Word文件下载.docx

上传人:b****3 文档编号:16288534 上传时间:2022-11-22 格式:DOCX 页数:16 大小:195.98KB
下载 相关 举报
基于51单片机的电子时钟系统Word文件下载.docx_第1页
第1页 / 共16页
基于51单片机的电子时钟系统Word文件下载.docx_第2页
第2页 / 共16页
基于51单片机的电子时钟系统Word文件下载.docx_第3页
第3页 / 共16页
基于51单片机的电子时钟系统Word文件下载.docx_第4页
第4页 / 共16页
基于51单片机的电子时钟系统Word文件下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

基于51单片机的电子时钟系统Word文件下载.docx

《基于51单片机的电子时钟系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于51单片机的电子时钟系统Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。

基于51单片机的电子时钟系统Word文件下载.docx

(三)内部ROM结构,且具有廉价OTP(一次性写入程式)ROM,以便小批量生产,减少MASK风险。

(四)程序保密功能,防止拷贝,保护成果。

(五)方便的开发工具(仿真器与烧入器)

MCS-51单片机中断系统

中断是一项重要的计算机技术,采用中断技术可以使多项任务共享一个资源,所以中断技术实质上就是一种资源共享技术。

中断源

MCS-51是一个多中断源的单片机,以80C51为例,有三类共五个中断源,分别是外部中断两个,定时中断两个和串行中断一个。

1.外中断

外中断是由外部原因引起的,共有两个中断源,即外部中断0和外部中断1。

它们的中断请求信号分别由引脚INT0(P3.2)和INT1(P3.3)引入。

外部中断请求有两种信号方式,即电平方式和脉冲方式,可通过有关控制位进行定义。

2.定时中断

定时中断是为满足定时或计数的需要而设置的。

3.串行中断

串行中断是为串行数据传送的需要而设置的。

中断控制

这里所说的中断控制是指提供给用户使用的中断控制手段,实际上就是一些专用寄存器。

在MCS-51单片机中,用于此目的的控制寄存器共有四个,即定时器控制寄存器、中断允许控制寄存器、中断优先控制寄存器以及串行口控制寄存器。

1.定时器控制寄存器(TCON)

该寄存器用于保存外部中断请求和以及定时器的计数溢出。

寄存器地址88H,位地址8FH~88H。

位地址

8F

8E

8D

8C

8B

8A

89

88

位符号

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

这个寄存器既有定时器/计数器的控制功能又有中断控制功能,其中与中断有关的控制位共六位:

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)

MCS-51的中断优先级控制只定义了高、低两个优先级。

各中断源的优先级由优先寄存器(IP)进行设定。

IP寄存器地址B8H,位地址为BFH~B8H。

寄存器的内容及位地址表示如下:

BF

BE

BD

BC

BB

BA

B9

B8

PS

PT1

PX1

PT0

PX0

PX0外部中断0优先级设定位

PT0定时中断0优先级设定位

PX1外部中断1优先级设定位

PT1定时中断1优先级设定位

PS串行中断优先级设定位

为0的位优先级为低;

为1的位优先级为高。

中断响应

中断响应就是对中断源提出的中断请求的接受,是在中断查询之后进行的,当查询到有效的中断请求时,紧接着就进行中断响应。

中断响应的主要内容是由硬件自动生成一条长调用指令LCALL。

其格式为LCALLaddr16,这里的addr16就是程序存储器中断区中相应中断的入口地址。

在MCS-51单片机中,这些入口地址已由系统设定。

例如,对于外部中断0的响应,产生的长调用指令为:

LCALL0003H

生成LCALL指令后,紧接着就由CPU执行。

首先将程序计数器PC的内容压入堆栈以保护断点,再将中断入口地址装入PC,使程序执行转向相应的中断区入口地址。

但由于各中断区只有8个单元。

一般情况下难以安排下一个完整的中断

服务程序。

因此通常总是在各中断区入口地址处放置一条无条件转移指令,使程序执行转向在其它地址存放的中断服务程序。

中断返回

中断响应后就转去执行中断服务程序,完成所需要的操作。

中断服务程序的最后一条指令必须是中断返回指令RETI,CPU执行这条指令时,把响应中断时置位的优先级触发器复位,再从堆栈中弹出断点地址送入程序计数器PC,以便从断点处重新执行被中断的主程序。

MCS-51单片机的定时器/计数器

MCS-51单片机共有两个可编程的定时器/计数器,分别称定时器/计数器0和定时器/计数器1。

它们都是十六位加法计数结构,分别由TH0(地址8CH)和TL0(地址8AH)及TH1(地址8DH)和TL1(地址8BH)两个8位计数器组成。

这四个计数器均属专用寄存器之列。

MCS-51的每个定时器/计数器都具有定时和计数两种功能。

1.计数功能

所谓计数是指对外部事件进行计数。

外部事件的发生以输入脉冲表示,因此计数功能的实质就是对外来脉冲进行计数。

2.定时功能

定时功能也是通过计数器的计数来实现的。

不过此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲。

也就是每个机器周期计数器加1。

由于一个机器周期等于12个振荡脉冲周期,因此计数频率为振荡频率的1/12。

定时器/计数器提供给用户使用的有:

八位计数器TH和TL,以及有关的控制位。

这些内容只能以软件方法使用。

MCS-51定时器/计数器的四种工作方式

1.定时工作方式0

方式0是13位计数结构的工作方式,其计数器由TH0全部8位和TL0的低5位构成。

当TL0的低5位计数溢出时,向TH0进位,而全部13位计数溢出时,则向计数溢出标志位TF0进位。

在方式0下,当为计数工作方式时,计数值的范围是:

1~8192(213)

当为定时工作方式时,定时时间的计算公式为:

(213-计数初值)×

晶振周期×

12或(213-计数初值)×

机器周期

其时间单位与晶振周期或机器周期相同(s)。

2.定时工作方式1

方式1是16位计数结构的工作方式,计数器由TH0全部8位和TL0全部8位构成。

当为计数工作方式时,计数值的范围是:

1~65536(216)

当为定时工作方式时,定时时间计算公式为:

(216-计数初值)×

12

或(216-计数初值)×

3.定时工作方式2

工作方式2是自动重新加载工作方式。

在这种工作方式下,把16位计数器分为两部分,即以TL作计数器,以TH作预置寄存器,初始化时把计数初值分别装入TL和TH中。

当计数溢出后,不是像前两种工作方式那样通过软件方法,而是由预置寄存器TH以硬件方法自动给计数器TL重新加载。

变软件加载为硬件加载。

初始化时,8位计数初值同时装入TL0和TH0中。

当TL0计数溢出时,置位TF0,同时把保存在预置寄存器TH0中的计数初值自动加载TL0,然后TL0重新计数。

如此重复不止。

这不但省去了用户程序中的重装指令,而且也有利于提高定时精度。

但这种工作方式下是8位计数结构,计数值有限,最大只能到255。

这种自动重新加载工作方式非常适用于循环定时或循环计数应用,例如用于产生固定脉宽的脉冲,此外还可以作串行数据通信的波特率发送器使用。

第三章调试及结果分析.............................

电路原理图

电源部分

可以由USB口供电,还可以通过3.5毫米电源接口供电,供电电路中有二极管防止反接,5.1V稳压二极管防止电压过大。

串口部分

CH340是一个USB总线的转接芯片,实现USB转串口、USB转IrDA红外或者USB转打印口。

在串口方式下,CH340提供常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到USB总线。

单片机最小系统部分

单片机最小系统

在STC125A60S2芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。

而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。

时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。

单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。

对51系列单片机来说,最小系统一般应该包括:

单片机、晶振电路、复位电路。

下面给出一个51单片机的最小系统电路图。

复位电路:

由电容串联电阻构成,由图并结合"

电容电压不能突变"

的性质可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定。

典型的51单片机当RST脚的高电平持续两个机器周

上就将复位,所以,适当组合RC的取值就可以保证可靠的复位。

一般教科书推荐C取10u,R取8.2K。

当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平。

至于如何具体定量计算,可以参考电路分析相关书籍。

晶振电路:

典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作)特别注意:

对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;

当接低电平时,复位后直接从外部ROM的0000H开始执行.这一点是初学者容易忽略的。

LCD显示部分

1602LCD管脚定义如下:

第1脚:

VSS为地

第2脚:

VDD接5V正电源

第3脚:

V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,

使用时可以通过一个10K的电位器调整对比度

第4脚:

RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:

RW为读写信号线,高电平时进行读操作,低电平时进行写操作。

当RS和RW共同为低电平时可以写入指令或者显示地址,

当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。

第6脚:

E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:

D0~D7为8位双向数据线。

第15脚:

背光电源接5V正电压

第16脚:

背光电源接地

按键部分

四位独立按键

分别连接P3.0、P3.1、P3.2、P3.3

调试部分:

根据电路图将单片机开发板焊接完毕,检查焊接质量,杜绝焊接不良,连接上电脑,通过USB连接单片机下载任意程序检查单片机是否能成功下载程序。

下载成功后根据要求设计程序。

程序流程图:

见附录

(二)

调试及结析结果分析:

根据试验要求编写汇编语言程序,利用KEIL软件编写加调试成功,生成hex文件,使用STC-ISP工具将hex文件写入单片机rom中。

将LCD1602连接到单片机开发板上,通过杜邦线将四位独立按键连接至单片机P3.0~P3.3口。

打开电源,显示Time:

00:

00。

通过按键操作,1键设置键,按下后能够通过2、3键分别使小时、分钟加一,设定好时间后按4建,时间开始运行。

经调试该系统运行良好。

通过这次单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。

创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。

这个设计过程中,我们通过在原有的计数器系统进行了改进,使之增添了暂停、计数、清零等的三个控制功能,使之成为一个更加适用,功能更加完备的属于自己的一个系统。

设计结果能够符合题意,成功完成了此次实习要求,我们不只在乎这一结果,更加在乎的,是这个过程。

这个过程中,我们花费了大量的时间和精力,更重要的是,我们在学会创新的基础上,同时还懂得合作精神的重要性,学会了与他人合作。

附录

(一)...........................................

汇编程序

RSBITP2.2//重命名IO口

RWBITP2.1

EBITP2.0

BFBITP0.7//D0~D7接在P0口

K1BITP1.0

K2BITP1.1

K3BITP1.2

K4BITP1.3

NOP

MOVTMOD,#11H//设定时器0和1工作在定时方式一

MOVIE,#8AH

SETBTR0

AJMPL0

JS:

MOVTH0,#0BH//定时器中断0

MOVTL0,#0DCH

INCR7//R7为秒的个位

CJNER7,#160,JW

INCR6//R6为秒的十位

CPLP2.4//LED每过10秒状态变一下

AJMPL1

JW:

RETI

INCR7//定时器中断1

CJNER7,#2,JW

MOVR7,#0

INC@R0

CJNER5,#3AH,L3//R5为分的个位

MOVR5,#48

INCR4

L3:

CJNER4,#36H,L6//R4为分的十位

MOVR4,#48

L6:

CJNER3,#24,JW//R3为小时

MOVR3,#0

RETI

L1:

CJNER6,#36H,JW

MOVR6,#48

INCR5

CJNER5,#3AH,JW

CJNER4,#36H,JW

INCR3

CJNER3,#24,JW

MOVR3,#0

L0:

MOVR6,#48//初始化程序

MOVR3,#12

CLRK2

CLRK3

CLRK4

ACALLCSH

L2:

MOVR2,#87H//1602显示时间

ACALLML

MOVB,#10

MOVA,R3

DIVAB

ADDA,#48

XCHA,R2

ACALLSJ

XCHA,B

MOVR2,#'

:

'

MOVR2,4

MOVR2,5

MOVR2,6

MOVB,#16

MOVA,R7

ADDA,#30H

JNBK1,SS//检测K1

AJMPL2

SS:

CLRTR0//K1:

进入设置现在的时间

SETBK2

SETBK3

SETBK4

JNBK3,F

JNBK2,S

JNBK4,W

CLRTR1

MOVTH1,#0

MOVTL1,#0

CLRK1

AJMPL2

S:

MOVR0,#3//K2:

设置小时。

SETBTR1

F:

MOVR0,#5//K3:

设置分钟。

W:

SETBTR0//K4:

确认完成设置

SETBK1

T:

MOVR1,#1//延时

DJNZR1,$

RET

ZT:

CLRRS//查状态

SETBRW

L9:

ACALLT

SETBE

MOVC,BF

CLRE

JCL9

CLRRW

ML:

ACALLZT//传命令

SETBE

MOVP0,R2

SJ:

ACALLZT//传数据

SETBRS

CSH:

MOVR2,#38H//初始化1602

MOVR2,#0CH

MOVR2,#06H

MOVR2,#81H

T'

i'

m'

e'

END

附录

(二)...........................................

开始

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1