当前位置:文档之家› 基于DS12C887时钟芯片的高精度时钟的设计

基于DS12C887时钟芯片的高精度时钟的设计

基于DS12C887时钟芯片的高精度时钟的设计
基于DS12C887时钟芯片的高精度时钟的设计

华侨大学厦门工学院

本科生毕业设计(论文)题目:基于DS12C887时钟芯片的高精度时钟的设计姓名:吴挺

学号:0902106019

系别:电气工程

专业:电气工程及其自动化

年级:2009

指导教师:刘晓东

年月日

华侨大学厦门工学院毕业设计(论文)

独创性声明

本毕业设计(论文)是我个人在导师指导下完成的。文中引用他人研究成果的部分已在标注中说明;其他同志对本设计(论文)的启发和贡献均已在谢辞中体现;其它内容及成果为本人独立完成。特此声明。

论文作者签名:日期:

关于论文使用授权的说明

本人完全了解华侨大学厦门工学院有关保留、使用学位论文的规定,即:学院有权保留送交论文的印刷本、复印件和电子版本,允许论文被查阅和借阅;学院可以公布论文的全部或部分内容,可以采用影印、缩印、数字化或其他复制手段保存论文。保密的论文在解密后应遵守此规定。

论文作者签名:指导教师签名:日期:

基于DS12C887时钟芯片的高精度时钟的设计

摘要

随着社会的发展人们的生活节奏越来越快,每天的工作,学习,休息的时间都安排的很紧,需要一个时钟准确的报时。人们对时钟的要求越来越高,不仅要求每天的的时间误差小于几毫秒,还要求具有定时闹钟,具有万年历等功能。传统的日历电子钟元器件多、维修麻烦、误差大、功能更新不方便。DS12C887时钟芯片能够自动显示年、月、日、时、分、秒等时间信息,同时还具有校时,报时,闹钟等功能。DS12C887也可以很方便的由软件编程进行功能的调整或增加。所以设计基于DS12C877时钟芯片的高精度时钟的设计具有十分重要的现实意义和实用价值。

关键词:DS12C887,时钟芯片,单片机STC89C52,高精度时钟

华侨大学厦门工学院毕业设计(论文)

Design of high precision clock based on clock chip DS12C887

Abstract

With the development of society, people life rhythm faster and faster, a day's work, study and rest time arrangement is very tight, need a clock tell the time accurately. People is higher and higher requirement for the clock, every day not only requires the time error is less than a few milliseconds, also requires a timing alarm clock, a calendar, and other functions. Traditional electronic clock calendar components, maintenance trouble, big error, function more update is not convenient. Chip DS12C887 clock automatically display year, month, day, hours, minutes and seconds time information, but also with the school, the time, alarm clock, and other functions. DS12C887 can also be very convenient by the software programming to adjust function or to increase. So the design is based on DS12C877 clock chip design of high precision clock has very important practical significance and practical value.

Keywords:DS12C887,clock chip microcontroller STC89C52,high-precision clock

目录

第1章绪论 (1)

1.1 研究背景 (1)

第2章方案论证选择 (2)

2.1时钟计时的方案选择 (2)

2.2显示部分的方案选择 (3)

第3章系统组成 (4)

3.1.1 系统原理与硬件设计 (4)

3.1.2 硬件选择 (5)

3.1.3单片机STC89C52中文资料 (5)

3.1.4 STC单片机最小系统 (9)

第4章系统硬件电路设计 (10)

4.1.1晶振电路 (10)

4.1.2复位电路 (10)

4.1.3程序下载接口 (11)

4.2.1 1602液晶概述 (11)

4.2.2 1602液晶引脚功能 (11)

4.2.3 1602读写时序图 (12)

4.2.4 1602LCD的一般初始化(复位)过程 (14)

4.2.5 1602LCD的电路连接 (15)

4.3.1 DS12C887概述 (15)

4.3.2 DS12C887引脚功能 (16)

4.3.3 DS12C887读写时序 (17)

4.3.4 DS12C887流程图 (17)

4.3.5 时钟芯片引脚介绍 (18)

4.3.6 4个控制寄存器介绍 (19)

4.4闹铃电路 (21)

4.5 独立键盘电路 (21)

4.6 电源模块 (21)

结论 (23)

参考文献 (25)

谢辞 (26)

附录1 硬件实物图 (27)

附录2 程序代码 (28)

基于DS12C887时钟芯片的高精度时钟的设计

第1章绪论

1.1 研究背景

传统时钟芯片在电源断电时内部的时间芯片就会停止计时,所以需要额外使用一个备用的电源向时钟芯片供电,这样会使系统功耗增大,体积变大。

单一功能定时时钟只提供年,月,日,时,分,秒的时间信息和日历功能,多功能时钟除了提供时间信息和日历功能以外,通常还具有报警,定时,闹钟等功能。采用单片机STC89C52和时钟日历芯片DS12C887设计并且制作出来的电子钟,一个月的时间里只有1秒内的误差[1],比DS1302,DS1307,PCF8485等的芯片设计出来的时钟更精确[2]时钟按照工具接口方式不同可以分为并行接口时钟和串行接口时钟,并行接口时钟的特点是:传输速度快,但是硬件数目多,接线数目多,产品体积大。串行接口时钟的特点:传输线少,成本低,产品体积小。缺点是传输速度慢。

时钟芯片的种类也越来越多,对时钟芯片的要求越来越高,比如精度高,体积小,功耗低,性能稳定,功能齐全,使用方便,技术更新灵活。所以设计一款体积小,工作稳定,时间精确的时钟具有十分重要的意义。

华侨大学厦门工学院毕业设计(论文)

第2章方案论证选择

2.1时钟计时的方案选择

方案一:传统的基于单片机的时钟设计可以采用单片机内部的晶振来产生脉冲,然后通过单片机内部的计时器经过分频产生秒脉冲,然后通过软件编程来实现时钟的显示,这种设计方案的优点是外围器件少,电路简单清晰,电路焊接容易,出问题的故障几率小。但是这种方案需由软件编程来实现秒脉冲的产生,编程相对来说比较复杂,而且也不利于排除故障,维修起来不方便。由于单片机内部时钟会产生误差,即使设计时间误差补偿程序也很难实现提供准确时间的功能。。这种设计还有一个非常大的缺点就是如果单片机断电,芯片里的时间计时就停止,再次上电时又从初始设定重新计时,这样就需要在每次上电都调整时间,比较麻烦。

方案二:在传统的基于单片机的数字时钟设计的基础上经过一些改进,引入DS12C887时间芯片,本次设计可分为两部分:硬件部分包括:体积小功能丰富的STC89C52单片机[3]、具有掉电保护的DS12C887时钟芯片[4]电路简单易于实现的1602LCD液晶显示器[5],键盘输入电路等。具体说来,系统智能控制部分由单片机及其相关的外围电路[6]组成,外围电路包括解决死机等问题的复位电路[7]、波形稳定的晶振电路[8]、键盘设计、闹铃电路以及合适的直流电源电路[9]。利用单片机将复位电路、能够降低功耗和减少显示器外部引线的显示电路[10]、电源电路等正确的连接在一起,并通过单片机的编程来实现本次设计任务中的要求。软件部分主要包括了主程序模块,DS12C887模块,LCD1602模块,键盘控制模块。DS12C887芯片具有掉电保护功能,内部自带锂电池,能够在断电的情况下保持时间信息,等到外部电路恢复供电之后能够不必调整时间,为时钟的校时操作节省了很多时间,而且这种设计更节能,在需要观察时间的时候比如白天就可以给主电路通电。而在夜晚不需要观察时钟的时候就可以给主电路断电,这样可以节约大量电能。时间芯片DS12C887采用了内部集成晶振的电路,并且具有内部温漂补偿电路设计。能够准确计时,提供精确的时间,这样就简化了电路的器件选择,另外也使程序的设计更加简洁。在硬件设计方面,由于只增加了一个DS12C887时间芯片,因此并不是特别复杂,而且这种独立计时的设计使得产品排故更加方便。

第二种方案更加准确而且电路硬件设计更加简单,软件设计更加简洁,因此采用第二种方案。

基于DS12C887时钟芯片的高精度时钟的设计

2.2显示部分的方案选择

1.数码管显示,8段数码管显示虽不需要复杂的驱动程序,可视范围宽,但硬件制作成本高,硬件电路的设计复杂。

2. LCD1602 液晶显示,液晶显示最大的特点就是界面简洁,已经广泛应用于现代工业控制和智能化仪器仪表等地方,己经成为单片机开发领域典型模块之一。能够方便的显示文字和数字。

3.LCD1602液晶显示时屏幕不会有闪烁。液晶操作方便,且与单片机的接口电路简单,接线面积小,大大提高了万年历的性能。

所以最终选择LCD1602液晶显示方案。

华侨大学厦门工学院毕业设计(论文)

第3章系统组成

3.1.1 系统原理与硬件设计

本次的设计题目是电子万年历设计,要求实现年、月、日、时、分、秒的正常显示,需要硬件和软件的结合来实现。本次设计利用时钟日历芯片DS12C887的特性和STC89C52单片机的功能利用实现的。根据设计的要求万年历要显示年、月、日、时、分、秒的显示同LCD1602。

在明确本次设计思路之后,画出设计框图,总体框图如图2.1所示。

图1 设计总体框图

图2 系统电路原理图

基于DS12C887时钟芯片的高精度时钟的设计

3.1.2 硬件选择

(1)时钟芯片选择选用DS12C887时钟芯片。

(2)单片机的选择选用STC89C52单片机,并配备11.0592MHz晶振,复位电路采用上电复位。

(3)显示电路选择采用LCD1602液晶显示。

(4)电源选择采用直流5V电源供电。

3.1.3单片机STC89C52中文资料

STC89C52 是STC公司生产的低电压,高性能CMOS 8位单片机.片内含8K byTES的可反复擦写的只读程序存储器(PEROM)和256 bytes的随机存取数据存储器(RAM),器件采用STC公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052 产品引脚兼容,片内置通用8位中央处理器(CPU )和FLASH由存储单元, STC89C52单片功能强大,适用于许多电子产品。

主要性能参数:

1.与Mcs-51产品指令和引脚完全兼容。

2.8字节可重擦写FLASH闪速存储器

3.1000 次擦写周期

4.全静态操作:0HZ-24MHZ

5.三级加密程序存储器

6.256X8字节内部RAM

7.32个可编程I/0口线

8.3个16 位定时/计数器

9.8个中断源

10.可编程串行UART通道

11.低功耗空闲和掉电模式

华侨大学厦门工学院毕业设计(论文)

图3 STC89C52外部引脚图

Vcc:电源电压

GND:地线

P0:P0口是一组8位漏极开路型双向1/O 口,也即地址/数据总线复用口。作为输出口用时.每位能吸收电流的方式驱动8个TTL 逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。

当访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在FLASH由编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1口:PI 是一个带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻某个引脚被外部信号拉低时会输出一个电流IIL

与AT89C51不同之处是,Pl.0 和P1.1还可分别作为定时/计数器2 的外部计数输入(Pl.0/T2 )和输入(P1.1/T2EX) ,

参见图3

FLASH编程和程序校验期间,Pl接收低8位地址。

图3 PI.O 和PI.l 的第二功能

口:P2 是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱

基于DS12C887时钟芯片的高精度时钟的设计

动(吸收或输出电流)4个TTL逻辑电路。对端口P2写“l",通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(llt )。

在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOvx@DPTR 指令)时,P2送出高8 位地址数据。在访问8位地址的外部数据存储器、如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。

FLASH编程或校验时,P2亦接收高位地址和一些控制信号。

·P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,内部上拉电阻把它们被拉高,并作为输入的端口。这个时候,被外部拉低的P3口将用上拉电阻输出电流(IIL) .

P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如图表1:表1

此外,P3口还接收一些用于FLASH闪速存储器编程和程序校验的控制信号。

RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上的高电平时单片机复位。

·ALE/PROG:当访问外部程序存储器或数据存储器的时候,ALE(地址锁存允许)输出脉冲用来锁存低8位字节的地址.通常,ALE依然以时钟振荡频率的1/6输出固定的脉冲信号,所以可以用来实现对外输出时钟或用于定时目的。每次访问外部数据存储器时将跳过一个ALE脉冲。

对Flash存储器编程的时候,这个引脚还用于输入编程脉冲(PROG)。可以通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位.可禁止ALE操作。该位

华侨大学厦门工学院毕业设计(论文)

置位后,只有一条MOVX和MOVC指令才能将ALE激活,另外,此引脚会被拉高一点点,当单片机执行外部程序得时候,应该把ALE设置为禁止。

·PSEN:程序储存允许PSEN输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令时,每个机器周期两次PSEN有效,就是输出两个脉冲。这个时候,当访问外部数据存储器时,就会跳过两次PSEN信号。

·EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H-FFFFH ) , EA端必须保持低电平(接地).

如EA端接在高电平上, CPU就执行内部程序存储器中的指令。

flash存储器编程时,该引脚加上+12V的编程允许电源VPP ,该器件必须使用12V编程电压VPP 。

·XTAL1:振荡器的反相放大器的及内部时钟发生器的输入端.

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

AT89C52的特殊功能是,在AT89C52 片内存储器中,80H-FFH 共128 个单元为特殊功能寄存器(SFR),SFR 的地址空间映象如表2 所示。

并非所有的地址都被定义,从80H—FFH 共128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。

不应将数据写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。

AT89C52除了有AT89C51所有的定时/计数器0 和定时/计数器1 外,还增加了一个定时/计数器2。定时/计数器2 的控制和状态位位于T2CON,T2MOD,寄存器对(RCAO2H、RCAP2L)是定时器2 在16 位捕获方式或16 位自动重装载方式下的捕获/自动重装载寄存器。

3.1.4 STC单片机最小系统

基于DS12C887时钟芯片的高精度时钟的设计

图4 单片机最小系统

STC单片机是一种高性能、低功耗的8位CMOS微处理芯片, STC单片机虽然功能强大,但要想完成其强大的功能,单靠它也是不的行的,因此要让它运行起来,就要创设其工作的环境,即最小系统,STC单片机最小系统如图1所示,它包括由一个晶振,两个电容组成的振荡电路,一个复位按钮一个10UF电容和一个10K电阻组成的复位电路,电源电路三个电路组成。本系统以STC89S52单片机为核心,使用11.0592MHZ的晶振,复位电路为按键高电平复位。

华侨大学厦门工学院毕业设计(论文)

第4章系统硬件电路设计

4.1.1晶振电路

图5 晶振电路

在晶振电路中,C1、C2为晶振的负载电容,分别接在晶振的两个脚上和对地的电容,电路中取了30PF。因为晶振与单片机的振荡电路中脚XTAL0和脚XTAL1会产生偕波,虽然谐波对电路的影响不大,但是会影响电路中时钟振荡器的稳定性. 在晶振的脚XTAL0和脚XTAL1之间接分别接入两个5pf-30pf的瓷片电容接可以增加电路的稳定性。

4.1.2复位电路

图6 复位电路

单片机复位电路有上电自动复位和手动复位两种方式。上电复位要求接通电源后,自动进行复位操作。手动复位要求接通电源的前提下,在单片机运行的条件下,在单片机运行期间,用按钮开关操作使单片机进行复位的操作。这里采用的是手动复位。

基于DS12C887时钟芯片的高精度时钟的设计

4.1.3程序下载接口

图7 程序下载接口图

如图可接插USB口,从而获取+5V的电源。RXD,TXD用于下载程序、串口通信用。通过计算机把程序下载到单片机中。

4.2.1 1602液晶概述

1602LCD是指显示的字符和数字为16X2,即可以显示两行,每行16个字符液晶模块共32个字符和数字。

1602LCD主要技术参数:

1.显示大小:16×2个字符

2.芯片额定电压:4.5—5.5V

3.额定电流:2.0mA(5.0V)

4.工作时的电压:

5.0V

4.2.2 1602液晶引脚功能

华侨大学厦门工学院毕业设计(论文)表2 液晶引脚功能

4.2.3 1602读写时序图

基于DS12C887时钟芯片的高精度时钟的设计

1602液晶模块内部的控制器一共具有11条控制指令,如表3所示:

表3字符控制命令说明:

通过指令编程来实现1602液晶模块的读写操作、屏幕和光标的操作。(其中1为高电平、0为低电平)

指令1:清显示,将指令码01H复位到地址00H位置。

指令2:光标复位,光标返回到地址00H。

指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是不是左移或者右移。高电平表示有效,低电平则无效。

指令4:显示开关控制。D:控制开关整体的显示,高电平表示显示打开,低电平表示关显示关闭C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平表示闪烁,低电平表示不闪烁。

指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N:低电平的时候显示单行,高电平的时候显示双行F: 低电平的时候显示5x7的点阵字符,高电平的时候显示5x10的点阵字符。

指令7:设置字符发生器RAM的地址。

指令8:设置DDRAM的地址。

指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,高电平的时候模块不能接收数据或者命令,假如是低电平表示不忙。

指令10:写入数据。

指令11:读出数据。

华侨大学厦门工学院毕业设计(论文)

芯片时序表如下:

图8 1602读写时序图

4.2.4 1602LCD的一般初始化(复位)过程

1.延时15mS

2.写指令38H(不检测忙信号)

3.延时5mS

4.写指令38H(不检测忙信号)

5.延时5mS

6.写指令38H(不检测忙信号)以后每次写指令、读/写数据操作均需要检测忙信号

7.写指令38H:显示模式设置

8.写指令08H:显示关闭

9.写指令01H:显示清屏

10.写指令06H:显示光标移动设置

时钟系统设计

《单片机原理及接口》 课程设计报告 题目:时钟系统设计 专业名称:电子信息工程 班级: 092 学号: 910706220 姓名: 2011年 12月

时钟系统设计 陈 (电子信息工程学系) 中文摘要:本设计基于单片机仿真技术,以单片机芯片AT89C52作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个多功能数字时钟系统。单片机扩展的LCD显示器用来显示秒、分、时计数单元中的值。整个设计包括两大部分:硬件部分和软件部分,以单片机为核心,蜂鸣器,数码管,晶体管等为外围器件,设计一个正常走时,报时、初始化、闹钟的数字时钟。 关键词:单片机;数字时钟;AT89C52;闹钟 1、设计目标 设计一时钟系统,系统具有时钟功能,能准确显示时、分、秒,系统还应具有校正功能:能够修改当前的时间。 2、设计环境 Windows7 Keil uVision3 Proteus7.5 3、系统硬件设计 3.1单片机控制系统: 本设计基于单片机技术原理,以单片机芯片AT89C52作为核心控制器,通过硬件电路的制作 以及软件程序的编制,利用单片机的控制作用通过LCD来直接时、分、秒,并能对其分别进行设 置、修改;利用对蜂鸣器的控制来实现闹钟功能。同时使用C语言程序来控制整个时钟显示,使 得编程变得更容易,这样通过三个模块:键盘、芯片、显示屏即可满足设计要求。 3.2各部分功能实现: 单片机采用52系列单片机。由ATMEL公司生产的AT89S52是一种低功耗、高性能CMOS8位微控 制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工 业80C51产品指令和引脚完全兼容。在单芯片上,拥有灵巧的8位CPU和在线系统可编程Flash,使 得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89S52具有以下标准功能: 8K字节Flash,256字节RAM,32位I/O口线,2个数据指针,三个16位定时器/计数器,一个6向量2 级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM、定时 器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一 切工作停止,直到下一个中断或硬件复位为止。而且,它还具有一个看门狗(WDT)定时/计数器, 如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复

用VHDL实现数字时钟的设计[1]

收稿日期:2007-06-04 第一作者 刘竹林 男 27岁 助教 用V HDL 实现数字时钟的设计 刘竹林 李晶骅 (十堰职业技术学院电子工程系,湖北十堰442000) 摘 要:以一款数字钟设计为例,较详细的介绍了如何用VHDL 语言设计数字电路,并给出了部分程序、仿真 波形图,并在MAX +plusII 中进行编译、仿真、下载。由此说明利用VHDL 开发数字电路的优点。 关键词:VHDL ;设计;数字钟;应用电路中图分类号:TN953 文献标识码:A 0 引言 VHDL 硬件描述语言在电子设计自动化(EDA )中扮演 着重要的角色,它的出现极大的改变了传统的设计方法、设 计过程乃至设计观念。由于采用了“自顶向下” (Top 2Down )的全新设计方法,使设计师们摆脱了大量的辅助设计工作, 而把精力集中于创造性的方案与概念构思上,用新的思路来发掘硬件设备的潜力,从而极大地提高了设计效率,缩短了产品的研制周期。 这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计。在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。然后用综合优化工具生成具体门电路的网表,其对应的物理实现级可以是印刷电路板或专用集成电路。由于设计的主要仿真和调试过程是在高层次上完成的,这不仅有利于早期发现结构设计上的错误,避免设计工作的浪费,而且也减少了逻辑功能仿真的工作量,提高了设计的一次成功率。 1 用V HDL 设计一款数字钟 我们设计的数字时钟原理框图如图1。其基本功能划 分为:计数模块(包括秒、分、时)、译码模块、扫描显示控制模块。计数模块由两个60进制计数器和一个24进制计数器组成,分别对秒、分、小时进行计数,当计数到23点59分59秒的时候,即一天结束,计数器清零, 新的一天重新开始计数。 图1 数字时钟原理框图 秒计数器的计数时钟信号为1Hz 的标准信号,可以由系 统板上提供的4MHz 信号通过222分频得到。秒计数器的进位输出信号作为分钟计数器的计数信号,分钟计数器的进位输出信号又作为小时计数器的计数信号。设计一个同时显示时、分、秒6个数字的数字钟,则需要6个七段显示器。若同时点亮这6个七段显示器,则电路中会产生一个比较大的电流,很容易造成电路烧坏,我们通过扫描电路来解决这一问题,通过产生一个扫描信号CS (0)-CS (5)来控制6个七段显示器,依次点亮6个七段显示器,也就是每次只点亮一个七段显示器。只要扫描信号CS (0)-CS (5)的频率超过人的眼睛视觉暂留频率24Hz 以上,就可以达到尽管每次点亮单个七段显示器,却能具有6个同时显示的视觉效果,而且显示也不致闪烁抖动。 其中6位扫描信号一方面控制七段显示器依次点亮,一方面控制6选1选择器输出相应显示数字。 2 模块设计 2.1 VHDL 语言的基本结构 一个独立的设计实体通常包括:实体(EN TIT Y )、结构体(ARCHITECTURE )、配置(CONFIGURA TION )、包集合(PACKGE )、和库(L IBRAR Y )5个部分。其中实体用于描述所设计的系统的外部接口信号;构造体用于描述系统内部的结构和行为;建立输入和输出之间的关系;配置语句安装具体元件到实体—结构体对,可以被看作是设计的零件清单;包集合存放各个设计模块共享的数据类型、常数和子程序等;库是专门存放预编译程序包的地方。VHDL 程序设计基本结构如图2 。 图2 VHDL 程序设计基本结构 2.2 各模块的实现 2.2.1 计数模块(建立VHDL 语言的工程文件) 计数模块由两个60进制计数器和一个24进制计数器组成,分别对秒、分、小时进行计数。其VHDL 源程序相差不大由于篇幅有限,这里我们以秒模块的实现为例。程序如下: library ieee ; use ieee.std -logic -1164.all ;entity counter -60-bcd is 山西电子技术 2008年第1期 应用实践

基于DS1302的数码管显示数字钟

单片机原理课程设计 课题名称:基于DS1302的数码管显示数字钟 专业班级:电子信息工程 学生学号: 学生姓名: 指导教师: 设计时间:2010年6月21日--2010年6月25日

目录 摘要........................................................................................................................................................................ 1 设计任务和要求............................................................................................................................................ 2 方案论证........................................................................................................................................................ 3 系统硬件设计................................................................................................................................................ 3.1 系统总原理图 ................................................................................................................................ 3.2 元器件清单...................................................................................................................................... 3.3 PCB板图....................................................................................................................................... 3.4 Proteus仿真图 ............................................................................................................................... 3.5 分电路图及原理说明................................................................................................................... 3.5.1 主控部分(单片机MCS-51).............................................................................. 3.5.2 计时部分(实时时钟芯片DS1302).................................................................. 3.5.3 显示部分(共阳极数码管)................................................................................ 3.5.4 调时部分(按键)................................................................................................ 4系统软件设计................................................................................................................................................ 4.1 程序流程图..................................................................................................................................... 4.2 程序源代码........................................................................................................................................ 5心得体会........................................................................................................................................................ 6参考文献........................................................................................................................................................ 7结束语............................................................................................................................................................

模拟时钟转动程序

模拟时钟转动程序 一、课程设计的内容 能模拟机械钟表行走,还要准确利用数字显示日期和时间,在屏幕上显示一个活动时钟,按任意键时程序退出。 二、课程设计的要求与数据 1.进一步掌握和利用C语言进行课程设计的能力 2.进一步理解和运用结构化程序设计的思想和方法 3.初步掌握开发一个小型实用系统的基本方法 4.学会调试一个较长程序的基本方法 5.学会利用流程图和N-S图表示算法 6.掌握书写程序设计开发文当的能力 三、课程设计应完成的工作 1、编写完成相应题目的程序 2、编写课程设计报告,课程设计报告应该包含以下6部分 1)需求分析:包括设计题目、设计要求以及系统功能需求分析 2)总体设计:包括系统总体设计框架和系统功能模块图 3)详细设计:包括主要功能模块的算法设计思路以及对应的工作流程图 4)调试分析过程描述:包括测试数据、测试输出结果以及对程序测试过程中存在问题进行思考(主要问题的出错现象、出错原因、 解决方法及其效果等,相应效果截图) 5)总结:课程设计完成了哪些主要功能,是否有扩展功能?还有哪些地方需要改进?课程设计的学习与体会?有哪些合理化建 议? 6)附录:主要原程序代码含必要的注释 3、答辩:在实验室建立程序运行环境,并在指导教师的监督下,独立解决问题,运行程序和回答教师的提问。 四、课程设计进程安排

五、应收集的资料及其主要参考文献 [1]谭浩强.C程序设计(第三版)[M]北京:清华大学出版社,2005年9月 [2]谭浩强.C程序设计题解与上机指导(第三版)[M]北京:清华大学出版社,2005年7月 [3]夏宝岚张慕蓉夏耘.程序设计教程(第二版)[M],上海:华东理工出版社,2003.1 [4]陈锦昌赵明秀.C语言计算机绘图教程(第一版)[M],广州:华南理工大 学出版社,1998.9 发出任务日期:2010年12月15日指导教师签名: 计划完成日期:2010年12月30日基层教学单位责任人签名: 主管院长签章: 目录 1.设计目的与要求 (5)

数字集成电路物理设计阶段的低功耗技术

数字集成电路物理设计阶段的低功耗技术 张小花(200XXXXXXXX) 2011年六月 摘要:通过一个图像处理SoC的设计实例,着重讨论在物理设计阶段降低CMOS功耗的方法。该方法首先调整 PAD摆放位置、调整宏单元摆放位置、优化电源规划,得到一个低电压压降版图,间接降低CMOS功耗;接着,通过规划开关活动率文件与设置功耗优化指令,直接降低CMOS功耗。最终实验结果表明此方法使CMOS功耗降低了 10.92%。基于该设计流程的图像处理SoC已经通过ATE设备的测试,并且其功耗满足预期目标。 关键词: 集成电路; 物理设计; 电压降; 低功耗 Digital integrated circuit physical design phase of the low power technology luo jiang nan(2008102041) June, 2011 Abstract: through a image processing of SoC design examples, the paper discuss the physical design stage reduce power consumption method. CMOS This method firstly PAD put the position, adjusting adjustment macro unit put the position, optimizing power planning, get a low voltage pressure drop, reduce the power consumption of the CMOS indirect territory; Then, through the planning activities rate documents and set switch power optimization, reduce the power consumption of the CMOS setup instructions directly. Finally the experimental results show that the method that CMOS power consumption was reduced by 10.92%. Based on the design process of the image processing has been through the ATE the SoC test equipment, and its power consumption to meet expectations. Keywords: IC; physical design; voltage drop; low power consumption 1 引言 随着集成电路规模的扩大以及便携式和嵌入式应用需求的增长,低功耗数字集成电路设计技术日益受到重视,已成为集成电路设计的研究热点.通常低功耗设计技术包括三个方面:设计中的低功耗技术、封装的低功耗技术和运行管理的低功耗技术.其中设计中的低功耗技术包括前端设计阶段的 体系结构级低功耗技术、RTL级低功耗技术、门级低功耗技术和物理设计阶段的低功耗 技术.

ARM低功耗设计_全面OK

嵌入式系统中的低功耗设计 2008-12-31 18:19:55 作者:电子之都来源:电子之都浏览次数:59 网友评论 0 条 经过近几年的快速发展,嵌入式系统(Embedded system)已经成为电子信息产业中最具增长力的一个分支。随着手机、PDA、GPS、机顶盒等新兴产品的大量应用,嵌入式系统的市场正在以每年30%的速度递增(IDC预测),嵌入式系统的设计也成为软硬件工程师越来越关心的话题。 在嵌入式系统的设计中,低功耗设计(Low-Power Design)是许多设计人员必须面对的问题,其原因在于嵌入式系统被广泛应用于便携式和移动性较强的产品中去,而这些产品不是一直都有充足的电源供应,往往是靠电池来供电,所以设计人员从每一个细节来考虑降低功率消耗,从而尽可能地延长电池使用时间。事实上,从全局来考虑低功耗设计已经成为了一个越来越迫切的问题。 那么,我们应该从哪些方面来考虑低功耗设计呢?笔者认为应从以下几方面综合考虑: 1.处理器的选择 2.接口驱动电路设计 3.动态电源管理 4.电源供给电路的选择 下面我们分别进行讨论: 一、处理器的选择 我们对一个嵌入式系统的选型往往是从其CPU和操作系统(OS)开始的,一旦这两者选定,整个大的系统框架便选定了。我们在选择一个CPU的时候,一般更注意其性能的优劣(比如时钟频率等)及所提供的接口和功能的多少,往往忽视其功耗特性。但是因为CPU 是嵌入式系统功率消耗的主要来源---对于手持设备来讲,它几乎占据了除显示屏以外的整

个系统功耗的一半以上(视系统具体情况而定),所以选择合适的CPU对于最后的系统功耗大小有举足轻重的影响。 一般的情况下,我们是在CPU的性能(Performance)和功耗(Power Consumption)方面进行比较和选择。通常可以采用每执行1M次指令所消耗的能量来进行衡量,即Watt/M IPS。但是,这仅仅是一个参考指标,实际上各个CPU的体系结构相差很大,衡量性能的方式也不尽相同,所以,我们还应该进一步分析一些细节。 我们把CPU的功率消耗分为两大部分:内核消耗功率PCORE和外部接口控制器消耗功率PI/O,总的功率等于两者之和,即P=PCORE+PI/O。对于PCORE,关键在于其供电电压和时钟频率的高低;对于PI/O来讲,除了留意各个专门I/O控制器的功耗外,还必须关注地址和数据总线宽度。下面对两者分别进行讨论: 1、CPU供电电压和时钟频率 我们知道,在数字集成电路设计中,CMOS电路的静态功耗很低,与其动态功耗相比基本可以忽略不计,故暂不考虑。其动态功耗计算公式为: Pd=CTV2f 式中,Pd---CMOS芯片的动态功耗 CT----CMOS芯片的负载电容 V----CMOS芯片的工作电压 f-----CMOS芯片的工作频率 由上式可知,CMOS电路中的功率消耗是与电路的开关频率呈线性关系,与供电电压呈二次平方关系。对于一颗CPU来讲,Vcore电压越高,时钟频率越快,则功率消耗越大。所以,在能够满足功能正常的前提下,尽可能选择低电压工作的CPU能够在总体功耗方面得到

51单片机数码管时钟电路的设计_AT89C51

广东石油化工学院 《51单片机原理与实践》课程设计报告 学院计算机与电子信息学院 专业 班级 学号 姓名 指导教师 课程成绩 完成日期 2010年12月27日

数码管时钟电路的设计 一、设计目的: 通过这次课程设计掌握单片机系统的基本设计步骤及设计思路,掌握汇编语言的用法及各种指令的含义,比较熟练的运用指令进行单片机系统的设计的,熟悉用KEIL软件进行汇编语言的汇编,以及把代码写入实验板中,观测代码结合实际的运行结果后进行调整,体会到编程的分析问题、确定算法、画程序流程图、编写程序、程序功能模块化的优点的各各步骤。 二、设计要求: LED数码管时钟电路采用24h计时方式,时、分、秒用六位数码管显示。该电路采用AT89C2051单片机,使用3V电池供电,只使用一个按键开关即可进入调时、省电(不显示LED数码管)和正常显示三种状态。 三、设计实验内容: 1. 硬件的设计 其采用AT89C51单片机应用设计,LED显示采用动态扫描方式实现,P0口输出段码数据,P2口输出位码数据,P1.1、P1.2接按钮开关。为了提供LED数码管的驱动电流,采用6MHz晶振。 2. 系统总体分析 系统主要包含四大模块:显示模块、时间计时模块、模式切换模块和模式设置模块。 显示模块:主要由主循环负责。内存中开辟了一段8字节的内存空间,

用作数据显示的字符缓冲区。主循环不断将缓冲区中的字符呈现至数码管。 ● 时间计时模块:电子钟的核心模块,记录了时间的时、分、秒信息。 ● 模式切换模块(MODE ):切换电子钟的设置模式,包括时设置、分设置、秒设置、闹铃开关设置、闹铃时设置和闹铃分设置。相关数据被设置时将闪烁显示。 ● 模式设置模块(CONFIG ):通过判断设置模式(MODE ),执行相应的设置。如时、分、秒的增1以及闹铃开关的变换。 另外,主循环还负责扫描键盘,检测相应键是否被按下,若MODE 键被按下则在特定单元中登记该功能,并启动定时器1,然后返回继续执行显示功能。在定时器1中断时,被登记的功能正式执行。期间用时约10ms ,用以消除机械抖动。 主循环流程图大致如下: 图(一)主循环流程图 定时器1中断服务程序流程图如下: 开始 键被按下 登记相应功能 数码管显示 是 否

模拟时钟电路的程序

//单片机实验模板文件。具有三个基本功能: // 1、数码管、发光二极管扫描显示 // 2、键盘扫描,返回0---15 // 3、T0中断,产生基本延时2.5ms,并且调用显示函数 // 根据以上功能,该文件为进一步编写实验程序、实际应用程序,提供了基础 #include #define delay5ms(x) {delay_xms=x*2; while(delay_xms<255);} //用于延时的宏,x的1个数值对应延时5ms。 x<=127。 void display(void); unsigned char code ledcode[]={0x3f,6,0x5b,0x4f,0x66,0x6d,0x7d,7,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0}; //共阴极7段数码管显示段码 //unsigned char xdata dis_seg _at_ 0xfeff; //输出数码管段显示码地址 //unsigned char xdata dis_bit _at_ 0xfdff; //输出数码管位控制码地址unsigned char min,sec,hour; unsigned char bdata dis_buf[7]; //dis_buf[0]为最高位数据(显示在左边),dis_buf[5]为最低位数据;dis_buf[6]为8个发光二极管的数据。 unsigned char data delay_xms; //用于延时 sfr IPH = 0xb7; //定义中断优先级(高2级)寄存器 //****************************************************************** void int_t0(void) interrupt 1 //T0中断函数,fosc按11.0592M计算,定时时间为2.5ms { TH0=0xf7; delay_xms--; display(); //调用显示函数 } //****************************************************************** void display(void) //数码管显示函数。左边是最高位,从左边开始扫描,函数每执行1次仅扫描1位,每2.5ms扫描一位 { static unsigned char data i=0, scan=0xfe; P0=0; if(i<6) P0=ledcode[dis_buf[i]]; else

网络时钟系统方案设计

时钟系统 技术方案 烟台北极星高基时间同步技术有限公司 2012年3月

第一部分:时钟系统技术方案 一、时钟系统概述 1.1概述 根据办公楼的实际情况,特制定如下施工设计方案: 时钟系统主要由GPS接收装置、中心母钟、二级母钟(中继器)、全功能数字显示子钟、、传输通道和监测系统计算机组成。 系统中心母钟设在中心机房内,其他楼各设备间设置二级母钟,在各有关场所安装全功能数字显示子钟。 系统中心母钟接收来自GPS的标准时间信号,通过传输通道传给二级母钟,由二级母钟按标准时间信号指挥子钟统一显示时间;系统中心母钟还通过传输系统将标准时间信号直接传给各个子钟,为楼宇工作人员提供统一的标准时间 二、时钟系统功能 根据本工程对时钟系统的要求,时钟系统的功能规格如下: 时钟系统由GPS校时接收装置(含防雷保护器)、中心母钟、扩容接口箱、二级母钟、数字式子钟、监控终端(也称监测系统计算机)及传输通道构成。其主要功能为: ☉显示统一的标准时间信息。 ☉向其它需要统一时间的系统及通信各子系统网管终端提供标准时间信息。 2.1 中心母钟 系统中心母钟设置在控制中心设备室内,主要功能是作为基础主时钟,自动接收GPS的标准时间信号,将自身的精度校准,并分配精确时间信号给子钟,二级母钟和其它需要标准时间的设备,并且通过监控计算机对时钟系统的主要设备进行监控。 中心母钟主要由以下几部分组成: ☉标准时间信号接收单元 ☉主备母钟(信号处理单元) ☉分路输出接口箱 ☉电源 中心母钟外观示意图见(附图) 2.1.1标准时间信号接收单元 标准时间信号接收单元是为了向时间系统提供高精度的时间基准而设置的,用以实现时间系统的无累积误差运行。 在正常情况下,标准时间信号接收单元接收来自GPS的卫星时标信号,经解码、比对后,经由RS422接口传输给系统中心母钟,以实现对母钟精度的校准。 系统通过信号接收单元不断接收GPS发送的时间码及其相关代码,并对接收到的数据进行分析,判断这些数据是否真实可靠。如果数据可靠即对母钟进行校对。如果数据不可靠便放弃,下次继续接收。

集成电路的功耗优化和低功耗设计技术

集成电路的功耗优化和低功耗设计技术 摘要:现阶段各行业的发展离不开对能源的消耗,随着目前节能技术要求的不 断提升,降低功耗成为行业发展的重要工作之一。本文围绕集成电路的功耗优化 以及低功耗设计技术展开分析,针对现阶段常见的低功耗设计方式以及技术进行 探究,为集成电路功耗优化提供理论指导。 关键词:集成电路;功耗优化;低功耗 目前现代节能技术要求不断提升,针对设备的功耗控制成为当前发展的主要问题之一。 针对数字系统的功耗而言,决定了系统的使用性能能否得到提升。一般情况下,数字电路设 计方面,功耗的降低一直都是优先考虑的问题,并且通过对整个结构进行分段处理,同时进 行优化,最后总结出较为科学的设计方案,采用多种方式降低功耗,能够很大程度上提升设 备的使用性能。下面围绕数字电路的功耗优化以及低功耗设计展开分析。 一、设计与优化技术 集成电路的功耗优化和低功耗设计是相对系统的内容,一定要在设计的每个环节当中使 用科学且合理的技术手段,权衡并且综合考虑多方面的设计策略,才能够有效降低功耗并且 确保集成电路系统性能。因为集成电路系统的规模相对较大且具有一定的特殊性,想要完全 依靠人工或者手动的方式来达到这些目的并不现实且缺少可行性,一定要开发与之对应的电 路综合技术。 1 工艺级功耗优化 将工艺级功耗应用到设计当中,通常情况下采取以下两种方式进行功耗的降低: 首先,根据比例调整技术。进行低功耗设计过程中,为了能够实现功耗的有效降低会利 用工艺技术进行改善。在设计过程中,使用较为先进的工艺技术,能够让设备的电压消耗有 效缩减。现阶段电子技术水平不断提升,系统的集成度也随之提高,目前采用的零件的规格 也逐渐缩小,零件的电容也实现了良好的控制,进而能够很大程度上降低功耗。借助比例技术,除了能够将可见晶体管的比例进行调整,而且也能够缩小互连线的比例[1]。目前在晶体 管的比例缩小方面,能够依靠缩小零件的部分重要参数,进而在保持性能不被影响的情况下,通过较小的沟道长度,确保其他的参数不受影响的栅压缩方式,进而将零件的体积进行缩减,同时也缩短了延长的用时,使功耗能够有效降低。针对互连线缩小的方式主要将互连线的整 个结构进行调整,工作人员在进行尺寸缩减的过程中,会面临多方面的难题,比如系统噪音 无法控制,或者降低了电路使用的可靠性等等。 其次,采用封装技术进行降低。采用封装技术,能够让芯片与外部环境进行有效的隔离,进而避免了外部环境给电气设备造成一定的破坏与影响,在封装阶段,芯片的功耗会受到较 大的影响,因此需要使用更加有效的封装手段,才能够提升芯片的散热性,进而有效降低功 耗[2]。在多芯片的情况下,因为芯片与其他芯片之间的接口位置会产生大量的功耗,因此针 对多芯片采取封装技术,首先降低I/0接口的所有功能,接着解决电路延迟的问题,才能够 实现对集成电路的优化。 2 电路功耗优化 一般情况下,对电路级的功耗会选择动态的逻辑设计。在集成电路当中,往往会包含多 种电路逻辑结构,比如动态、静态等等,逻辑结构从本质上而言具有一定的差异性,这种差 异性也使得逻辑结构有着不同作用的功能。动态逻辑结构有着较为典型的特性[3]。静态的逻 辑结构当中所有的输入都会对接单独的MOS,因此逻辑结构功耗更大,动态的逻辑结构当中 电路通常具备N、M两个沟道,动态电路会利用时钟信号采取有效的控制,进而能够实现预

常用低功耗设计

随着半导体工艺的飞速发展和芯片工作频率的提高,芯片的功耗迅速增加,而功耗增加又将导致芯片发热量的增大和可靠性的下降。因此,功耗已经成为深亚微米集成电路设计中的一个非常重要的考虑因素。为了使产品更具有竞争力,工业界对芯片设计的要求已从单纯的追求高性能、小面积,转换为对性能、面积、功耗的综合要求。微处理器作为数字系统的核心部件,其低功耗设计对降低整个系统的功耗具有非常重要的意义。 本文首先介绍了微处理器的功耗来源,重点介绍了常用的低功耗设计技术,并对今后低功耗微处理器设计的研究方向进行了展望。 1 微处理器的功耗来源 研究微处理器的低功耗设计技术,首先必须了解其功耗来源。高层次仿真得出的结论如图1所示。 从图1中可以看出,时钟单元(Clock)功耗最高,因为时钟单元有时钟发生器、时钟驱动、时钟树和钟控单元的时钟负载;数据通路(Datapath)是仅次于时钟单元的部分,其功耗主要来自运算单元、总线和寄存器堆。除了上述两部分,还有存储单元(Mem ory),控制部分和输入/输出 (Control,I/O)。存储单元的功耗与容量相关。 如图2所示,C MOS电路功耗主要由3部分组成:电路电容充放电引起的动态功耗,结反偏时漏电流引起的功耗和短路电流引起的功耗。其中,动态功耗是最主要的,占了总功耗的90%以上,表达式如下: 式中:f为时钟频率,C1为节点电容,α为节点的翻转概率,Vdd为工作电压。

2 常用的低功耗设计技术 低功耗设计足一个复杂的综合性课题。就流程而言,包括功耗建模、评估以及优化等;就设计抽象层次而言,包括自系统级至版图级的所有抽象层次。同时,功耗优化与系统速度和面积等指标的优化密切相关,需要折中考虑。下面讨论常用的低功耗设计技术。 2.1 动态电压调节 由式(1)可知,动态功耗与工作电压的平方成正比,功耗将随着工作电压的降低以二次方的速度降低,因此降低工作电压是降低功耗的有力措施。但是,仅仅降低工作电压会导致传播延迟加大,执行时间变长。然而,系统负载是随时间变化的,因此并不需要微处理器所有时刻都保持高性能。动态电压调节DVS (Dynarnic Voltage Scaling)技术降低功耗的主要思路是根据芯片工作状态改变功耗管理模式,从而在保证性能的基础上降低功耗。在不同模式下,工作电压可以进行调整。为了精确地控制DVS,需要采用电压调度模块来实时改变工作电压,电压调度模块通过分析当前和过去状态下系统工作情况的不同来预测电路的工作负荷。 2.2 门控时钟和可变频率时钟 如图1所示,在微处理器中,很大一部分功耗来自时钟。时钟是惟一在所有时间都充放电的信号,而且很多情况下引起不必要的门的翻转,因此降低时钟的开关活动性将对降低整个系统的功耗产牛很大的影响。门控时钟包括门控逻辑模块时钟和门控寄存器时钟。门控逻辑模块时钟对时钟网络进行划分,如果在当前的时钟周期内,系统没有用到某些逻辑模块,则暂时切断这些模块的时钟信号,从而明显地降低开关功耗。图3为采用“与”门实现的时钟控制电路。门控寄存器时钟的原理是当寄存器保持数据时,关闭寄存器时钟,以降低功耗。然而,门控时钟易引起毛刺,必须对信号的时序加以严格限制,并对其进行仔细的时序验证。 另一种常用的时钟技术就是可变频率时钟。根据系统性能要求,配置适当的时钟频率,避免不必要的功耗。门控时钟实际上是可变频率时钟的一种极限情况(即只有零和最高频率两种值),因此,可变频率时钟比门控时钟技术更加有效,但需要系统内嵌时钟产生模块PLL,增加了设计复杂度。去年Intel公司推出的采用先进动态功耗控制技术的Montecito处理器,就利用了变频时钟系统。该芯片内嵌一个高精度数字电流表,利用封装上的微小电压降计算总电流;通过内嵌的一个32位微处理器来调整主频,达到64级动态功耗调整的目的,大大降低了功耗。

数码管动态显示的51单片机时钟设计

一看就会,适合初学者参考 T0,T1同时开中断,和别人的有点不一样 源程序如下 //数码管设计的可调电子钟 //K1,K2分别调整小时和分钟 #include #include #define uchar unsigned char #define uint unsigned int uchar code DSY_CODE[]={0xC0,0xF9,0xA4,0xB0,0x99, //共阳段码 0x92,0x82,0xF8,0x80,0x90,0xFF}; uchar DSY_BUFFER[]={0,0,0xBF,0,0,0xBF,0,0}; //显示缓存ucharScan_BIT; //扫描位,选择要显示的数码管 uchar DSY_IDX; //显示缓存索引 ucharKey_State; //P1端口按键状态 uchar h,m,s,s100; //十分秒,1/100s void DelayMS(uchar x) //延时 { uchar i; while(x--) for(i=0;i<120;i++);

} void Increase_Hour() //小时处理函数 { if(++h>23)h=0; DSY_BUFFER[0]=DSY_CODE[h/10]; DSY_BUFFER[1]=DSY_CODE[h%10]; } void Increase_Minute()//分钟处理函数 { if(++m>59) { m=0;Increase_Hour(); } DSY_BUFFER[3]=DSY_CODE[m/10]; DSY_BUFFER[4]=DSY_CODE[m%10]; } void Increase_Second() //秒处理函数 { if((++s>59)) { s=0;Increase_Minute(); } DSY_BUFFER[6]=DSY_CODE[s/10]; DSY_BUFFER[7]=DSY_CODE[s%10]; } void T0_INT() interrupt 1 //T0中断动态扫描数码管显示 { TH0=(65536-1000)/256; TL0=(65536-1000)%256; P2=Scan_BIT; //选通相应数码管 P0=~DSY_BUFFER[DSY_IDX]; //段码送p0进行取反,共阴共阳转换Scan_BIT=_crol_(Scan_BIT,1);//准别下次选通的数码管 DSY_IDX=(DSY_IDX+1)%8; //索引0-7内循环 } void T1_INT() interrupt 3 //T1中断控制时钟运行 { TH1=(65536-50000)/256; TL1=(65536-50000)%256; if(++s100==20) //50ms*20=1s延时 { s100=0;Increase_Second();

模拟电梯问题实验报告

电梯模拟问题 一、目的与要求 1. 掌握线性结构的逻辑特点及存储实现; 2. 根据选题,按规范化流程完成课程设计报告: ⑴.提供需求分析。(15分) ⑵.列出概要设计。(包括:抽象数据类型的描述;程序结构图或功能模块图)(20分) ⑶.给出详细设计。(包括:①存储结构的描述;②算法的详细设计,对复杂算法,最好画出其N-S流程图;③函数的调用关系图)(30分) ⑷.进行调试分析(注:调试时遇到的问题及解决方法,程序的输出结果及对结果的分析)。(15分) ⑸. 整理设计总结。(设计心得体会,以及其他总结信息等)(10分) ⑹.附有程序清单(注:代码可具有适当注释,用来说明程序的功能、结构)。(10分) 二、设计步骤 1、线性结构是有序数据元素的集合,存在着“一对一”的线性关系且只有一 个首结点,一个尾结点,首结点只有后继没有前趋,尾结点只有前趋没有后继。顺序表的存储结构包括顺序表和链表,顺序存储是指将线性表元素按照逻辑顺序依次存储在一组连续的地址单元中。链式存储是通过结点中的链域将线性表中n个结点按其逻辑顺序链接在一起。分为:单向链表,双向链表,循环链表。 2、(1)设计一个电梯模拟系统。这是一个离散的模拟程序,因为电梯系统是 乘客和电梯等“活动体”够成的集合,虽然他们彼此交互作用,但是他们的行为是基本独立的。在离散的模拟中,一模拟时钟决定每个活动体的动作发生的时刻和顺序,系统在某个模拟瞬间处理有待完成的各种事情,然后把模拟时钟推进到某个动作预定要发生的下一个时刻。可模拟某校五层教学楼的电梯系统,或者九层教学楼的电梯系统。 此程序的关键是模拟好电梯运行状态的转换与乘客进出的同步进行,需要一个函数判断电梯的运行状态,决定电梯的下一个运行状态如电梯的开门,关门,上升,下降,减速,加速等,也需要模拟时钟的函数来判断该运行哪个函数,也需要定义几个结构体存放结点信息。 (2)时钟函数: void DoTime() { //此函数用于模拟时钟 while(1) { if(Time>MaxTime)

电子时钟系统设计

《嵌入式系统》课程设计说明书 电子时钟系统 院部: 学生姓名: 指导教师:职称 专业: 班级: 学号:

湖南工学院嵌入式系统课程设计课题任务书 2.显示的时间为开发板当前的系统时间,显示的结果随着系统时间变化而变 I

摘要 嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统( 包括硬、软件系统) 极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等Browser 。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。嵌入式技术已成为信息产业中发展最快、应用最广的计算机技术之一,并被广泛应用于网络通信、消费电子、医疗电子、工业控制和交通系统等领域。 本次设计采用QT程序开发框架开发的模拟时钟程序,使用Linux系统到嵌入式终端移植和交叉编译环境搭建,最终成功实现了在嵌入式终端的运行。 关键词:嵌入式系统;QT;模拟时钟;Linux系统

目录 1绪论 (1) 1.1 设计背景 (2) 1.2 设计目的和意义 (2) 2 嵌入式Linux系统 (2) 2.1 嵌入式Linux概念 (2) 2.2 嵌入式Linux组成 (2) 3 Qt工具 (3) 3.1 Qt简介 (3) 3.2 Qt优点 (3) 4 模拟时钟的设计 (4) 4.1 代码的编写 (4) 4.2 代码的调试与运行 (4) 5 模拟时钟到开发板的下载 (6) 5.1 交叉编译环境的构建 (7) 5.2 模拟时钟到开发板的下载运行 (7) 结论 (10) 参考文献 (11) 致谢 (12) 附录 (13)

多功能数字钟的设计与实现

多功能数字钟的设计与实现一、实验目的 1.掌握数字钟的设计原理。 2.用微机实验平台实现数字钟。 3.分析比较微机实现的数字钟和其他方法实现的数字钟。 二、实验内容与要求 使用微机实验平台实现数字钟。 1.基本要求如下: 1) 24 小时制时间显示。 2) 3) 4)可以随时进行时间校对。 整点报时。 闹钟功能,要求设置起闹时间时,不影响时钟的正常走时。 2.提高要求 1) 2)校时时相应位闪烁。能够设置多个起闹点。 三、实验报告要求 1.设计目的和内容 2.总体设计 3.硬件设计:原理图(接线图)及简要说明 4.软件设计框图及程序清单 5.设计结果和体会(包括遇到的问题及解决的方法) 四、系统总体设计 根据设计要求,初步思路如下: 1)计时单元由定时/计数器8253的通道0 来实现。定时采用硬件计数和软件技术相结合的方式,即通过8253产生一定的定时时间,然后再利用软件进行计数,从而实现24小时制定时。8253定时时间到了之后产生中断信号,8253在中断服务程序中实现时、分、秒的累加。 2)时间显示采用实验平台上的6个LED数码管分别显示时、分、秒,采用动态扫描方式实现。 3)校时和闹铃定时通过键盘电路和单脉冲产生单元来输入。按键包括校时键、闹钟定时键、加1键和减1键等。

4) 报警声响用蜂鸣器产生,将蜂鸣器接到 8255 的一个端口,通过输出电平的高低来 控制蜂鸣器的发声。 系统硬件设计主要利用微机实验平台上的电路模块。硬件电路主要由键盘电路、 单脉冲产生单元、8253 定时计数器、8255 并行接口单元、8259 中断控制器、LED 显 示电路和蜂鸣器电路等等。系统的硬件电路设计框图如图 1 所示。 图 1 硬件电路框图 五、硬件设计 根据设计思路,硬件电路可通过实验平台上的一些功能模块电路组成,由于实验平台 上的各个功能模块已经设计好,用户在使用时只要设计模块间电路的连接,因此,硬件电 路的设计及实现相对简单。完整系统的硬件连接如图 2 所示。硬件电路由定时模块、按键 模块、数码管显示模块和蜂鸣器模块组成。 Q6 路 图 2 系统硬件电路图 微机系统 8253 8255 8259 数码管显示 电路 键盘电路 蜂鸣器电路 单脉冲发生 单元 单脉冲发 生单元 键盘电路 8255 PA0 PB0 PC 8253 OUT0 GATE0 Clk0 地址 CS1 译码 CS2 电路 CS3 CS4 数码管显示模块 8259 IRQ2 IRQ3 IRQ5 PC BUS 蜂鸣器 单脉冲发 生单元

相关主题
文本预览
相关文档 最新文档