数字时钟设计步骤及原理

合集下载

数字电路数字时钟课程实验报告

数字电路数字时钟课程实验报告

数字时钟设计实验报告一、设计要求:设计一个24小时制的数字时钟。

要求:计时、显示精度到秒;有校时功能。

采用中小规模集成电路设计。

发挥:增加闹钟功能。

二、设计方案:由秒时钟信号发生器、计时电路和校时电路构成电路。

秒时钟信号发生器可由振荡器和分频器构成。

计时电路中采用两个60进制计数器分别完成秒计时和分计时;24进制计数器完成时计时;采用译码器将计数器的输出译码后送七段数码管显示。

校时电路采用开关控制时、分、秒计数器的时钟信号为校时脉冲以完成校时。

三、电路框图:图一数字时钟电路框图四、电路原理图:(一)秒脉冲信号发生器秒脉冲信号发生器是数字电子钟的核心部分,它的精度和稳定度决定了数字钟的质量。

由振荡器与分频器组合产生秒脉冲信号。

振荡器: 通常用555定时器与RC构成的多谐振荡器,经过调整输出1000Hz脉冲。

分频器: 分频器功能主要有两个,一是产生标准秒脉冲信号,一是提供功能扩展电路所需要的信号,选用三片74LS290进行级联,因为每片为1/10分频器,三片级联好获得1Hz标准秒脉冲。

其电路图如下:译码器译码器译码器时计数器分计数器秒计数器校时电路秒信号发生器图二秒脉冲信号发生器(二)秒、分、时计时器电路设计秒、分计数器为60进制计数器,小时计数器为24进制计数器。

60进制——秒计数器秒的个位部分为逢十进一,十位部分为逢六进一,从而共同完成60进制计数器。

当计数到59时清零并重新开始计数。

秒的个位部分的设计:利用十进制计数器CD40110设计10进制计数器显示秒的个位。

个位计数器由0增加到9时产生进位,连在十位部计数器脉冲输入端CP,从而实现10进制计数和进位功能。

利用74LS161和74LS11设计6进制计数器显示秒的十位,当十位计数器由0增加到5时利用74LS11与门产生一个高电平接到个位、十位的CD40110的清零端,同时产生一个脉冲给分的个位。

其电路图如下:图三 60进制--秒计数电路60进制——分计数电路分的个位部分为逢十进一,十位部分为逢六进一,从而共同完成60进制计数器。

《电子技术》课程设计报告-数字电子钟设计

《电子技术》课程设计报告-数字电子钟设计

《电子技术》课程设计报告-数字电子钟设计一、背景介绍数字电子钟是一个实时的计时器,它可以按照设定的时刻精确地表示时间。

它使用微处理器和时钟芯片来处理时间。

因此,它可以被视为一个微处理器系统,系统中含有存储器、计数器、报警功能等。

最新的电子时钟如石英钟使用特制石英晶片来制定时钟。

由于石英可以产生完美的电振动,因此可以更准确地检测时钟改变。

二、数字电子钟的设计原理1、时钟驱动电子时钟的操作需要一定的时间和精度,主要是依靠特殊的驱动器来实现的。

驱动器有石英、硅、力学和光学等多种。

其中石英芯片是电子时钟的核心部件并且最常用。

可以让电子时钟每秒产生32千分之一秒的精度。

2、晶振电路晶体振荡器电路是将电能转换成振荡信号和时钟信号的基础电路。

在电子时钟中,晶振电路可以将3.3V的DC电源转换成正弦波信号。

3、控制电路控制电路是接收电子时钟信号,并将其转换为可读取的数字信号的电路。

它通过检测当前的时钟值与它预设的标准值,来决定是否需要重新设定。

4、显示电路为了使时间显示准确,显示电路需要有一定的能力,它可以将控制电路经过变换后的数字转化为可视的数字或符号信号,比如LED。

我们首先使用PIC16F628A微控制器来控制数字电子钟,PIC16F628A是一款常用的单片机,在实现数字电子钟的最基本功能时天然的具有很多优势,即具有丰富的I/O口及高性能的CPU。

而在驱动这个数字电子时钟时,我们选择了普通的石英晶振,其工作电压为3.3V,频率为32.768kHz。

它的作用是将电源电压转换成正弦波信号,然后此信号可以被PIC单片机读取,从而实现全电子时钟功能。

在处理每秒钟走过的时间时,我们使用计数器根据晶振输入的时钟信号逐渐计数,而当计数器计数到一定值时,PIC单片机就知道一秒的时间已经过去,然后继续进行计算.最后,我们选用一个4位共阳极数码管来将这些数据转化为显示数字的动作,它从数据地址上读取数据,然后一次送到一位,就可以实时显示电子时钟的实时时间。

数字时钟各单元电路的设计方案及原理说明

数字时钟各单元电路的设计方案及原理说明

数字时钟各单元电路的设计方案及原理说明数字时钟是现代生活中常见的时间显示工具,它通过使用数字来表示小时和分钟。

而数字时钟的核心组成部分则是由各个数字显示单元电路组成的。

在本文中,我将为您介绍数字时钟各单元电路的设计方案及原理说明,希望能帮助您更深入地了解数字时钟的工作原理。

我们需要了解数字时钟的基本原理。

数字时钟使用了七段显示器来显示数字,每个数字由七个LED(Light Emitting Diode)组成,分别表示了该数字的不同线条。

为了控制七段显示器显示特定的数字,我们需要设计相应的驱动电路。

1. 数字时钟的驱动电路设计方案a. 时钟信号生成器:数字时钟需要一个稳定的时钟信号来驱动各个单元电路,通常使用晶振电路来生成精确的时钟信号。

b. 时分秒计数器:用于计数时间,并将计数结果转化为可以驱动七段显示器的信号。

时分秒计数器可以使用计数逻辑电路来实现,其中包括触发器和计数器芯片等。

c. 译码器:译码器用于将计数器输出的二进制数据转换为可以驱动七段显示器的控制信号。

根据不同的数字,译码器会选通对应的七段LED。

2. 数字时钟的各单元电路原理说明a. 时钟信号生成器的原理:晶振电路通过将晶振与逻辑电路相连,通过振荡来生成稳定的时钟信号。

晶振的振荡频率决定了时钟的精确度,一般使用32.768kHz的晶振来实现。

b. 时分秒计数器的原理:时分秒计数器使用触发器和计数器芯片来实现,触发器可以保存二进制的计数值,并在时钟信号的作用下进行状态切换。

计数器芯片可以根据触发器的状态进行计数和重置操作。

c. 译码器的原理:译码器根据计数器输出的二进制数据选择对应的七段LED。

七段LED通过加电来显示数字的不同线条,然后通过译码器的工作,将二进制数据转换为驱动七段LED的信号。

通过以上的设计方案和原理说明,我们可以更好地理解数字时钟各单元电路的工作原理。

数字时钟通过时钟信号生成器来提供稳定的时钟信号,时分秒计数器记录并计算时间,译码器将计数结果转化为可以驱动七段显示器的信号。

数电课设--数字钟的设计

数电课设--数字钟的设计

数电课设--数字钟的设计摘要:该设计主要是设计一种基于数字电路实现的数字钟,用于显示当前时间,同时设计一个简单的时间调整系统来实现对数字钟的时间调整。

本设计实现了数字钟的时间显示、时间调整等功能,具有简单、实用等优点。

关键词:数字钟、计数器、时间调整系统一、引言数字钟是一种时钟显示设备,它可以在显示面板上显示当前时间,数字钟的普及改变了人们观念上的关于时间知识的变革。

本课设就是要通过设计一个数字钟,来综合应用我们所学的数字电路知识,通过数字电路的设计实现时间的显示及调整。

二、数字钟的设计原理数字钟的设计离不开计数器和定时器,计数器的作用是进行计数操作,进而对时间进行处理,定时器的作用是用来控制计数器的计数和复位,使其能够按照固定的时间序列不断进行计数。

数字钟的显示部分采用数码显示管显示当前时间,数码显示管显示的时间单位有小时、分钟和秒。

三、数字钟的设计方案数字钟的设计方案可以分为两部分,一部分是计数器及定时器的设计,另一部分是时间调整系统的设计。

下面分别进行介绍。

(一)计数器及定时器的设计计数器采用7474型D触发器进行设计,二进制计数器采用模8计数模式,带有异步复位功能。

其中,D触发器的Vcc接+5V电源,GND接地,CLK接定时器的输出,D接Q的输出,Q接下一级触发器D端。

计数器采用8253/8254型定时器,应该根据标准时钟的频率和预置值计算计数器的频率和复位时间。

时间调整功能通常是通过8255接口芯片实现。

(二)时间调整系统的设计时间调整系统通过单片机实现,主要实现以下功能:上下键切换修改时间单位、按键快速调整修改时间数字、按键高频稳定范围设置、判断闹钟是否开启、日历选择等。

四、数字钟的实现数字钟的实现可以参考实验教材进行,实现前需要明确以下几点:1. 根据实际需求确定数字钟的参数:例如显示的时间格式,以及是否需要设置闹钟等。

2. 设计好数字钟的原理图,并选择适合的元件进行接线。

3. 进行电路调试和测试,对电路进行稳定性测试等。

单片机实验报告数字时钟设计报告

单片机实验报告数字时钟设计报告

单片机实验报告数字时钟设计报告一、实验目的本次单片机实验的目的是设计并实现一个基于单片机的数字时钟。

通过该实验,深入了解单片机的工作原理和编程方法,掌握定时器、中断、数码管显示等功能的应用,提高综合运用知识解决实际问题的能力。

二、实验原理1、单片机选择本次实验选用了常见的 51 系列单片机,如 STC89C52。

它具有丰富的资源和易于编程的特点,能够满足数字时钟的设计需求。

2、时钟计时原理数字时钟的核心是准确的计时功能。

通过单片机内部的定时器,设定合适的定时时间间隔,不断累加计时变量,实现秒、分、时的计时。

3、数码管显示原理采用共阳或共阴数码管来显示时间数字。

通过单片机的 I/O 口控制数码管的段选和位选信号,使数码管显示相应的数字。

4、按键控制原理设置按键用于调整时间。

通过检测按键的按下状态,进入相应的时间调整模式。

三、实验设备与材料1、单片机开发板2、数码管3、按键4、杜邦线若干5、电脑及编程软件(如 Keil)四、实验步骤1、硬件连接将数码管、按键与单片机开发板的相应引脚通过杜邦线连接起来。

确保连接正确可靠,避免短路或断路。

2、软件编程(1)初始化单片机的定时器、中断、I/O 口等。

(2)编写定时器中断服务程序,实现秒的计时。

(3)设计计时算法,将秒转换为分、时,并进行进位处理。

(4)编写数码管显示程序,将时间数据转换为数码管的段选和位选信号进行显示。

(5)添加按键检测程序,实现时间的调整功能。

3、编译与下载使用编程软件将编写好的程序编译生成可执行文件,并下载到单片机中进行运行测试。

五、程序设计以下是本次数字时钟设计的主要程序代码片段:```cinclude <reg52h>//定义数码管段选码unsigned char code SEG_CODE ={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};//定义数码管位选码unsigned char code BIT_CODE ={0x01, 0x02, 0x04, 0x08, 0x10,0x20, 0x40, 0x80};//定义时间变量unsigned int second = 0, minute = 0, hour = 0;//定时器初始化函数void Timer_Init(){TMOD = 0x01; //定时器 0 工作在方式 1 TH0 =(65536 50000) / 256; //定时 50ms TL0 =(65536 50000) % 256;EA = 1; //开总中断ET0 = 1; //开定时器 0 中断TR0 = 1; //启动定时器 0}//定时器 0 中断服务函数void Timer0_ISR() interrupt 1{TH0 =(65536 50000) / 256;TL0 =(65536 50000) % 256;second++;if (second == 60){second = 0;minute++;if (minute == 60){minute = 0;hour++;if (hour == 24){hour = 0;}}}}//数码管显示函数void Display(){unsigned char i;for (i = 0; i < 8; i++)P2 = BIT_CODEi;if (i == 0){P0 = SEG_CODEhour / 10;}else if (i == 1){P0 = SEG_CODEhour % 10;}else if (i == 2){P0 = 0xBF; //显示“”}else if (i == 3){P0 = SEG_CODEminute / 10;else if (i == 4){P0 = SEG_CODEminute % 10;}else if (i == 5){P0 = 0xBF; //显示“”}else if (i == 6){P0 = SEG_CODEsecond / 10;}else if (i == 7){P0 = SEG_CODEsecond % 10;}delay_ms(1);//适当延时,防止闪烁}}//主函数void main(){Timer_Init();while (1){Display();}}```六、实验结果与分析1、实验结果将程序下载到单片机后,数字时钟能够正常运行,准确显示时、分、秒,并且通过按键可以进行时间的调整。

基于单片机的数字电子时钟设计

基于单片机的数字电子时钟设计

基于单片机的数字电子时钟设计数字电子时钟是一种非常常见的电子产品,它可以帮助我们实现精确的时间显示,让我们的生活更加方便。

随着科技的不断发展,数字电子时钟也在不断更新和发展,基于单片机的数字电子时钟已经成为当前最先进的技术之一。

本文将介绍基于单片机的数字电子时钟的设计原理和实现方法。

一、数字电子时钟的设计原理数字电子时钟的实现原理就是把时间信号转换成数字信号,再通过计算机芯片来显示时间。

其中,时间信号可以是电缆信号或者无线信号,并且也可以通过外部的控制电路进行调节。

而计算机芯片可以采用单片机、PLC控制器等方案进行设计。

基于单片机的数字电子时钟,可以使用数字时钟芯片和定时器芯片来完成。

数字时钟芯片是一种能够实现数据的统计、时钟显示等功能的IC芯片,通过将其与定时器芯片相连,就能够实现精确的时间统计和显示。

此外,在设计时还需要进行软硬件电路的优化和调试。

二、基于单片机的数字电子时钟的实现方法1、硬件设计基于单片机的数字电子时钟的硬件设计,主要包含单片机控制电路、显示电路、外设接口电路、供电电路、时钟芯片和定时器芯片等部分。

其中,时钟芯片用于提供精准的时间信号,定时器芯片则用于进行计时,而单片机和外设接口电路则用于控制整个数字电子时钟的功能。

另外,数字电子时钟还需要进行外观设计,通常采用的是数码管或液晶屏幕显示时间。

通过优化电路布局和参数匹配,可以有效地提高整个数字电子时钟的稳定性和精度。

2、软件设计在数字电子时钟的软件设计中,主要包含固件设计和操作系统设计两部分。

固件设计是指对单片机系统进行程序编写、调试和优化,以实现时钟的各种功能;而操作系统设计,则是对固件进行封装,建立起一套完整的操作环境,方便用户进行操作。

在固件设计中,需要考虑到时钟的显示、调节、闹钟、定时等多种功能的实现。

通常,这些功能都会涉及到多个模块和数据结构的设计,需要通过循序渐进的方式逐步实现。

在操作系统设计中,需要对时钟的各种操作进行封装,形成一套完整的操作界面。

数字时钟实验报告

数字时钟实验报告

数字时钟实验报告一、实验目的本次数字时钟实验的主要目的是设计并实现一个能够准确显示时、分、秒的数字时钟系统,通过该实验,深入理解数字电路的原理和应用,掌握计数器、译码器、显示器等数字电路元件的工作原理和使用方法,提高电路设计和调试的能力。

二、实验原理1、时钟脉冲产生电路时钟脉冲是数字时钟的核心,用于驱动计数器的计数操作。

本实验中,采用石英晶体振荡器产生稳定的高频脉冲信号,经过分频器分频后得到所需的秒脉冲信号。

2、计数器电路计数器用于对时钟脉冲进行计数,分别实现秒、分、时的计数功能。

秒计数器为 60 进制,分计数器和时计数器为 24 进制。

计数器可以由集成计数器芯片(如 74LS160、74LS192 等)构成。

3、译码器电路译码器将计数器的输出编码转换为能够驱动显示器的信号。

常用的译码器芯片有 74LS47(用于驱动共阳数码管)和 74LS48(用于驱动共阴数码管)。

显示器用于显示数字时钟的时、分、秒信息。

可以使用数码管(LED 或 LCD)作为显示元件。

三、实验器材1、集成电路芯片74LS160 十进制计数器芯片若干74LS47 BCD 七段译码器芯片若干74LS00 与非门芯片若干74LS10 三输入与非门芯片若干2、数码管共阳数码管若干3、电阻、电容、晶振等无源元件若干4、面包板、导线、电源等四、实验步骤1、设计电路原理图根据实验原理,使用电路设计软件(如 Protel、Multisim 等)设计数字时钟的电路原理图。

在设计过程中,要合理布局芯片和元件,确保电路连接正确、简洁。

按照设计好的电路原理图,在面包板上搭建实验电路。

在搭建电路时,要注意芯片的引脚排列和连接方式,避免短路和断路。

3、调试电路接通电源,观察数码管是否有显示。

如果数码管没有显示,检查电源连接是否正确,芯片是否插好。

调整时钟脉冲的频率,观察秒计数器的计数是否准确。

如果秒计数器的计数不准确,检查分频器的连接是否正确,晶振的频率是否稳定。

数字钟实验报告

数字钟实验报告

数字钟实验报告引言:数字钟是一种使用数字显示时间的时钟,它已经成为我们日常生活中不可或缺的一部分。

通过数字钟,我们可以准确地了解当前的时间,从而更好地安排自己的生活。

本实验旨在探究数字钟的原理和制作过程,并通过实际的制作过程加深对数字钟的了解。

一、原理介绍数字钟的原理基于电子技术和计时器的结合。

其中,主要包括以下几个部分:时钟芯片、数码管、控制电路以及电源等。

1.时钟芯片:时钟芯片是数字钟的核心部件,它内置了计时器和时钟功能。

通过时钟芯片,我们可以实现时间的自动更新和准确显示。

2.数码管:数码管是数字钟的显示部分,它由数根发光二极管组成,能够显示0-9的数字。

通过不同的控制电流和电压,数码管可以根据时钟芯片的指令来显示相应的数字。

3.控制电路:控制电路是连接时钟芯片和数码管之间的桥梁,它负责将时钟芯片输出的信号转换为数码管可识别的信号。

控制电路可以通过编码器、解码器和集线器等元件来实现。

4.电源:电源为数字钟提供所需的电能,将电能转换为供时钟芯片和数码管正常工作所需的电流和电压。

二、实验准备在进行实验之前,我们需要准备以下实验器材:晶体管、电阻器、电容器、发光二极管、电线、焊接工具等。

1.选择晶体管:在制作数字钟的过程中,我们需要选择合适的晶体管来实现数字的显示。

常见的晶体管有阳极、阴极共阳、阴极共阴等。

根据所需的显示效果选择不同类型的晶体管。

2.电阻器和电容器:电阻器和电容器是控制电路的重要组成部分,它们能够限制电流和调节电压,从而保证数字钟的正常工作。

3.焊接工具:焊接工具是将各个器材连接在一起的关键。

使用焊接工具进行焊接时,需要注意操作安全,确保焊点牢固。

三、实验步骤通过以下步骤,我们可以逐步完成数字钟的制作:1.划定电路板:首先,我们需要在电路板上进行标记,划定数字钟的各个部分的位置。

这一步骤旨在确保各个元件的安装位置准确无误。

2.安装元件:接下来,我们可以一步步安装各个元件。

首先,焊接晶体管和电阻器等固定元件,然后进行焊接。

数字时钟设计

数字时钟设计

目录一、设计总体思路, 基本原理和框图 (1)1.总体思路 (2)2.基本原理图 (2)3.总体设计框图及电路总图 (3)3.1秒模块电路 (3)3.2分模块电路 (4)3.3时模块电路 (5)3.4总电路模块 (6)二、主要的芯片功能介绍 (7)74192 十进制计数器 (7)74S32 与门逻辑 (8)74S08 或门逻辑 (9)三、安装与调试 (10)四、故障分析与电路改进 (11)五、总结与设计调试体会 (12)六、课程设计评分 (13)七、附录(元器件清单) (14)八、参考文献 (14)设计总体思路1、总体思路:准确设计具有能显示时、分、秒的数字时钟2、时计时要求具备24翻1、分和秒得计时为60进制3、具有手动和自动校正小时和分钟的功能,要求校正小时时不影响秒和分的正常计数4、整点报时:要求电路每次整点时鸣叫5次低音(500HZ)、整点时鸣叫一次高音(1000HZ)5、具有暂停功能设计基本原理两片192与一个与门构成60的秒进制、两片192与一个与门构成60的分进制、两片192与一个与门构成24的时进制。

当分变为59时,到下一个脉冲来时通过与非门控制蜂鸣器进行整点报时。

当秒到59时,下一个脉冲时对分产生进位。

当分为59时,下一个脉冲到来时,对时产生进位。

当时,第24个时到来时,通过反馈对时产生清零。

↑↑↑↑↑↑↑↑↑秒设计电路块分设计电路模块时电路模块总电路模块主要芯片功能介绍74192为十进制计数器。

74S32功能介绍74S08功能介绍三、安装与调试(1)安装1)领取实验箱子,面包板,以及设计电路所需要的各种芯片,并测试各芯片的好坏。

2)然后将已测试好的芯片合理的安装在实验板上。

3)接通实验台的电源,然后在实验台上检测每根导线的好坏,为接电路做准备。

4)按照已仿真好的电路图进行分模块接线,并在每个模块接好后,进行模块电路的测试。

5)将各模块安装好以后,再将模块之间连接起来,待整个电路安装完成以后,接通实验台的电源,观察电路的运行情况,看电路能否正常工作,如果电路不能正常运行,则进行下一步工作——调试。

数字电子时钟设计

数字电子时钟设计

数字电子时钟设计数字电子时钟是一种简单易用、精度高、使用方便的时钟仪器。

在现代化的生活中,数字电子时钟已经成为人们生活和工作中不可缺少的一部分。

本文将介绍数字电子时钟的设计及其原理。

1. 数字电子时钟的结构数字电子时钟一般由数字显示器、电源、时钟芯片、振荡电路和控制电路等几个部分组成。

数字显示器:数字电子时钟采用的是七段数码管作为显示器,显示出当前时刻的时间。

电源:数字电子时钟的电源一般采用直流电源,可以通过普通的插座或者电池供电。

时钟芯片:时钟芯片是数字电子时钟的核心部分,可以提供高精度的时钟信号,并且可以根据用户设置的时间来进行计时。

振荡电路:振荡电路是数字电子时钟的发挥器,用于产生一个稳定的高精度的时钟信号。

控制电路:控制电路主要用于对数字电子时钟进行各种设置,并且可以控制数字电子时钟的各种功能。

2. 数字电子时钟的操作原理数字电子时钟的操作原理是通过时钟芯片来实现的。

时钟芯片可以提供一个高精度的时钟信号,这个时钟信号可以被控制电路所接收,并且控制电路可以将这个信号转化为秒、分、时等时间单位。

随着科技的发展,数字电子时钟的精度越来越高,可以达到秒级甚至毫秒级的精度。

这些高精度的时钟芯片可以通过电子时钟所连接的振荡电路来产生非常稳定的时钟信号。

3. 数字电子时钟设计的技术要求数字电子时钟的设计需要考虑以下几个方面的技术要求:(1)高精度的时钟信号数字电子时钟的时钟信号需要具有高精度,通常要求时钟误差不超过几秒钟。

这就需要时钟芯片具有非常高的精度的时钟信号源,同时还需要连接高精度的振荡电路。

(2)显示效果清晰明了数字电子时钟的显示效果要求非常的清晰明了,这就需要采用高质量的七段数码管,并且数量要足够,以显示出完整的时间信息。

(3)快速响应、稳定性好由于数字电子时钟是人们生活和工作中不可缺少的一部分,因此数字电子时钟的响应速度和稳定性也非常的重要,需要在设计时特别注重。

4. 数字电子时钟的优点和缺点数字电子时钟有以下几个优点:(1)高精度稳定数字电子时钟可以提供高精度的时钟信号,并且可以保持这个时钟信号的稳定性,误差范围非常小。

vhdl实验报告--数字钟

vhdl实验报告--数字钟

VHDL实验报告一、实验目的1、设计一个24小时制数字钟,要求能显示时,分,秒,并且可以手动调整时和分。

2、通过复杂实验,进一步加深对VHDL语言的掌握程度。

二、实验原理数字钟的主体是计数器,它记录并显示接收到的秒脉冲个数,其中秒和分为模60计数器,小时是模24计数器,分别产生3位BCD码。

BCD码经译码,驱动后接数码管显示电路。

秒模60计数器的进位作为分模60计数器的时钟,分模60计数器的进位作为模24计数器的时钟。

为了实现手动调整时间,在外部增加了setm(调整分),seth(调整时)按键,当这两个按键为低电平时,电路正常计时,当为高电平时,分别调整分,时。

同时在外部还增加了一个清零按键clr.和消抖动电路。

三、实验步骤1、单元模块设计部分1)消抖动电路关键部分signal key_in1,key_in2:std_logic:='0';beginprocess(clk,key_in)beginif clk'event and clk='1' thenkey_in1<=key_in;key_in2<=key_in1;if key_in='1' and key_in1='1' and key_in2='1' then key_out<='1';else key_out<='0';end if;2) 模60计数器程序关键部分:signal md_temp,mg_temp:std_logic_vector(3 downto 0);beginprocess(clk,clr)beginif clr='1' thenmd_temp<="0000"; mg_temp<="0000";elsif set='1' thenmd_temp<=setl; mg_temp<=seth;elsif clk'event and clk='1' thenif md_temp="1001" thenmd_temp<="0000";mg_temp<=mg_temp+'1';else md_temp<=md_temp+'1';if md_temp="1001" and mg_temp="0101" thenmd_temp<="0000";mg_temp<="0000";2、模24计数器程序关键部分signal hd_temp,hg_temp:std_logic_vector(3 downto 0);beginprocess(clk,clr,set,setl,seth)isbeginif set='1' then hd_temp<=setl; hg_temp<=seth;elsif clr='1' then hd_temp<="0000"; hg_temp<="0000";elsif clk'event and clk='1' thenif hg_temp="0010" and hd_temp="0011" thenhd_temp<="0000"; hg_temp<="0000";elsif hd_temp="1001" thenhg_temp<=hg_temp+'1' hd_temp<="0000";else hd_temp<=hd_temp+'1';end if;end if;end process ;3、清零和调时部分显示部分关键程序process (sd,sg,md,mg,hd,hg)begincase sd iswhen "0000" =>sl<="1111110";when "0001" =>sl<="0110000";when "0010" =>sl<="1101101";when "0011" =>sl<="1111001";when "0100" =>sl<="0110011";when "0101" =>sl<="1011011";when "0110" =>sl<="1011111";when "0111" =>sl<="1110000";when "1000" =>sl<="1111111";when "1001" =>sl<="1111011";when others =>sl<="0000000";end case;if clk_g'event and clk_g='1' thenif sel="101" thensel<="000";else sel<=sel+'1';end if;end if;process(sel,sd,sl,sg,sh,md,ml,mg,mh,hd,hl,hg,hh)begincase sel iswhen"000"=>led<=sl;led_which<=sd;when"001"=>led<=sh;led_which<=sg;when"010"=>led<=ml;led_which<=md;when"011"=>led<=mh;led_which<=mg;when"100"=>led<=hl;led_which<=hd;when"101"=>led<=hh;led_which<=hg;when others=>led<="0000000";led_which<="0000";end case;4、顶层文件关键程序port(clk,clk_g:in std_logic;-----clk_g是用在数码管显示里面的信号clr: in std_logic;------clr=1时清零setm,seth:in std_logic;---------setm为1时调分,seth为1时调时setd,setg:in std_logic_vector(3 downto 0);----调整时间的时候,setd调整的是低位setg 调整高位led:out std_logic_vector(6 downto 0);sel_out: out std_logic_vector(2 downto 0);led_which: out std_logic_vector(3 downto 0));---输出的是秒分时的哪一个beginu1:de_shake port map (clk=>clk,key_in=>clr,key_out=>clro);u2:de_shake port map (clk=>clk,key_in=>setm,key_out=>setmo);u3:de_shake port map (clk=>clk,key_in=>seth,key_out=>setho);u4:s60 port map (clk=>clk,clr=>clro,sd=>sdl,sg=>sgh,fenmaichong=>fenmaichong o);u5:m60 port map (clk=>fenmaichongo,clr=>clro,md=>mdl,mg=>mgh,xiaoshimaichong=> xiaoshimaichongo,setl=>setd,seth=>setg,set=>setmo);u6:h24 port map (clk=>xiaoshimaichongo,clr=>clro,hd=>hdl,hg=>hgh,set=>setho,se tl=>setd,seth=>setg);u7:led_xs port map (clk_g=>clk_g,sd=>sdl,sg=>sgh,md=>mdl,mg=>mgh,hd=>hdl, hg=>hgh,led=>led,sel_out=>sel_out,led_which=>led_which);四、实验结果及分析本设计,满足了本次试验设计的任务要求,能显示时分秒,并且可以手动调节分和时。

数字钟开题报告

数字钟开题报告

数字钟开题报告1. 引言数字钟是一种通过数字显示时间的电子设备。

随着科技的发展,数字钟逐渐取代了传统的指针钟,成为了人们日常生活中常见的时间显示工具。

本文将就数字钟的原理、应用领域、市场需求以及设计步骤等方面进行介绍和分析。

2. 数字钟的原理数字钟通过电子元件来显示时间,主要包括集成电路、数字显示模块等。

其工作原理如下:1.时钟信号输入:通过外部或内部的时钟信号源输入数字钟。

2.时钟计数:数字钟将接收到的时钟信号进行计数,并将当前时间保存在内部寄存器中。

3.数字显示:根据寄存器中保存的时间信息,数字钟使用数字显示模块将时间以数字形式显示出来。

3. 数字钟的应用领域数字钟广泛应用于各个领域和场景,如下所示:3.1 家庭生活数字钟是人们生活中常见的装饰品之一,在家庭中用于显示当前时间,并作为室内装饰的一部分。

3.2 公共场所数字钟在公共场所被广泛应用,如火车站、公交站、机场等地,方便人们查看当前时间。

3.3 学校学校教室中的数字钟不仅用于显示时间,还可以用于控制上课、下课时间,提高学校教育管理的效率。

3.4 工业生产数字钟在工业生产中被用作计时工具,为生产线上的工人提供准确的时间信息,保证生产进度的准确性。

4. 数字钟的市场需求随着社会的发展和人们对时间管理的日益重视,数字钟市场需求不断增加。

以下是数字钟市场需求的一些主要特点:1.高精度:数字钟需要提供准确的时间信息,尤其是在一些对时间要求较高的场景中,如交通运输、工业生产等。

2.多种功能:除了显示时间,数字钟还可以提供日期显示、闹钟功能、温度显示等其他实用功能,满足用户多样化的需求。

3.外观设计:数字钟的外观设计也是用户在购买时考虑的一个重要因素,各种款式、颜色的数字钟应运而生,满足不同用户的审美需求。

5. 数字钟的设计步骤设计一款数字钟的基本步骤如下:5.1 硬件设计1.确定数字钟的外观尺寸和材质,选择合适的外壳和显示面板。

2.选用合适的集成电路和数字显示模块,考虑其功耗、稳定性和成本等因素。

EDA设计(II)实验报告数字电子钟

EDA设计(II)实验报告数字电子钟

EDA设计(II)实验报告-数字电子钟实验报告:数字电子钟一、实验目的本实验旨在通过使用EDA设计软件,设计并实现一个具有时、分、秒功能的数字电子钟。

通过学习使用EDA工具,掌握数字电路设计的基本步骤和技巧,培养实践能力和创新思维。

二、实验原理数字电子钟是一种以数字形式显示时间的装置,它利用了时、分、秒的计时原理。

核心部分包括一个时钟发生器,用于产生标准时间信号,以及一个计数器,用于对时间进行计数并显示。

此外,还需要一些控制逻辑来控制时、分、秒的进位和显示。

三、实验步骤1.设计准备:在开始设计之前,首先明确设计要求和功能。

考虑到实验的复杂性和可实现性,我们采用最简单的电路结构,即基于计数器和译码器的数字电子钟。

2.绘制电路图:使用EDA设计软件(如Quartus II)绘制电路图。

首先创建新项目,然后添加必要的元件(如74LS192计数器、74LS248译码器等),并根据设计要求连接元件。

3.编写程序:使用硬件描述语言(如VHDL或Verilog)编写计数器和译码器的程序。

确保程序能够实现所需的功能,并进行仿真测试。

4.编译和下载:将程序编译成可下载的配置文件,然后下载到FPGA开发板上。

5.硬件测试:连接开发板到PC,启动程序,观察数字电子钟的显示情况。

检查时间是否准确,各部分功能是否正常。

6.性能评估:对数字电子钟的性能进行评估,包括计时精度、稳定性等指标。

根据评估结果对设计进行优化。

四、实验结果与分析1.设计结果:经过上述步骤,我们成功地设计并实现了一个基于FPGA的数字电子钟。

通过EDA软件和硬件描述语言,我们实现了计数器和译码器的功能,并完成了程序的编写和下载。

2.性能分析:经过测试,我们的数字电子钟具有较高的计时精度和稳定性。

时间显示准确,各部分功能正常。

这表明我们的设计是成功的。

3.优化方向:虽然我们的数字电子钟已经具有较好的性能,但仍有一些方面可以优化。

例如,可以考虑添加更多的功能,如闹钟、温度显示等;也可以进一步优化电路结构,降低成本和提高性能。

数字时钟设计实验报告

数字时钟设计实验报告

数字时钟设计实验报告数字时钟设计实验报告引言:在现代社会中,时钟是我们生活中不可或缺的一部分。

无论是在家中、办公室还是在公共场所,我们都可以看到各种各样的时钟。

随着科技的不断发展,数字时钟逐渐取代了传统的指针时钟,成为人们生活中的主流。

本次实验旨在设计一个简单的数字时钟,通过实践来了解数字时钟的原理和工作方式。

一、实验目的本次实验的主要目的是设计一个数字时钟,通过学习数字时钟的原理和工作方式,加深对时钟的理解,并提高对电子电路的实际操作能力。

二、实验原理数字时钟是一种利用数字显示时间的设备,其核心部分是一个时钟芯片和数码管。

时钟芯片负责计时和控制,而数码管则用于显示时间。

时钟芯片通常由晶体振荡器、计数器、分频器和时钟控制电路组成。

三、实验材料和仪器本次实验所需材料和仪器如下:1. 时钟芯片2. 数码管3. 电阻、电容和晶体振荡器4. 电路板和导线5. 电源和示波器四、实验步骤1. 按照电路图连接电路板上的元件,确保连接正确无误。

2. 将时钟芯片插入电路板中,并连接晶体振荡器。

3. 将数码管插入电路板,并连接相应的引脚。

4. 连接电源和示波器,确保电路正常工作。

5. 调节示波器,观察时钟芯片的输出信号。

6. 调试电路,确保数码管能够正确显示时间。

五、实验结果和分析经过调试和测试,我们成功设计出一个简单的数字时钟。

通过示波器观察到时钟芯片的输出信号,可以看到信号的频率和波形变化,进而控制数码管的显示。

数码管能够准确地显示时间,实现了我们的设计目标。

六、实验心得通过本次实验,我对数字时钟的原理和工作方式有了更深入的了解。

通过亲自动手搭建电路,我不仅加深了对电子电路的理解,还提高了对电路调试和故障排除的能力。

此外,我还学会了如何使用示波器观察信号波形,这对我今后的学习和工作都具有重要意义。

结论:本次实验成功设计出一个简单的数字时钟,通过实践加深了对数字时钟的理解和对电子电路的掌握。

通过亲自动手操作,我不仅学到了知识,还培养了动手能力和解决问题的能力。

多功能数字钟设计实验报告

多功能数字钟设计实验报告

多功能数字钟设计实验报告多功能数字钟设计实验报告一、引言数字钟是一种常见的时间显示设备,其简洁明了的显示方式受到了广泛的欢迎。

然而,随着科技的不断发展,人们对于数字钟的功能要求也越来越高。

本实验旨在设计一款多功能数字钟,以满足人们对于时间显示设备的更多需求。

二、设计原理1. 时间显示:数字钟应能准确地显示当前的时间,包括小时、分钟和秒钟。

为了实现精确的时间显示,我们采用了基于晶体振荡器的时钟电路,并结合数码管显示技术,使得时间能够以数字形式直观地呈现。

2. 日期显示:除了时间显示外,数字钟还应具备日期显示的功能。

我们通过添加一个实时时钟模块,可以获取当前的日期信息,并通过数码管显示出来。

3. 闹钟功能:为了提醒用户重要的时间节点,我们在数字钟中加入了闹钟功能。

用户可以设置闹钟的时间,并在到达设定时间时,数字钟会发出声音或震动来提醒用户。

4. 温湿度显示:为了更好地满足用户的需求,我们还在数字钟中添加了温湿度显示功能。

通过接入温湿度传感器,数字钟可以实时监测当前的温度和湿度,并将其显示在数码管上。

5. 其他功能:除了以上功能外,我们还可以根据用户需求进行扩展,如倒计时功能、闪烁效果等。

三、实验步骤1. 硬件设计:根据设计原理,我们需要选择合适的元器件进行电路的搭建,包括晶体振荡器、数码管、实时时钟模块、温湿度传感器等。

2. 电路连接:根据电路原理图,将各个元器件按照正确的连接方式进行连接,确保电路的正常工作。

3. 程序编写:通过编写合适的程序代码,实现数字钟的各项功能。

包括时间显示、日期显示、闹钟功能、温湿度显示等。

4. 调试测试:在完成硬件连接和程序编写后,我们需要对数字钟进行调试测试,确保各项功能的正常运行。

可以通过模拟不同的时间、设置不同的闹钟时间等来测试数字钟的稳定性和准确性。

5. 优化改进:根据实际测试结果,我们可以对数字钟进行优化改进,提高其性能和稳定性。

例如,优化显示效果、增加功能扩展等。

数字电子钟的设计电路图pcb图

数字电子钟的设计电路图pcb图

数字电子钟的设计与制作一、设计概述1.设计任务➢时钟脉冲电路设计➢60进制计数器设计➢24进制计数器设计➢“秒”,“分”,“小时”脉冲逻辑电路设计➢“秒”,“分”,“小时”显示电路设计➢“分”,“小时”校时电路➢整点报时电路2.功能特性➢设计的数字钟能直接显示“时”,“分”,“秒”,并以24小时为一计时周期。

➢当电路发生走时误差时,要求电路具有校时功能。

➢要求电路具有整点报时功能,报时声响为四低一高,最后一响正好为整点。

3.原理框图图 1 原理框图二、设计原理数字钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。

它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和报时功能。

因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路、报时电路和振荡器组成。

干电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。

秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。

将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发现胡一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。

“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。

“时计数器”采用24进制计时器,可实现对一天24小时的累计。

译码显示电路将“时”、“分”、“秒”计数器的输出状态菁七段显示译码器译码,通过六位LED七段显示器显示出来。

整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。

校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整的。

三、设计步骤1.计数器电路根据计数周期分别组成两个60进制(秒、分)和一个24进制(时)的计数器。

把它们适当连接就可以构成秒、分、时的计数,实现计时功能。

CC4518的符号如图,一个芯片集成了两个完全相同的十进制计数器,其异步清零信号CR是高电平有效。

数字电路时钟系统设计

数字电路时钟系统设计

数字电路时钟系统设计Introduction数字电路时钟系统设计是现代电子设备中常见的一个组成部分,它在我们的生活中有着广泛的应用。

本文将介绍数字电路时钟系统设计的基本原理、功能要求及设计步骤。

一、数字电路时钟系统设计原理数字时钟系统设计的基本原理是利用数字信号进行时间计量和显示。

其核心部分是时钟发生器、频率除法器、显示控制逻辑以及数字显示设备。

1. 时钟发生器时钟发生器负责产生稳定的时钟信号,通常以晶体振荡器为基础,通过振荡电路将电能转化为稳定的振荡频率。

2. 频率除法器频率除法器将时钟发生器产生的高频时钟信号进行分频处理,以满足不同精度要求的时钟系统。

常见的分频技术有二分频、十分频等。

3. 显示控制逻辑显示控制逻辑负责对时钟信号进行处理,以便将时间信息传送给数码显示设备。

它通常包括时分秒计数器、时钟控制逻辑等。

4. 数码显示设备数码显示设备是数字电路时钟系统中用于显示时间的部分,如七段数码管、液晶显示屏等。

二、数字电路时钟系统设计要求在设计数字电路时钟系统时,我们需要考虑以下几个方面的要求:1. 精度和稳定性数字时钟系统应具备较高的时间精度和稳定性,以确保准确的时间显示。

2. 功能扩展性数字时钟系统应具备良好的功能扩展性,例如可以添加闹钟、秒表等功能。

3. 低功耗和节能性数字时钟系统要尽可能降低功耗,提高能源利用效率。

4. 高可靠性和抗干扰性数字时钟系统要具备较高的可靠性,同时对外界干扰具有一定的抗干扰性能。

三、数字电路时钟系统设计步骤下面将介绍数字电路时钟系统设计的基本步骤,以帮助读者了解该设计过程。

1. 确定需求根据实际需求确定数字电路时钟系统的基本功能和性能指标,如精度、显示方式等。

2. 选择器件和电路拓扑根据需求选择适当的集成电路和电路拓扑结构,如计数器、分频器、显示器等。

3. 电路设计和调试根据选择的器件和电路拓扑,进行电路设计和调试工作,确保电路的正常工作。

4. 功能扩展和优化根据需求进行功能扩展和系统优化,如添加闹钟、秒表等功能,并进行相应的性能测试和调整。

数字时钟设计实验报告

数字时钟设计实验报告

数字时钟设计实验报告一、实验目的本次数字时钟设计实验的主要目的是通过运用数字电路的知识和技能,设计并实现一个能够准确显示时、分、秒的数字时钟。

通过这个实验,加深对数字电路中计数器、译码器、显示器等基本组件的理解和运用,提高电路设计和调试的能力。

二、实验原理数字时钟的基本原理是通过对时钟信号进行计数和分频,将时间信息转换为数字信号,并通过译码器和显示器进行显示。

1、时钟信号产生通常使用石英晶体振荡器产生稳定的高频时钟信号,然后通过分频电路将其分频为适合计数的低频信号,如 1Hz 信号用于秒的计数。

2、计数器使用二进制计数器对时钟信号进行计数,分别实现秒、分、时的计数。

秒计数器满60 向分计数器进位,分计数器满60 向时计数器进位。

3、译码器将计数器输出的二进制编码转换为能够驱动显示器的信号,如七段数码管译码器。

4、显示器使用七段数码管或液晶显示器来显示时、分、秒的数字信息。

三、实验器材1、数字电路实验箱2、集成电路芯片:计数器芯片(如 74LS160)、译码器芯片(如74LS47)、与非门芯片(如 74LS00)等3、七段数码管4、电阻、电容、导线等四、实验步骤1、设计电路原理图根据实验原理,使用数字电路设计软件(如 Protel)或手绘的方式设计出数字时钟的电路原理图。

在设计过程中,要合理安排芯片的布局和连线,确保电路的正确性和稳定性。

2、芯片选择与引脚连接根据电路原理图,选择合适的集成电路芯片,并按照芯片的引脚功能进行正确的连接。

在连接过程中,要注意引脚的极性和连接的可靠性,避免虚焊和短路。

3、电路搭建与调试将连接好的芯片和元器件安装在数字电路实验箱上,按照电路原理图进行布线。

接通电源后,使用示波器和逻辑分析仪等工具对电路的各个节点进行测试和调试,观察时钟信号、计数器输出、译码器输出等是否正常。

4、故障排除如果电路出现故障,如数码管不显示、显示错误、计数不准确等,要根据故障现象进行分析和排查。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
void delay(uchar i)
{
while(i--);
}
//******************** TIMER1 interrupt process ***************************//
timer0 (void) interrupt 1 using 1
{
TH0=0x3c;
_Nop();
_Nop();
_Nop();
_Nop();
_Nop();
SDA=1; /*发送I2C总线结束信号*/
_Nop();
_Nop();
_Nop();
_Nop();
}
/*******************************************************************
二、原理图设计
1.单片机及其外围电路设计
复位采用X25045芯片,复位电路如图1所示。
图1复位电路设计
单片机采用贴片封装的AT89S51,晶振为11.0592MHz。其中P1.5~P1.7为下载程序使用,电路如图2所示。
图2单片机89S51外围电路设计
2.时钟芯片电路设计
时钟芯片采用PCF8563,晶振采用32.768K,电容使用15pf。PCF8563是PHILIPS公司推出的一款工业级内含I2C总线接口功能的具有极低功耗的多功能时钟/日历芯片。内部时钟电路、内部振荡电路、内部低电压检测电路(1.0V)以及两线制I2C总线通讯方式,不但使外围电路及其简洁,而且也增加了芯片的可靠性。同时每次读写数据后,内嵌的字地址寄存器会自动产生增量。电路如图3所示。
{
unsigned char TempCyc;
zlg7289_cs=1;
for(TempCyc=0;TempCyc<8;TempCyc++)
{
SCK = 0;
if(Byte&0x80)
SI = 1;
else
SI = 0;
SCK = 1;
Byte = Byte<<1; //右移
}
SI=0; //使SI处于确定的状态
图6总体流程图
四、源程序
#include <reg51.h>
#include <intrins.h>
#include <math.h>
#define uchar unsigned char /*宏定义*/
#define uint unsigned int
uchar close_date,open_date;
***************模拟I2C总线传输程序***********************************
********************************************************************/
bit ack; /*应答标志位*/
/*******************************************************************
{
unsigned char Temp;
zlg7289_cs=1;
SCK=0;
CS=0;
SO=1;
SI=1;
OUTByte(0x3); //发送读指令03H如要支持000-FFF则要把高位地址左移3位再为03H相或
OUTByte(ADD); //发送低位地址
Temp = INPUTByte();
SCK=0;
图3时钟芯片电路设计
3.显示芯片电路设计
显示芯片采用ZLG7289,晶振为12MHz。ZLG7289A是广州周立功单片机发展有限公司自行设计的,具有SPI串行接口功能的可同时驱动8位共阴式数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成LED显示﹑键盘接口的全部功能。电路如图4所示。
zlg7289_cs=1;
}
//单字节数据从X25045读到单片机
//数据由SCK的下降沿输出到SO线上。
unsigned char INPUTByte(void) //输入一个字节
{
unsigned char Temp=0, TempCyc;
zlg7289_cs=1;
for(TempCyc=0;TempCyc<8;TempCyc++)
TL0=0xb0;
RESWDI();
}
void RESWDI(void) ////复位看门狗(喂狗)
{
zlg7289_cs=1;
CS = 1;
CS = 0;
CS = 1;
zlg7289_cs=1;
}
void WREN(void) //写使能复位使用)?
{
zlg7289_cs=1;
SCK=0;
CS=0;
起动总线函数
********************************************************************/
void Start_I2c()
{
SDA=1; /*发送起始条件的数据信号*/
_Nop();
SCL=1;
_Nop(); /*起始条件建立时间大于4.7us,延时*/
sbit zlg7289_dio =P2^7;
sbit zlg7289_key =P3^2;
sbit p07=P0^7;
sbit p06=P0^6;
sbit CS=P2^4;
sbit SCK=P2^2;
sbit SO=P2^5;
sbit SI=P2^3;
sbit p10=P1^0;
sbit SDA=P1^2; /*模拟I2C数据传送位*/
{
if((c<<BitCnt)&0x80)SDA=1; /*判断发送位*/
else SDA=0;
_Nop();
SCL=1; /*置时钟线为高,通知被控器开始接收数据位*/
sbit SCL=P1^3; /*模拟I2C时钟控制位*/
uchar buf[9]={0x00,0x00,0x30,0x23,0x15,0x1,0x05,0x04,0x05};
uchar bufdata,bb,date;
ucharSLA=0xA2,SUBA=0x00;
uchar *p; /*接收指针*/
unsigned char ReadByte(unsigned char ADD);
void WriteByte(unsigned char Byte,ADD);
#define _Nop() _nop_() /*定义空指令*/
sbit zlg7289_cs =P1^1;
sbit zlg7289_clk =P2^6;
结束总线函数
********************************************************************/
void Stop_I2c()
{
SDA=0; /*发送结束条件的数据信号*/
_Nop(); /*发送结束条件的时钟信号*/
SCL=1; /*结束条件建立时间大于4μs*/
uchar keychange=0;
uchar key=0; /*键盘值*/
bit keyint=0; /*按键中断标志*/
bit keyok=1; /*数据是否修改好*/
uchar num=0; /*移位键移到哪个LED*/
/****延时函数****************************************/
SO=1;
SI=1;
OUTByte(0x2); //发送写指令02H如要支持000-FFF则要把高位地址左移2位再为02H相或
OUTByte(ADD); //发送低位地址
OUTByte(Byte); //发送数据
SCK=0;
CS=1;ห้องสมุดไป่ตู้
WIPCHK();
zlg7289_cs=1;
}
/********************************************************************
字节数据传送函数
********************************************************************/
void SendByte(uchar c)
{
uchar BitCnt;
for(BitCnt=0;BitCnt<8;BitCnt++) /*要传送的数据长度为8位*/
SCK=0;
CS=1;
zlg7289_cs=1;
WIPCHK(); //判断是否写入
}
unsigned char RSDR(void) //读状态寄存器
{
unsigned char Temp;
zlg7289_cs=1;
SCK=0;
CS=0;
OUTByte(0x05); //发送05H读状态寄存器命令字
Temp = INPUTByte(); //读状态寄存器值
SCK=0;
CS=1;
return Temp;;//这一个调试时没有执行,Temp的值总是0xFF;???????????
zlg7289_cs=1;
}
void WIPCHK(void) //检查WIP位,判断是否写入完成
{
unsigned char Temp,TempCyc;
CS=1;
return Temp;//这一个调试时没有执行,Temp的
zlg7289_cs=1;
相关文档
最新文档