基于单片机的多功能数字时钟设计doc.docx

上传人:b****2 文档编号:1737773 上传时间:2022-10-23 格式:DOCX 页数:41 大小:750.52KB
下载 相关 举报
基于单片机的多功能数字时钟设计doc.docx_第1页
第1页 / 共41页
基于单片机的多功能数字时钟设计doc.docx_第2页
第2页 / 共41页
基于单片机的多功能数字时钟设计doc.docx_第3页
第3页 / 共41页
基于单片机的多功能数字时钟设计doc.docx_第4页
第4页 / 共41页
基于单片机的多功能数字时钟设计doc.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

基于单片机的多功能数字时钟设计doc.docx

《基于单片机的多功能数字时钟设计doc.docx》由会员分享,可在线阅读,更多相关《基于单片机的多功能数字时钟设计doc.docx(41页珍藏版)》请在冰豆网上搜索。

基于单片机的多功能数字时钟设计doc.docx

基于单片机的多功能数字时钟设计基于单片机的多功能数字时钟设计doc测控系统原理与设计课程设计报告课题:

基于单片机的多功能数字钟设计班级测控1082班学号1081203204指导教师庄立运鲁庆淮阴工学院电子与电气工程学院2011年12月一一显示模块选择方案显示模块选择方案方案一:

采用LED数码管动态扫描,LED数码管价格适中,对于显示数字合适,与液晶相比,耗电及体积大与液晶相比,耗电及体积大,所以也不用此种作为显示。

方案二:

采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,省了很多麻烦,所以在此设计中采用LCD液晶显示屏。

1电路设计最终方案决定电路设计最终方案决定综上各方案所述,对本次设计方案选定:

采用AT89S52作为主控制系统;DS1302提供时钟;LCD液晶显示屏作为显示。

电路设计框图如下所示AT89S52主控制模块DS1302时钟模块LCD液晶显示屏显示模块键盘模块DS1822温度模块图1系统原理图2、AT89S52单片机介绍单片机介绍AT89S52具有以下标准功能:

8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

图2单片机引脚图VCC:

电源GND:

地P0口:

P0口是一个8位漏极开路的双向I/O口。

作为输出口,每位能驱动8个TTL逻辑电平。

对P0端口写“1”时,引脚用作高阻抗输入。

当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。

在这种模式下,P0具有内部上拉电阻。

在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。

程序校时,需要外部上拉电阻。

P1口:

P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。

对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。

表1AT89S52P1口第二功能表脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2口:

P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。

对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVXDPTR)时,P2口送出高八位地址P3口:

P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。

对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。

表2AT89S52P3口第二功能表脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INT0(外部中断0)P3.3INT0(外部中断0)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器写选通)RST:

复位输入。

晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。

看门狗计时完成后,RST脚输出96个晶振周期的高电平。

特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。

DISRTO默认状态下,复位高电平有效。

ALE/PROG:

地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。

在flash编程时,此引脚(PROG)也用作编程输入脉冲。

在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。

然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。

PSEN:

外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。

当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。

EA/VPP:

访问外部程序存储器控制信号。

为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。

为了执行内部程序指令,EA应该接VCC。

在flash编程期间,EA也接收12伏VPP电压。

XTAL1:

振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2:

振荡器反相放大器的输出端。

二二总体电路总体电路1钟电路原理及说明钟电路原理及说明

(1)时钟芯片DS1302的工作原理:

DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置“0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图4所示。

DS1302的控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。

对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0,位1至位5指操作单元的地址。

位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。

控制字节总是从最低位开始输入/输出的。

表.2为DS1302的日历、时间寄存器内容:

“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。

“WP”是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。

当“WP”为1时,写保护位防止对任一寄存器的写操作。

(2)DS1302的控制字节:

DS1302控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出命令字节的格式如图所示.表3命令字节格式D7D6D5D4D3D2D1D01R/cA4A3A2A1A0R/w(3)数据输入输出(I/O):

在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。

同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。

(4)DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。

此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。

时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。

DS1302与RAM相关的寄存器分为两类:

一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。

2测量模块的设计测量模块的设计DS1822是一种用一根信号线与一根返回线来实现互连通信的集成电路芯片。

采用这种芯片构成的微型局域网系统具有建网速度快、成本低的特点,非常适合现场应用。

一线数字温度计芯片DS1822就是DALLAS公司推出的系列一线总线产品之一,它支持DALLAS触摸接口,遵循一线协议,并可以与处理器进行双向数字通信,同时性价比也很高,是一种使用起来非常方便的经济型温度传感器。

DS1822内部电路的核心是一个直接数字输出的温度传感器。

它可将55125范围内的温度值按9位、10位、11位、12位的分辨率进行量化,且以上的分辨率都包括一个符号位,因此对应的温度量化值分别是0.5、0.25、0.125、0.0625,即最高分辨率为0.0625,工作电压范围为3.05.5。

(1)DS1822的测温原理用DS1822一线式数字温度芯片测量温度的原理如图所示。

它没有采用传统的转换原理,如逐次逼近法、双积分式和算术等,而是运用了一种将温度直接转换为频率的时钟计数法,计数时钟由温度系数很低的振荡器产生,因而非常稳定;而计数的闸门周期则由温度系数很高(即对温度非常敏感)的振荡器来决定。

置1/清零停止图3温度测量的原理框图计数器中的预置值以55时的计数值为基准,在闸门开放计数期间,每当计数值达到0,则温度寄存器就加,温度寄存器中的预置值也以55的测量值为基准。

同时计数器的预置值还与斜坡累加器电路有关,该电路用于补偿振荡器对温度的抛物线特性,因此还要用时钟脉冲针对这个非线形校正预置值作计数操作,直至计数值达到0为止,如果此时闸门还未关闭,则再重复计数过程。

斜坡累加器补偿了振荡器对温度的非线形特性,从而可以获得较高的温度测量分辨率,改变相对于测温量化级的计数量大小即可获得不同的分辨率。

(2)DS1822的测温过程在测温时对DS1822进行操作的步骤如下:

a.初始化(READROM指令,代码33H),每次对DS1822进行操作之前都要对其进行初始化,主要目的在于确定温度传感器是否已经连接到单总线上。

b.查找DS1822(SEARCHROM指令,代码FOH),该指令可使处理器通过排除法来辨别总线上的DS1822。

c.匹配DS1822(MACTHROM指令,代码55H),只有完全符合64位ROM序列的DS1822才能响应其后的指令,当然,单点测温时可以使用SKIPROM(CCH)指令来跳过这一步。

d.发送温度转换指令(CONVERT指令代码44H),发送该指令后应查询总线上的电平,当电平为高时,温度转换完成。

e.读取温度值(READSCRTCHPAD指令代码BEH),将该指令发出后,就可从总线上读取表示温度的两字节的二进制数。

整个测温过程中的第45步才是DS1822进行测温并将结果进行数字化转换和输出的过程。

DS1822接收到转换命令(44H)将立刻实施温度转换,并将结果存储到16位便笺式存储器中,数据格式为符号位扩展的二进制补码,然后用读便笺式存储器命令(BEH)将所得数据顺序置于总线上,最低位在前,最高位定义为符号位以表示温度的正负。

DS1822温度与数字输出典型值的对照表如表所列。

表4DS1822温度与数字输出的典型值温度()数字输出(二进制)数字输出|(十六进制)+1250000011111011000007D0+8500000101010100000550+25.62500000001100100010191+10.12500000000101000

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

当前位置:首页 > 求职职场 > 简历

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

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