1. 首页 > 科技 >

数字时钟系统 数字时钟模块

时钟在数字电路的作用是什么?

when 7=>Disp_Decode<="0000111"; --7

数字电路里的一切运算都是按频率来工作的,时钟是量化频率的工具,没有时钟,数字电路无法工作。

数字时钟系统 数字时钟模块数字时钟系统 数字时钟模块


MIN EQU 31H

用数字信号完成对数字量进行算术运算和逻辑运算的电路称为数字电路,或数字系统。由于它具有逻辑运算和逻辑处理功能,所以又称数字逻辑电路。现代的数字电路由半导体工艺制成的若干数字集成器件构造而成。逻辑门是数字逻辑电路的基本单元。存储器是用来存储二进制数据的数字电路。从整体上看,数字电路可以分为组合逻辑电路和时序逻辑电路两大类。

//=================================

现在的数字电路里一般用晶振提供基本的时钟信号。

晶振是晶体振荡器的简称。它用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,的单频振荡。在通常工作条件下,普通的晶振频率精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。

晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。

晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。

全球定位系统的时钟信息属于数字量吗

3'b001: mon <= set_data;

属于。全球定位系统一般指本词条GPS是英文GlobalPositioningSystem(全球定位系统)的简称。在全球定位系统的时钟,是属于数字量的,全球定位系统卫星携带的铯钟,由美国海军天文台的协调时伺服。与协调世界时值小于30纳秒。

when "011"=>ledSETB TR0_display<="0011";

GPS时钟系统是干什么用的?GPS时钟怎么组网?

9、顶层原理图:

4.支持单星授时模式,适用于收星效果不佳的情况,有屋顶和贴窗天线可供选择。

5.支持单GPS、单北斗、单CDMA、双GPS、双北斗、双CDMA、 GPS/北斗/CDMA双系统接收机配置,实现多基准冗余授时,能够智能判别GPS信号、北斗信号、CDMA信号、外部B码时间基准信号的稳定性和优劣,并提供多种时间基准配置方法。

6.完善的北斗和GPS信号的性能监测,自动或手动选择主用卫星信号。

7.自保持能力强,时钟装置收不到卫星信号后,自守时能力优于710-9(0.42μS/min)。

8.装置具有多个物理隔离的相互的10/100M网口(每个端口具有的MAC地址),多个端口可以灵活的配置使用,可以用在不断增长变化的网络环境中;还可用于不同的子网或不同的物理隔离的网络中。另外,还可用来作为NTP网管来使用,使两个物理隔离的网络共享时间资源。

9.可同时为几十万台客户端、、工作站提供时间校时服务。

10.支持WINDOWS9X/NT/2000/XP/2003/2008/vista、LINUX、UNIX、SUN SOLARIS、IBM AIX、HP-UX等作系统及支持NTP协议的路由器、交换机、智能等网络设备。

11.提供UDP广播协议,可接LED显示屏。

14.支持芯跳检测功能,两台时钟设备网卡可设为同一IP地址,互为冗余备份。

15.时间基准源双机热备份,恒温晶振自守时。(可选)。

16.支持双电源冗余备份(可选)。

17.支持电源中断、GPS(北斗)失歩(失锁)干接点信号告警。

18.嵌入式系统,无硬盘和风扇设计,防震设计,系统稳定可靠。

19.高品质的工业级元件,高水准的电气设计,高密度集成的电路结构

20.时间同步、机场航站楼时钟系统、学校网时钟系统GPS(北斗)接收天线重点考虑了防雷设计、稳定性设计、抗干扰设计, 信号接收可靠性高,不受地域条件和环境的限制。

21.装置的输出信号均经隔离输出,并且网口相互之间物理隔离,抗干扰能力强。INC 27H

22.采用高性能、宽范围开关电源,工作稳定。

23.机箱经防磁处理,抗干扰能力强。

28.客户端软件作简单,显示直观,占用系统资源小。(可选)。

29.直观的Web界面及NTPM管理软件,可以轻松实现远程网络登录、管理、配置和维护。

30.装置采用全模块化即插即用结构设计,支持板卡热插拔,配置灵活,维护方便,同时为将来现场网络改造扩建时增加对时端口提供了方便。

31.有多种工作状态指示,便于运行值班人员的日常巡视。

32.架装式结构,1U/2U、19”标准机箱,安装方便。

GPS时钟是计算时的一3、方案论证与比较个计算因子。组网是GPS内部各卫星的通讯协议与及与基地的协调完成的。至于如何协调这么高端的技术NASA,或中科院他们才知道。

基于Verilog的简易数字钟设计

3'b000: yr <= set_data;

直接verilog代码就可以了吧?

以前写的一个代码,供参考。

module clock(clk,rst,set, set_typ, set_data, yr, mon, dt, hr, min, sec,

alarm_en, alm_typ, alm_yr, alm_mon, alm_dt, alm_hr, alm_min, alm_sec, alarm_output);

input clk,rst,set;

input [2:0] set_typ; //

input [6:0] set_data;//

output [6:0] yr, mon, dt, hr, min, sec;

input alarm_en;

input [2:0] alm_typ; //

input [6:0] alm_yr, alm_mon, alm_dt, alm_hr, alm_min, alm_sec;

output alarm_output;

parameter C_FR = 32'd20_000_000-32'd1; //定义系统时钟20MHz

reg [31:0] fr_cnt;

reg [3:0] sec_cnt;

reg pp1s; //秒脉冲

//==================================================

//fr_cnt

always@(edge clk)//

if(!rst)

TH0=(65536-50000)/256;fr_cnt <= 32'b0;

else if (fr_cnt >= C_FR)

fr_cnt <= 32'b0;

fr_cnt <= fr_cnt + 1'b1;

//pp1s

always@(edge clk)//

if(!rst)

pp1s <= 1'b0;

else if (fr_cnt == C_FR)

pp1s <= 1'b1;

pp1s <= 1'b0;

///time counter

always@(edge clk)

if(!rst)

yr <= 7'b0;

mon <= 7'b0;

dt <= 7'b0;

hr <= 7'b0;

min <= 7'b0;

sec <= 7'b0;

endbegin

case (set_typ)

3'b010: dt <= set_data;

3'b011: hr <= set_data;

3'b100: min <= set_data;

3'b101: sec <= set_data;

end

else if (pp1s)

if (sec >= 7'd59)

sec <= 7'd0;

sec <= sec + 1'b1;

if (sec >= 7'd59)

if (min >= 7'd59)

min <= 7'd0;

min <= min + 1'b1;

end

if (hr >= 7'd23)

hr <= 7'd0;

hr <= hr + 1'b1;

end

///data,mon, year, 大月小月,闰年等,依此类推

//

end

//alarm

always@(edge clk)

if(!rst)

alarm_output <= 1'b0;

else if (alarm_en)

case (alm_typ)

3'b000:

if (yr == alm_yr && mon == alm_mon && dt == alm_dt && hr == alm_hr && min == alm_min && sec == alm_sec)

alarm_output <= 1'b0;

3'b001:

if (mon == alm_mon && dt == alm_dt && hr == alm_hr && min == alm_min && sec == alm_sec)

alarm_output <= 1'b0;

3'b010:

if (dt == alm_dt && hr == alm_hr && min == alm_min && sec == alm_sec)

alarm_output <= 1'b0;

3'b011:

if (hr == alm_hr && min == alm_min && sec == alm_sec)

alarm_output <= 1'b0;

3'b100:

if (min == alm_min && sec == alm_sec)

alarm_output <= 1'b0;

default

alarm_output <= 1'b0;

endcase

endmodule

什么是时钟信号?时钟信号的作用,和工作原理?

时钟信号是时序逻辑的基础,用于决定逻辑单元中的状态何时更新,是有固定周期并与运行无关的信号量。时钟信号有固定的时钟频率,时钟频率是时钟周期的倒数。

4.熟悉仿真软件的使用。作用:时钟信号通常被用于同步电路当中,扮演计时器的角色,保证相关的电子组件得以同步运作;可以使用时钟来同步 CPU 的不同进程,通过上升沿或下降沿来改变周期输出。

工作原理:定时信号是从传输的数字信号中提取出来的。对于某些接收信号,经频谱分析没有离散定时频率谱线,非线性处理电路是使处理后的信号具有离散定时频率谱线。预滤波器在某些系统中用来减小定时信号相位抖动。窄带滤波器的提纯作用可用锁相环路实现,也可得到定时信号。

扩展资料:

时钟信号的高电when "001"=>led_display<="1111";平和DJNZ R7,DEL2低电平状态

时钟信号能表示一种特殊信号振荡之间的高和低的状态,信号的利用像一个节拍器协调行动的数字电路,数字时钟信号基本上是方波电压。时钟信号是由时钟发生器产生的。它有只有两个电平,一是低电平,另一个是高电平。高电平可以根据电路的要求而不同,例如 TTL 标准的高电平是 5V。

最常见的时钟信号是在与 50%的占空比,高电平和低电平的持续时间是一样的,通常是一个固定的常数频率方波的形式。电路使用时钟信号的同步可能会变得活跃在任一上升沿,下降沿,或在双数据速率,在上升和下降边缘的时钟周期,可以根据数字电路使用需要提供出任何时钟频率。

参考资料来源:

系统时钟: 128fs,192fs ,256fs 是什么意思? 麻烦哪位解释下,谢谢!

LMOV MINUTE,#0CALL DISPLAY

MCLK的频率通常为基础采样频率44.1/48KHz的256/512/1024/2048倍,一般写为256fs/512fs/1024fs/2048fs(fs=“采样频率”的缩写),具体数值为11.2896/12.288MHz、22.5792/24.576MHz、45.1584/49.152MHz、90.3168/98.304MHz。在数字音频里最常见的是22/24MHz(即51else2fs)

音频数字时钟连接方法

end process;

通过数据线将音箱与主机连接即可。

if (sec >= 7'd59 && min >= 7'd59)图16

音响若要设置时钟,请按照以下步骤作:1、确保系统已插上电源插头并且已关闭电源。2、按住遥控器上的“Time-”(时间-)或“Time+”(时间+)按钮一秒钟,直到显示屏上显示-ClockSet-(时钟设置),然后松开按钮。3、按住“Time-”(时间-)或“Time+”(时间+),直到显示的时间与当前时间匹配,按住按钮的时间越长,时间更改的越快。4、等待五秒后,系统会自动退出-ClockSet-(时钟设置)模式。

用VHDL语言编写一数字时钟

if(HOUR1=9) then

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.all;

--------------------------------------------------------------------

entity digital is

port( Clk : in std_logic; --时钟输入

Rst : in std_logic; --复位输入

S1,S2 : in std_logic; --时间调节输入

led : out std_logic_vector(3 downto 0); --整点输报时输出

spk : out std_logic;

Display : out std_logic_vector(6 downto 0); --七段码管显示输出

SEG_SEL : buffer std_logic_vector(2 downto 0) --七段码管扫描驱动

);

end digital;

--------------------------------------------------------------------

architecture behe of digital is

signal Disp_Temp : integer range 0 to 15;

signal Disp_Decode : std_logic_vector(6 downto 0);

signal SEC1,SEC10 : integer range 0 to 9;

signal MIN1,MIN10 : integer range 0 to 9;

signal HOUR1,HOUR10 : integer range 0 to 9;

signal Clk1kHz : std_logic;--数码管扫描时钟

signal Clk1Hz : std_logic;--时钟计时时钟

signal led_count : std_logic_vector(2 downto 0);

signal led_display : std_logic_vector(3 downto 0);

signal spkcout : std_logic;

PROCESS(clk) --产生1hzMOV 27H,#0信号

variable cnt : INTEGER RANGE 0 TO 49999999; --产生1Hz时钟的分频计数器

BEGIN

IF clk='1' AND clk'nt THEN

IF cnt=49999999 THEN cnt:=0;

ELSE

IF cnt<00000 THEN clk1hz<='1';

ELSE clk1hz<='0';

END IF;

cnt:=cnt+1;

END IF;

END IF;

PROCESS(clk) --产生1hz信号

variable cnt1 : INTEGER RANGE 0 TO 49999; --产生1KHz时钟的分频计数器

BEGIN

IF clk='1' AND clk'nt THEN

IF cnt1=49999 THEN cnt1:=0;

ELSE

IF cnt1<00 THEN clk1khz<='1';

ELSE clk1khz<='0';

END IF;

cnt1:=cnt1+1;

END IF;

END IF;

process(Clk1Hz,Rst)

if(Rst='0') then --系统复位

SEC1<=0;

SEC10<=0;

MIN1<=0;

MIN10<=0;

HOelse if (set)UR1<=0;

HOUR10<=0;

elsif(Clk1Hz'nt and Clk1Hz='1') then --正常运行

if(S1='0') then --调节小时

HOUR1<=0;

HOUR10<=HOUR10+1;

elsif(HOUR10=2 and HOUR1=3) then

HOUR1<=0;

HOUR10<=0;

HOUR1<=HOUR1+1;

end if;

elsif(S2='0') then --调节分钟

if(MIN1=9) then

MIN1<=0;

if(MIN10=5) then

MIN10<=0;

MIN10<=MIN10+1;

end if;

MIN1<=MIN1+1;

end if;

elsif(SEC1=9) then

SEC1<=0;

if(SEC10=5) then

SEC10<=0;

if(MIN1=9) then

MIN1<=0;

if(MIN10=5) then

MIN10<=0;

HOUR1<=0;

HOUR10<=HOUR10+1;

elsif(HOUR10=2 and HOUR1=3) then

HOUR1<=0;

HOUR10<=0;

HOUR1<=HOUR1+1;

end if;

MIN10<=MIN10+1;

end if;

MIN1<=MIN1+1;

end if;

SEC10<=SEC10+1;

end if;

SEC1<=SEC1+1;

end if;

end if;

end process;

process(Clk)--整点报时

if(Clk1hz'nt and Clk1hz='1') then

if(MIN10=5 and MIN1=9 and SEC10=5 and sec1>3) then --在59分55秒开始提示

led_Count<=led_Count+1; spkcout<=not spkcout;

led_count<="000";

spkcout<='0';

end if;

spk<=spkcout;

end if;

end process;

process(led_count)--整点报时LED灯的闪烁

case (led_count) is

when "000"=>led_display<="0000";

when "010"=>led_display<="0111";

when "100"=>led_display<="0001";

when "101"=>led_display<="1111";

when others=>led_display<="0000";

end case;

led<=led_display;

end process;

process(SEG_SEL)

case (SEG_SEL+1) is

when "111"=>Disp_Temp<=HOUR10;

when "110"=>Disp_Temp<=HOUR1;

when "101"=>Disp_Temp<=10;

when "100"=>Disp_Temp<=MIN10;

when "011"=>Disp_Temp<=MIN1;

when "010"=>Disp_Temp<=10;

when "001"=>Disp_Temp<=SEC10;

when "000"=>Disp_Temp<=SEC1;

end case;

end process;

process(Clk1khz)

if(Clk1khz'nt and Clk1khz='1') then --扫描累加

SEG_SEL<=SEG_SEL+1;

Display<=Disp_Decode;

end if;

end process;

process(Disp_Temp) --显示转换

case Disp_Temp is

when 0=>Disp_Decode<="0111111"; --0

when 1=>Disp_Decode<="0000110"; --1

when 2=>Disp_Decode<="1011011"; --2

when 3=>Disp_Decode<="1001111"; --3

when 4=>Disp_Decode<="1100110"; --4

when 5=>Disp_Decode<="1101101"; --5

when 6=>Disp_Decode<="1111101"; --6

when 8=>Disp_Decode<="1111111"; --8

when 9=>Disp_Decode<="1101111"; --9

when 10=>Disp_Decode<="1000000"; ---

when others=>Disp_Decode<="0000000"; --全灭

end case;

end process;

end behe;

74ls04d在数字时钟电路中的作用?

DIV MOV P0,S3: LCALL DLY_SA AB

数字电路中的所有作都是根据频率工作的。时钟是用来量化频率的工具。没有时钟,数字电路就不能工作。使用数字信号对数字量进行算术和逻辑运算的电路称为数字电路或数字系统。它具有逻辑运算和逻辑处理功能,故又称数字逻辑电路。现代数字电路是由许多由半导体工艺制造的数字集成器件构成的。逻辑门是数字逻辑电路的基本单元。存储器是用来存储二进制数据的数字电路。总的来说,数字电路可以分为组合逻辑电路和时序逻辑电路。今天的数字电路通常使用晶体振荡器来提供基本的时钟信号。晶体振荡器是晶体振荡器的缩写。它使用一种晶体,在共振状态下将电能和机械能相互转换,以提供稳定、的单频振荡。在正常工作条件下,普通晶体频率的精度可达百万分之50。更复杂,更准确。一些振荡器也可以通过外加电压调节到一定的频率范围,这就是所谓的压控振汤器。晶体振荡器的作用是为系统提供基本的时钟信号。通常一个系统共享一个晶体振荡器,方便各个部分保持同步。一些通讯系统使用不同的晶体作为基频和射频频率,通过电子调节频率来保持同步。晶体振荡器通常与锁相环电路一起使用,以提供所需的时钟频率。如果不同的子系统需要不同的频率时钟信号,可以通过连接在同一晶体振荡器上的不同的锁相环路来提供。

自动报时数字钟设计

2.1 基本功能 3

论文编号:JD873 包括开题报告,任务书,外文翻译,论文字数:16608,页数:37摘要:本次设计以AT89C2051芯片为核心,辅以必要的外围电路,设计了一个简易的数字电子时钟,它由5V直流电源供电。在硬件方面,除了CPU外,使用四个七段LED数码管显示,LED采用的是动态扫描显示,使用9014芯片进行驱动。通过调试LED能够比较准确显示时、分。三个简单的按键实现对时间的调整。软件方面采用汇编语言编程。整个电子时钟系统能够完成时间的显示,调时,定时闹钟,复位等功能。

MOV A,DISPH

毕业设计大全

begin

数字电子钟可设报告

begin

基于AT89c51的简易时钟设计

GPS时钟系统

摘要:本电子钟是采用电子电路实现对时、分进行数字显示的计时装置,广泛的应用于生活中。电子时钟主要是利用电子技术奖时钟电子化、数字化,拥有时间、体积小、界面友好、课扩展性能强等特点,被广泛应用于生活和工作当中。当今市场上的电子时钟品类繁多,外形小巧别致。电子时钟数字化了时间显示。在此基础上,人们可以根据不同场合的要求,在时钟上加置其他功能,

本设计由以下几个部件组成:单片机AT89C51、四个八段码共阴极数码管显示、四个微动按钮等其它组件。在启动后开始从00时00分显示。可以手动校准时间,秒使用两个发光二极管的闪烁来提现,本设计设计简单易于实现。

:AT89C51、倒计时。LED

Simple clock design based on AT89c51

Abstract: This clock is the use of electronic circuits to achi the hours, minutes, digital display of timing devs, widely used in life. Electronic clock main prize is the use of electronic technology electronic clock, digital, with a time accurate, all, friendly intece, expanded its performance and other characteristics, are widely used in life and on the job. The market today, many kinds of electronic clock, compact and chic. Digital electronic time clock display. On this basis, one can according to the requirements of different occasions, plus set the clock on the other features

Keywords: AT89C51, countdown. LED

目 录

摘要 1

1

Simple clock design based on AT89c51 2

目录 3

章引言 4

1.1 时钟的概述 5

第二章电路工作原理分析 5

2.1 系统的硬件构成及功能 5

2.2硬件连接方式 6

第三章: 芯片介绍 6

3.1 MCS- 51介绍 6

3.4 LED数码管显示 10

3.4.1 LED数码管介绍 10

3.4.2 LED数码管编码方式 11

3.4.3 LED数码管显示方式和典型应用电路 12

第四章 部分电路介绍 13

4.1单片机的最小应用系统 13

4.1.1 单片机的时钟电路 13

4.1.2 复位电路和复位状态 14

4.1.3总线结构 17

4.2此设计显示电路 18

4.4看门狗电路 19

4.5 按键模块 19

第五章程序设计 19

第六章 原理图和印制板图的设计 20

( 一 ) 原 理 图 的 设 计 和 网 络 表 的 生 成 20

(二)PCB的制作和设计 21

第七章 原理图的protues仿真 23

7.1PROTUES介绍 23

7.2原理图仿真步骤 26

总 结 27

谢 辞 28

参考资料及文献 29

附录一:原理图 30

附录二:PCB 31

附录三 仿真 32

附录四:程序清单 33

章引言

数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。尽管目前市场上已有现成的数字钟集成电路芯片出售,价格便宜、使用也方便,但鉴于单片机的定时器功能也可以完成数字钟电路的设计,因此进行数字钟的设计是必要的。在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。

单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。

1.1 时钟的概述

20世纪末,电子技术获得了飞速的发展。在其推动下,电子产品几乎渗透到了的各个领域,有力的推动和提高了生产力的发展和信息化程度,同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。

电子钟是采用电子电路实现对时、分、秒进行数字显示的计时装置,广泛的应用于生活中。电子时钟主要是利用电子技术奖时钟电子化、数字化,拥有时间、体积小、界面友好、课扩展性能强等特点,被广泛应用于生活和工作当中。当今市场上的电子时钟品类繁多,外形小巧别致。电子时钟数字化了时间显示。在此基础上,人们可以根据不同场合的要求,在时钟上加置其他功能,比如定时闹钟,万年历,环境温度,温度检测,环境空气质量检测,USB扩展功能等。

本设计电子时钟主要功能为:具有时间显示和手动校对功能,24小时制。

本设计任务“

1:用4位LED数码管实时显示时钟计时功能;最小显示时间为00时00分,显示时间为23时59分;

2:能方便的校准小时和分钟。

3:了解单片机的基础知识;

4;掌握proteus的基本原理和使用方法;

5:掌握数码管和LED的显示的方法;

6:掌握单片机定时器的基本原理;

7:掌握单片机定时器的基本原理;

8:掌握绘图软件Proell99se的使用方法;

9:绘制程序流程图和编写出程序;

10:画出电路原理图并仿真运行

。第二章电路工作原理分析

2.1 系统的硬件构成及功能

本设计由以下几个部件组成:单片机AT89C51、四个八段码共阴极数码管显示、四个微动按钮等其它组件。在启动后开始从00时00分显示。可以手动校准时间,秒使用两个发光二极管的闪烁来提现,本设计设计简单易于实现。

图1 99秒计时器系统原理框图

2.2硬件连接方式

数码管使用动态显示,P0口作为四个八位共阴数码管的段选输出端,为提高单片机输出能力 P0口作为输出口接了8个4.7K的电阻作为上拉电阻;P2.口是四个八位共阴数码管和两个发光二极管的位选端,显示是事位和分位,四个微动开关做的按键分别连P1.0,P1.1,P1.2,P1.3完成时和分的加减调整。硬件连接如下:

4.1单片机的最小应用系统

单片计算机是一个最小的应用系统,但由于应用系统中有一些功能器件无法集成到芯片内部,如晶振、复位电路等,需要在片外加接相应的电路。对于片内无程序存储器的单片机,还应该配置片外程序存储器。

4.1.1 单片机的时钟电路

MCS-51单片机内部的振荡电路是一个高增益反相放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。MCS-51单片机的时钟产生方式有两种。

(1) 内部时钟方式

利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路便产生自激振荡,用示波器可以观察到XTAL2输出的时钟信号。最常用的是在XTAL1和XTAL2之间连接晶体振荡器与电容构成稳定的自激,如图3-1所示。

晶体可在1.2~12MHz之间选择。MCS-51单片机在通常应用情况下,使用振荡频率为6MHz的石英晶体,而12Hz频率的晶体主要是在高速串行通信情况下才使用。C1和C2可在20~100pF之间取值,一般取30pF左右。

(2) 外部时钟方式

在由单片机组成的系统中,为了各单片机之间时钟信号的同步,应当引入惟一的合用外部振荡脉冲作为各单自片机的时钟。外部时钟方式中是把外部振荡信号源直接接入XTAL1或XTAL2。由于HMOS和CHMOS单片机外部时钟进入的引线不同,其外部振荡信号源接入的方式也不同。HMOS型单片机由XTAL2进入,外部振荡信号接至XTAL2,而内部反相放大器的输入端XTAL1应接地,如图3-2所示。由于XTAL2端的逻辑电平不是TTL的,故还要接一上接电阻。CHMOS型单片机由XTAL1进入,外部振荡信号接至XTAL1,而XTAL2可不接地,如图3-3所示。

图3-1内部时钟电路 图3-2HMOS型外部时钟电路 图3-3外部时钟电路

4.1.2 复位电路和复位状态

MCS-51单片机的复位是靠外部电路实现的。MCS-51单片机工作后,只要在它的RST引线上加载10ms以上的高电平,单片机就能够有效地复位。

(1) 复位电路

MCS-51单片机通常采用上电自动复位和按键复位两种方式。最简单的复位电路如图3-4所示。上电瞬间,RC电路充电,RST引线端出现正脉冲,只要RST端保持10ms以上的高电平,就能使单片机有效地复位。

图 3-4 简单的复位电路

在实际的应用系统中,为了保证单片机可靠地工作,常采用“看门狗”监视单片机的运行。采用MAX690的复位电路如图3-5所示,该电路具有上电复位和监视MCS-51单片机的P3.3的输出功能。一旦P3.3不输出高低电平交替变化的脉冲,MAX690就会自动产生一复位信号使单片机复位。

图3-5 MAX690组成的复位电路

(2) 复位状态

除PC之外,复位还对其他一些特殊功能的寄存器有影响,它们的复位状态如表3-6所示。

由表3-6可知,除SP=07H,P0~P3 4个锁存器均为FFH外,其他所有的寄存器均为0。此外,单片机的复位不影响片内RAM的状态(包括通用寄存器Rn)。

表3-6 寄存器的复位状态

寄存器 复位状态 寄存器 复位状态

PC 0000H TMOD 00H

ACC 00H TCON OOH

PSW 00H TL0 00H

SP 07H TH0 00H

DPTR 0000H TL1 00H

P0~P3 FFH TH1 00H

IP Xxx00000B SCON 00H

IE 0xx00000B PCON 0xx00000B

P0、P1、P2、P3共有4个8位并行I/O口,它们引线为:P0.0~P0.7、P1.0~P1.7、

P2.0~P2.7、P3.0~P3.7,共32条引线。这32条引线可以全部用做I/O线,也可将其中部分用做单片机的片外总线。

① 控制线

A、ALE地址锁存允许

当单片机访问外部存储器时,输出信号ALE用于锁存P0口输出的低8位地址A7~A0。ALE的输出频率为时钟振荡频率的1/6。

=0,单片机只访问外部程序存储器。对内部无程序存储器的单片031, 必须接地。 =1,单片机访问内部程序存储器,若地址超过内部程序存储器的范围,单片机将自动访问外部程序存储器。对内部有程序存储器的单片机, 应接高电平。

C、 片外程序存储器的选通信号。此信号为读外部程序存储器的选通信号。

D、RST复位信号输入

② 电源及时钟

VSS地端接地线,VCC电源端接+5V,XTAL1和XTAL2接晶振或外部振荡信号源。

图3-7 片外3总线结构

4.1.3总线结构

单片机的引线除了电源、复位、时钟输入、用户I/O口外,其余引线都是为实现系统扩展则设置的,这些引线构成了单片机外部的3总线形式,如图3-7所示。

① 地址总线

地址总线宽度为16位,由P0口经地址锁存器提供低8位地址(A7~A0),P2口直接提供高8位地址(A15~A8)。

由口的位结构可知,MCS-51单片机在进行外部寻址时,P0口的8根引绠低8位地址和8位数据的复用线。P0口首先将低8位的地址发送出去,然后再传送数据,因此要用锁存器将先送出的低8位地址锁存。MCS-51常用74LS373或8282做地址锁存器。

② 数据总线

数据总线宽度为8位,由P0口提供。

③ 控制总线

MCS-51用于外部扩展的控制总线除了它自身引出的控制线RES、 、ALE、 外,还有由P3口的第二功能引线:外部中断0和外部中断1输入线 和 ,以及外部RAM或I/O端口的读选通和写选通信号 和 。

3.4 MCS—51单片机的最小应用系统

构成最小应 MCS—51单片机的最小应用系统

用系统时只要将单片机接上外部的晶体或时钟电路和复位电路即可,如图3-8所示,这样构成的最小系统简单可靠,其特点是没有外部扩展,有可供用户选用的大量I/O线。

4.2此设计显示电路

数码管使用动态显示,P0口作为四个八位共阴数码管的段选输出端,因为P0口作为输出口接了8个4.7K的电阻作为上拉电阻;P2口四个八位共阴数码管的位选端,显示是两位时间的事时位和两位的分位。

4.3电源电路

由于该系统需要稳定的5 V电源,因此设计时必须采用能满足电压、电流和稳定性要求的电源。该电源采用三端集成稳压器LM7805。它输人端、输出端及公共端3个引脚,其内部设有过流保护、过热保护及调整管安全保护电路,由于所需外接元件少,使用方便、可靠,因此可作为稳压电源。图4为电源电路连接图。

4.4看门狗电路

系统中把P1.6作为看门狗的“喂狗”信号;将MAX813的 RESET与单片机的复位信号RST连接。由于单片机每执行一次程序,就会给看门狗器件一个复位信号,这样也可以用手工方式实现复位。当按键按下时,SW-SPST就会在MAX813 引脚产生一个超过200ms的低电平,其实看门狗器件在1.6s 时间内没有复位,使7引脚输出一个复位信号的作用是相同的,其连接图如图6所示。

4.5 按键模块

下图为按键模块电路原理图,S1为时加,s2为时减,S3为分钟加调控键,S4是分钟减调控键。

LED_BIT_1 EQU 30H ; 存放8位数码管的段码

LED_BIT_2 EQU 31H

LED_BIT_3 EQU 32H

LED_BIT_4 EQU 33H

LED_BIT_5 EQU 34H

LED_BIT_6 EQU 35H

LED_BIT_7 EQU 36H

LED_BIT_8 EQU 37H ; 存放初始密码

SECOND EQU 60H

MINUTE EQU 61H

HOUR EQU 62H

TCNT EQU 63H

ORG 00H ;初始化程序 ,设置初始密码

SJMP START

ORG 0BH

LJMP INT_T0

START:

MOV DPTR,#TABLE

MOV HOUR,#0

MOV TCNT,#0

MOV TMOD,#01H

MOV TH0,#03ch ;定时50毫秒

MOV TL0,#03ch

MOV IE,#082H

MOV LED_BIT_1,#00H ;段码存储区清0

MOV LED_BIT_2,#00H

MOV LED_BI555定时器组成的振荡器电路给数字钟提供一个频率为1Hz的方波信号。其中OUT为输出。T_3,#00H

MOV LED_BIT_4,#00H

MOV LED_BIT_5,#00H

MOV LED_BIT_6,#00H

MOV LED_BIT_7,#79H

MOV LED_BIT_8,#73H

MOV TMOD,#01H

MOV TH0,#0fdh

MOV TL0,#0fdh

MOV IE,#82H

A1:

LCALL DISPLAY ;调用时间显示

JNB P1.0,S1

JNB P1.2,S3

JNB P1.3,S4

LJMP A1

S1: LCALL DLY_S ;去抖动

JB P1.0,A1

INC HOUR ;秒值加1

MOV A, HOUR

CJNE A,#24,J00 ;判断是否加到60秒

MOV HOUR,#0

LJMP A1

S2: LCALL DLY_S

JB P1.1,A1

K01: DEC HOUR ;SHI-

MOV A,HOUR

CJNE A,#0,J01 ;判断是否-0分

MOV HOUR,#24

LJMP A1

JB P1.2,A1

K02: INC MINUTE ;小时值加1

MOV A,MINUTE

CJNE A,#60,J02 ;判断是否加到24小时

MOV MINUTE,#0

LJMP A1

S4: LCALL DLY_S

JB P1.3,A1

K03: DEC MINUTE ;小时值加1

MOV A,MINUTE

CJNE A,#0,J03 ;判断是否加到24小时

MOV MINUTE,#59

LJMP A1

J00: JB P1.0,A1 ;等待按键抬起

SJMP J00

J01: JB P1.1,A1

SJMP J01

J02: JB P1.2,A1

SJMP J02

J03: JB P1.3,A1

SJMP J03

INT_T0: MOV TH0,#3ch ;定时器中断服务程序

MOV TL0,#3ch ;对秒,分钟和小时的计数

INC TCNT

MOV A,TCNT

CJNE A,#20,RETUNE ;计时1秒

INC SECOND

MOV TCNT,#0

MOV A,SECOND

CJNE A,#60,RETUNE

INC MINUTE

MOV SECOND,#0

MOV A,MINUTE

CJNE A,#60,RETUNE

INC HOUR

MOV A,HOUR

CJNE A,#24,RETUNE

MOV HOUR,#0

MOV SECOND,#0

MOV TCNT,#0

RETUNE: RETI

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;DIS3闹铃设置子程序

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;DIS3

DISPLAY: ;显示时间控制子程序

MOV A,SECOND ;显示秒

MOV B,#10

CLR P2.6

LCALL DLY_S

SETB P2.6

MOV A,B

CLR P2.7

LCALL DLY_S

SETB P2.7

CLR P2.5

MOV P0,#40H ;显示分隔符

LCALL DLY_S

SETB P2.5

MOV A,MINUTE ;显示分钟

MOV B,#10

CLR P2.3

LCALL DLY_S

MOV A,B

CLR P2.4

LCALL DLY_S

CLR P2.2

MOV P0,#40H ;显示分隔符

LCALL DLY_S

SETB P2.2

MOV B,#10

DIV AB

CLR P2.0

LCALL DLY_S

SETB P2.0

MOV A,B

CLR P2.1

MOVC A,@A+DPTR

LCALL DLY_S

SETB P2.1

RET

TABLE: DB 3FH,06H,5BH,4FH,66H

DB 6DH,7DH,07H,7FH,6FH

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;延时

DLY_S: MOV R6,#5 ;延时程序

D1: MOV R7,#100

DJNZ R7,$

DJNZ R6,D1

RET

DLY_L: MOV R5,#50

D2: MOV R6,#100

D3: MOV R7,#100

DJNZ R7,$

DJNZ R6,D3

DJNZ R5,D2

RET

END

第五章程序设计

程序只要完成了初始化,计时,在计时过程中判断按键情况,做相应处理。流程如下。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 12345678@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息