文档库 最新最全的文档下载
当前位置:文档库 › 计数器

计数器

计数器
计数器

实验报告

基于FPGA的一位全加器与约翰逊计数器实验

一:实验目的

1.熟悉ISE软件的使用;

2.熟悉下载平台的使用;

3.掌握利用层次结构描述法设计电路。

二:实验任务

1.按照原理图设计半加器电路;

2.建立顶层原理图电路;

3.对全加器电路进行仿真分析、引脚锁定、下载;

4.完成约翰逊计数器的设计。

三:实验原理

图1 全加器原理图

图2 约翰逊计算器电路原理图

3.1.1一位半加器的设计

module half_adder(A,B,CO,S); input A,B;

output S;

output CO; wire S,CO; assign S=A^B; assign CO=A&B;

endmodule

图3半加器真值表及verliog 源码

图4半加器仿真测试

3.1.2一位全加器的设计

图5半加器真值表及激励文件源码

图6半加器仿真测试

3.2.1约翰逊计算器的设计

按照原理图2完成设计,激励文件见附录,仿真测试如下图:

图7向左计数的仿真波型

图8向右计数的仿真波型

分析波形对照教材上P29的输出数码,符合设计要求,设计合理。

四:思考题

1.为什么在实验步骤3中,将半加器保存为half_adder,可否保存为full_adder?

答:不能保存为full_adder。因为verilog HDL语言中,要求程序名与实体名一致,否则会出现错误。

2.对电路进行功能仿真与时序仿真时,发现二者有什么样的区别?

答:功能仿真就是将综合后的verilog HDL网表文件再送到verilog HDL仿真器中所进行仿真。这时的仿真仅对verilog HDL描述的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求,仿真过程不涉及具体器件特性,如延时特性。时序仿真就是将布线器/适配器所产生的verilog HDL网表文件送到verilog HDL仿真器中所进行的仿真。该仿真已将器件特性考虑进去了,因此可以得到精确的时序仿真结果

3.为什么要进行引脚锁定?

答:进行引脚锁定,是为了对硬件进行检测,将下载文件下载到芯片后,对系统的设计进行的功能检测的过程。

4.采用层次结构法描述电路有什么样的优点?

答:可以大大降低设计成本,缩短设计周期;极大地简化设计文档的管理;提高大规模系统电子设计的自动化程度;设计者拥有完全的自主权,再无受制于人之虞;良好

的可移植与可测试性,为系统开发提供可靠的保证;能将所有设计环节纳入统一的自顶向下的设计方案

附录:

半加器激励文件:

一位加器激励文件:

`timescale 1ns / 1ps

module full_adder_full_adder_sch_tb();

// Inputs

reg ain;

reg bin;

reg cin;

// Output

wire sum;

wire cout;

// Bidirs

// Instantiate the UUT

full_adder UUT (

.ain(ain),

.bin(bin),

.cin(cin),

.sum(sum),

.cout(cout)

);

// Initialize Inputs

//`ifdef auto_init

initial begin

ain = 0;

bin = 0;

cin = 0;

#10 ain = 0;bin = 0;cin = 1;

#10 ain = 0;bin = 1;cin = 0;

#10 ain = 0;bin = 1;cin = 1;

#10 ain = 1;bin = 0;cin = 0;

#10 ain = 1;bin = 0;cin = 1;

#10 ain = 1;bin = 1;cin = 0;

#10 ain = 1;bin = 1;cin = 1;

$stop;

end

//`endif

endmodule

约翰逊计算器激励文件:module jc_top_jc_top_sch_tb();

// Inputs

reg LEFT;

reg RIGHT;

reg STOP;

reg LCK;

// Output

wire [3:0] q;

// Bidirs

// Instantiate the UUT

jc_top UUT (

.LEFT(LEFT),

.RIGHT(RIGHT),

.STOP(STOP),

.LCK(LCK),

.q(q)

);

// Initialize Inputs

//`ifdef auto_init

initial begin

LEFT = 0;

RIGHT = 1;//左右计数

STOP = 0;

LCK = 0;

forever begin

#10 LCK=!LCK;

end

end

//`endif

Endmodule

引脚锁定:

约翰逊

NET "Clk" LOC = G9;

NET "Left" LOC = D14;

NET "Right" LOC = C14;

NET "Stop" LOC = B14;

NET "q[3]" LOC = B11;

NET "q[2]" LOC = C11;

NET "q[1]" LOC = C10;

NET "q[0]" LOC = A10;

NET "Clk" CLOCK_DEDICATED_ROUTE = FALSE; NET "Rst" LOC = A14;

全加器:

NET "A" LOC = D14;

NET "B" LOC = C14;

NET "CO_IN" LOC = B14;

NET "S" LOC = C11;

NET "CO_OUT" LOC = B11;

集成计数器及寄存器的运用 实验报告

电子通信与软件工程 系2013-2014学年第2学期 《数字电路与逻辑设计实验》实验报告 --------------------------------------------------------------------------------------------------------------------- 班级: 姓名: 学号: 成绩: 同组成员: 姓名: 学号: --------------------------------------------------------------------------------------------------------------------- 一、 实验名称:集成计数器及寄存器的运用 二、实验目的: 1、熟悉集成计数器逻辑功能与各控制端作用。 2、掌握计数器使用方法。 三、 实验内容及步骤: 1、集成计数器74LS90功能测试。74LS90就是二一五一十进制异步计数器。逻辑简图为图8、1所示。 四、 五、 图8、1 六、 74LS90具有下述功能: ·直接置0(1)0(2)0(.1)R R ,直接置9(S9(1,·S,.:,=1) ·二进制计数(CP 、输入QA 输出) ·五进制计数(CP 2输入Q D Q C Q B 箱出) ·十进制计数(两种接法如图8.2A 、B 所示) ·按芯片引脚图分别测试上述功能,并填入表 8、1、表8、2、表8、3中。

图8、2 十进制计数器 2、计数器级连 分别用2片74LS90计数器级连成二一五混合进制、十进制计数器。 3、任意进制计数器设计方法 采用脉冲反馈法(称复位法或置位法)。可用74LS90组成任意模(M)计数器。图8、3就是用74LS90实现模7计数器的两种方案,图(A)采用复位法。即计数计到M异步清0。图(B)采用置位法,即计数计到M一1异步置0。 图8、3 74LS90 实现七进进制计数方法 (1)按图8、3接线,进行验证。 (2)设计一个九进制计数器并接线验证。 (3)记录上述实验的同步波形图。 四、实验结果:

定时器计数器

定时器/计数器 MCS-51单片机内部有两个16位可编程的定时器/计数器,即定时器T0(由TH0和TL0组成)和定时器T1(由TH1和TL1组成),它们既可用作定时器定时,又可用作计数器记录外部脉冲个数,其工作方式、定时时间、启动、停止等均用指令设定。 定时器/计数器的结构 1.定时器/计数器的工作原理 定时器/计数器T0和T1的工作方式通过八位寄存器TMOD设定,T0和T1 的启动、停止由八位寄存器TCON控制。工作前需先装入初值,利用传送指令将初值装入加1计数器TH0和TL0或TH1和TL1,高位数装入TH0或TH1,低位数装入TL0或TL1。当发出启动命令后,加1计数器开始加1计数,加到满值(各位全1)后,再加1就会产生溢出,系统将初值寄存器清0。如果需要继续计数或定时,则需要重新赋计数初值。 2.定时器的方式寄存器TMOD 特殊功能寄存器TMOD为定时器的方式控制寄存器。TMOD是用来设定定时器的工作方式,其格式如下: 各位功能如下: (1)GATE控制定时器的两种启动方式 当GATE=0时,只要TR0或TR1置1,定时器启动。 当GATE=1时,除TR0或TR1置1外,还必须等待外部脉冲输入端(P3.3)或(P3.2)高电平到,定时器才能启动。若外部输入低电平则定时器关闭,这样可实现由外部控制定时器的启动、停止,故该位被称为门控位。定时器1类同。 (2)定时/计数方式选择位 当该位为0时,T0或T1为定时方式;当该位为1时,T0或T1为计数方式。(3)方式选择位M1、M0 M1、M0两位可组合成4种状态,控制4种工作方式。每种方式的功能如表5-1。 表5-1 M1、M0控制的工作方式 M1 M0 工作方式说明 0 0 0 1 1 0 1 1 0 1 2 3 13位计数器 16位计数器 可再装入8位计数器

最新光电计数器的设计

光电计数器的设计

北京交通大学 海滨学院 课程设计题目:光电计数器的设计 专业:光电信息工程班级:光电1101 学号: 11141006 姓名:陈国营

摘要 光电计数器的设计可以对某项物件进行计数,计数物件速度可慢,可快,在实际生产生活中具有广泛的应用,对通过的物体进行计数,在生产流水线包装数量控制等领域的应用,既能节省劳动力有能高效地完成任务,其次它也是光电技术的基础。 在光电计数部分我们考虑到脉冲信号的稳定度、方便检测是否能够产生脉冲信号,因此在电压比较器和NE555之间我们选择了NE555,又要利用遮断式红外控制原理对通过的物件计数,为了感应良好,我们使红外发光管与光电接收管相对安放,同时为避免自然光线干扰引起的误计数,同时因实验室条件有限,在光电计数器工作时尽可能的让房间里没有自然光照射进来。本计数器可实现0~99的计数显示。 每当物件通过一次,红外光被遮挡一次,光电接收管的输出电压发生一次变化,这个变化的电压信号通过放大和处理后,形成计数脉冲,去触发一个十进制计数器,便可实现对物件的计数统计。 关键字:计数脉冲感应光电

本课程设计主要是对于电子信息类专业的学生两年多来的专业知识学习的一个考验以及应用,也是相关专业的同学们开启理论通向实践之门的金钥匙,具有十分重要的意义,既能锻炼同学们的动手操作能力,又能反映出同学们对于电子设备的熟练程度及对简单典型电路原理应用和了解。 本课程设计为光电计数器的设计。光电技术是一门得到迅猛发展的学科,已经渗透到许多的相关的科学领域,应用非常的广泛,而具有代表性的是半导体激光器的广泛应用,具有高量子效率的负电子亲和势。光电阴极的光电倍增管和第三代微光像增强器件的实用化,超大规模的CCD面阵的固体摄像器件已在工业和民用领域都得到了广泛应用,在热成像光电中的红外焦平面技术的应用等等。 本文所讨论的光电计数器是一种比较初级的利用光电感应信号发出的脉冲进行计数的一种简单光电系统。

单片机计数器与定时器的区别

单片机计数器与定时器的区别 在的学习过程中,我们经常会发现中断、串口是学习的难点,对于初学者来说,这几部分的内容很难理解。但是我个人觉得这几部分内容是的重点,如果在一个学期的课堂学习或者自学中没有理解这几部分内容,那就等于还没有掌握51单片机,那更谈不上单片机的开发了,我们都知道在成品的单片机项目中,有很多是以这几部分为理论基础的,万年历是以定时器为主的,报警器是以中断为主的,联机通讯是以串口为主的。 在这几部分内容中,计数器/定时器对于初学者说很容易搞混淆,下面我将对这方面的内容结合自己的学习经验谈几点看法。 计数器和定时器相同的,他们都是对单片机中产生的脉冲进行计数,只不过计数器是单片机外部触发的脉冲,定时器是单片机内部在晶振的触发下产生的脉冲。当他们的脉冲间隔相同的时候,计数器和定时器就是一个概念。 在定时器和计数器中都有一个溢出的概念,那什么是溢出了。我们可以从一个生活小常识得到答案,当一个碗放在水龙头下接水的时候,过了一会儿,碗的水满了,就发生溢出。同样的道理,假设水龙头的水是一滴滴的往碗里滴,那

么总有一滴水是导致碗中的水溢出的。在碗中溢出的水就浪费了,但是在单片机的中溢出将导致一次中断。 在定时器计数器中,我们有个概念叫容量,就是最大计数量。 把水滴比喻成脉冲,那么导致碗中水溢出的最后一滴水的就是定时计数器的溢出的最后一个脉冲。 在各种单片机书本中,在介绍定时计数器时都讲到一个计数初值,那什么是计数初值呢?在这里我们还是假设水滴碗。假设第一百滴水能够使碗中的水溢出,我们就知道这个碗的容量是100。 在这里计数初值有3个,假设: 根据所得的初始值,再将其转换为,就可以进行计数或者定时了。后面讲解定时器初值的。 单片机, 计数器, 定时器

基于单片机的计数器设计 (1)

百度文库- 让每个人平等地提升自我! - 1 - 湖南科技大学 单片机课程设计 题目基于单片机的计数器设计姓名李建雄 学院机电工程学院 专业测控技术与仪器 学号09030303 指导教师戴巨川 成绩 二〇一二年六月二日

百度文库- 让每个人平等地提升自我! - 2 - 摘要 本设计是根据我们所学习的单片机课程,按照课程要求进行的课程检验。单片 机技术是一个不可或缺的技术,尤其是对于我们测控技术与仪器专业来说它是我们必须要掌握的技能之一,使我们未来工作和生活的根本。现在的社会是一个信息科技高速发展的社会,也是一个电子技术和微机计算机迅速发展的时代,单片机的档次和水平在不断的提高,其应用的领域和范围也越来越广,成为现代电子系统中最重要的智能化核心部分。 随着计数器技术的不断发展与进步,计数器的种类越来越多,应用的范围越来越广,随之而来的竞争也越来越激烈。过硬的技术也成为众多生产厂商竞争的焦点之一。厂商为了在竞争中处于不败之地,从而不断地改进技术,增加产品的种类。 现计数器的种类以增加到:电磁计数器、电子计数器、机械计数器(拉动机械计数器、转动机械计数器、按动机械计数器、测长机械计数器)、液晶计数器等。 计数器的应用范围也遍布印刷、纺织、印染、针织、电缆、电讯、军工、轻工、机械、开关、断路器、矿山、实行多班制的纺织行业的织布机、织带机、制线、制带、造纸、制革、薄膜、高压开关电器产品、试验设备,印刷设备、短路器、医疗、纺织、机械、仓库和码头的货运、行人及车辆过往的数量计数、冶金、食品、国防、包装、配料、石油、化工、发电、机床、仪表、自动化控制等行业。

百度文库- 让每个人平等地提升自我! - 3 - 目录 2.2设计原理 (6) 数码管的介绍 ............................................................................................................................... - 11 -3.3电路仿真. (11)

定时器计数器答案

定时器/计数器 6·1 80C51单片机内部有几个定时器/计数器?它们是由哪些专用寄存器组成? 答:80C51单片机内部设有两个16位的可编程定时器/计数器,简称为定时器0(T0)和定时 器l(Tl)。在定时器/计数器中的两个16位的计数器是由两个8位专用寄存器TH0、TL0,THl、TLl组成。 6·2 80C51单片机的定时器/计数器有哪几种工作方式?各有什么特点? 答:80C51单片机的定时器/计数器有4种工作方式。下面介绍4种工作方式的特点。 方式0是一个13位的定时器/计数器。当TL0的低5位溢出时向TH0进位,而TH0溢出时向中断标志TF0进位(称硬件置位TF0),并申请中断。定时器0计数溢出与否,可通过查询TF0是否置位或产生定时器0中断。 在方式1中,定时器/计数器的结构与操作几乎与方式0完全相同,惟一的差别是:定时器是以全16位二进制数参与操作。 方式2是能重置初值的8位定时器/计数器。其具有自动恢复初值(初值自动再装人)功;能,非常适合用做较精确的定时脉冲信号发生器。 方式3 只适用于定时器T0。定时器T0在方式3T被拆成两个独立的8位计数器TL0: 和TH0。其中TL0用原T0的控制位、引脚和中断源,即:C/T、GATE、TR0、TF0和T0 (P3.4)引脚、INTO(P3.2)引脚。除了仅用8位寄存器TL0外,其功能和操作与方式0、方式1 完全相同,可定时亦可计数。此时TH0只可用做简单的内部定时功能。它占用原定时器Tl 的控制位TRl和TFl,同时占用Tl的中断源,其启动和关闭仅受TRl置1和清0控制。6·3 定时器/计数器用做定时方式时,其定时时间与哪些因素有关?作计数时,对外界计数频率有何限制? 答: 定时器/计数器用做定时方式时,其定时时间与时钟周期、计数器的长度(如8位、13位、16位等)、定时初值等因素有关。作计数时,外部事件的最高计数频率为振荡频率(即时钟周期)的1/24。 6·4 当定时器T0用做方式3时,由于TR1位已被T0占用,如何控制定时器T1的开启和关闭? 答:定时器T0用做方式3时,由于TRl位己被T0占用,此时通过控制位C/T切换其定时器或计数器工作方式。当设置好工作方式时,定时器1自动开始运行;若要停止操作,只需送入一个设置定时器1为方式3的方式字。

计数器设计和原理

二.计数器设计 1.实验目的 计数器在数字逻辑设计中的应用十分广泛,可以对时钟信号进行计数,分频和产生序列信号,也可以用在计时器和串并转换等电路。这次实验我们就来学习一下如何用Robei和Verilog语言来设计一个4比特计数器。 2.实验要求 计数器对每个时钟脉冲进行技术,并将计数值输出出来。这个实验我们来设计一个4比特的计数器,其技术范围在0~F之间,也就是计数到最大值16. 设计波形要求如图1所示。 图1. 计数器输出波形要求 3.实验内容 3.1 模型设计 1)新建一个模型。点击工具栏上的图标,或者点击菜单“File”然后在下 拉菜单中选择“New”,会有一个对话框弹出来(如图2所示)。在弹出的对话框中设置你所设计的模型。

图2. 新建一个项目 参数填写完成后点击“OK”按钮,Robei就会生成一个新的模块,名字就是counter,如图3所示: 图3. 计数器界面图 2)修改模型。在自动生成的界面图上进行名称的修改,输入引脚为clock, enable 和reset,输出引脚修改成count。其中count引脚的“Datasize”为4比特,用户可以输入4,也可以输入3:0。为了区分每个引脚,我们可以修改每个引脚的Color值,并点回车保存。修改完成后如图4所示。如果选中模块,按“F1”键,就会自动生成一个Datasheet,如图5所示。

图4. 修改引脚属性 图5. “Datasheet”截图 3)输入算法。点击模型下方的Code(如图6所示)进入代码设计区。

图6. 点击Code输入算法 在代码设计区内输入以下Verilog代码: always @ (posedge clock) //学习always语句的写法,并设置敏感信号。时钟上升沿触发begin //学习Verilog if else语句的写法 if (reset == 1) begin count<= 0; end //if enable is 1, counter starts to count else if (enable == 1) begin count <= count + 1; end end 4)保存。点击工具栏图标,或者点击菜单“File”中的下拉菜单“Saveas”, 将模型另存到一个文件夹中。 5)运行。在工具栏点击或者点击菜单“Build”的下来菜单“Run”,执 行代码检查。如果有错误,会在输出窗口中显示。如果没有错误提示,恭喜,模型counter设计完成。 3.2测试文件设计

PLC程序中定时器和计数器的配合应用

PLC程序中定时器和计数器的配合应用 实际应用中,定时器和计数器,常常有“强强联合”形式的搭配性应用。 一、定时器 1、定时器是位/字复合元件,可以有三个属性: 1)有线圈/触点元件,当满足线圈的驱动(时间)条件时,触点动作; 2)具有时间控制条件,当线圈被驱动时,触点并不是实时做出动作反应,而是当线圈被驱动时间达到预置时间后,触点才做出动作; 3)具有数值/数据处理功能,同时又是“字元件”。 2、可以用两种方法对定时时间进行设置: 1)直接用数字指定。FX编程器用10进制数据指定,如K50,对于100ms 定时器来讲,延时5秒动作。为5秒定时器。对LS编程器,可用10制数或16进制数设定,如50(或h32),对于100ms定时器来讲,延时5秒动作; 2)以数据寄存器D设定定时时间,即定时器的动作时间为D内的寄存数值。 3、由定时器构成的时间控制程序电路: LS编程器中的定时器有多种类型,但FX编程器中的定时器只有“得电延时输出”定时器一种,可以通过编写相应程序电路来实现“另一类型”的定时功能。图1程序电路中,利用M0和T1配合,实现了单稳态输出——断开延时定时器功能,X1接通后,Y0输出;X1断开后,Y0延时10秒才断开;T2、T3、Y2电路则构成了双延时定时器,X4接通时,Y2延时2秒输出;X4断开时,Y2延时3秒断开;Y3延时输出的定时时间,是由T4定时器决定的,T4的定时时间是同D1数据寄存器间接指定的。当X2接通时,T4定时值被设定为10秒;当X3接通时,T4定时值则被设定为20秒。XO提供定时值的清零/复位操作。 单个定时器的定时值由最大设定值所限定(0.1∽3276.7s),换言之,其延时动作时间不能超过1小时。如欲延长定时时间,可以如常规继电控制线路一样,将多只定时器“级联”,总定时值系多只定时器的定时值相加,以扩展定时时间。更好的办法,是常将定时器与计数器配合应用,其定时时间,即变为定时器的定时器与计数器的计数值相乘,更大大拓展了定时范围,甚至可以以月或年为单位

定时器与计数器

四川工程职业技术学院 单片机应用技术课程电子教案 Copyright ? https://www.wendangku.net/doc/002616935.html, 第 讲 15 定时器/计数器基础

本讲主要内容: 15-1.实现定时的方法 15-2.定时器/计数器的结构和工作原理15-3.定时器/计数器的控制 15-4.定时器/计数器的工作方式 15-5.定时器/计数器应用

15-1.实现定时的方法 软件定时 ? 软件延时不占用硬件资源,但占用了CPU时间,降低了CPU的利用 率。例如延时程序。 采用时基电路定时 ?例如采用555电路,外接必要的元器件(电阻和电容),即可构成硬 件定时电路。但在硬件连接好以后,定时值与定时范围不能由软件 进行控制和修改,即不可编程,且定时时间容易漂移。 可编程定时器定时 ?最方便的办法是利用单片机内部的定时器/计数器。结合了软件定时 精确和硬件定时电路独立的特点。 定时器/计数器 如何使用呢?

定时器/计数器的结构 定时器/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD 是定时器/计数器的工作方式寄存器,确定工作方式和功能;TCON 是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。 G A T E C /T M 1 M 0 G A T E C /T M 1 M 0 TH1TL1TH0TL0 T1方式T0方式 T1引脚 T0引脚 机器周期脉冲 内部总线 TMOD TCON 外部中断相关位 T F 1 T R 1 T F 0 T R 0 T1计数器 T0计数器 控制单元

定时器/计数器的工作原理 ?计数器输入的计数脉冲源 系统的时钟振荡器输出脉冲经12分频后产生; T0或T1引脚输入的外部脉冲源。 ?计数过程 每来一个脉冲计数器加1,当加到计数器为全1(即FFFFH)时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断 请求(定时器/计数器中断允许时)。如果定时器/计数器工作于定时模式,则表 示定时时间已到;如果工作于计数模式,则表示计数值已满。

PLC中三种计数器和定时器

COUNTER计数器 1.CTD减计数器 当CD收到一个上升沿,CV递减一,收到第2个上升沿,CV再递减一,直到CV递减到0后,Q输出TRUE。 PV-----装入的是计数器的,初始数值,CV从这个初始数值开始递减(一个CD收到的上升沿脉冲让CV减一) LOAD-------当LOAD变为TRUE,减计数器复位,PV变成设置的最大值。 2.CTU加计数器 CU----接受上升沿个数,收到一个脉冲,CV增加1,直到CV=PV后,

Q输出TRUE,RESET复位----如果RESET=TRUE,则计数器被复位成0。--------------CU,Q,RESET都为BOOL变量,CV和PV为WORD 变量。 3.CTUD增减计数器 CU, CD, RESET, LOAD, QU , QD 都是 BOOL变量, PV 和 CV 都是 INT变量. 如果 RESET=TRUE, CV 被赋值为0. If LOAD=TRUE,那么 CV 被设置成PV的数值. 如果 CU收到一个上升沿脉冲信号, CV在不超出范围的前提下增加1。. 如果CD 收到一个上升沿脉冲信号, CV 在不小于0的情况下,会减少1。 当CV = PV时,QU输出TRUE. 当 CV= 0时,QD输出TRUE. 三种定时器的区别

TP定时器 Q由FALSE变成TRUE被IN上升沿促发,(脉冲促发),由TRUE 变成FALSE为达到延迟时间PT后促发。只要TP检测IN有一个上升沿,Q马上变成TRUE。计时开始-----当达到PT设置的时间后,不管IN为什么状态,Q由TRUE变成FALSE。 TON定时器 (延时接通) 当IN为TRUE,并且IN保持为TRUE,当ET的时间=PT以后,Q 促发,由FALSE变为TRUE。而且IN为TRUE不变,只要IN变为FALSE,IN变FALSE的下降沿马上促发Q由TRUE变成FALSE。

计数器与定时器概念

计数器与定时器概念 一、计数概念的引入 从选票的统计谈起:画“正”。这就是计数,生活中计数的例子处处可见。例:录音机上的计数器、家里面用的电度表、汽车上的里程表等等,再举一个工业生产中的例子,线缆行业在电线生产出来之后要计米,也就是测量长度,怎么测法呢?用尺量?不现实,太长不说,要一边做一边量呢,怎么办呢?行业中有很巧妙的方法,用一个周长是1米的轮子,将电缆绕在上面一周,由线带轮转,这样轮转一周不就是线长1米嘛,所以只要记下轮转了多少圈,就可以知道走过的线有多长了。 二、计数器的容量 从一个生活中的例子看起:一个水盆在水龙头下,水龙没关紧,水一滴滴地滴入盆中。水滴不断落下,盆的容量是有限的,过一段时间之后,水就会逐渐变满。录音机上的计数器最多只计到999….那么单片机中的计数器有多大的容量呢?8031单片机中有两个计数器,分别称之为T0和T1,这两个计数器分别是由两个8位的RAM单元组成的,即每个计数器都是16位的计数器,最大的计数量是65536。 三、定时 8031中的计数器除了可以作为计数之用外,还可以用作时钟,时钟的用途当然很大,如打铃器,电视机定时关机,空调定时开关等等,那么计数器是如何作为定时器来用的呢? 一个闹钟,我将它定时在1个小时后闹响,换言之,也可以说是秒针走了(3600)次,所以时间就转化为秒针走的次数的,也就是计数的次数了,可见,计数的次数和时间之间的确十分相关。那么它们的关系是什么呢?那就是秒针每一次走动的时间正好是1秒。

图1 结论:只要计数脉冲的间隔相等,则计数值就代表了时间的流逝。 由此,单片机中的定时器和计数器是一个东西,只不过计数器是记录的外界发生的事情,而定时器则是由单片机提供一个非常稳定的计数源。 那么提供组定时器的是计数源是什么呢?看图1,原来就是由单片机的晶振经过12分频后获得的一个脉冲源。晶振的频率当然很准,所以这个计数脉冲的时间间隔也很准。问题:一个12M的晶振,它提供给计数器的脉冲时间间隔是多少呢?当然这很容易,就是12M/12等于1M,也就是1个微秒。 结论:计数脉冲的间隔与晶振有关,12M的晶振,计数脉冲的间隔是1微秒。 四、溢出 让我们再来看水滴的例子,当水不断落下,盆中的水不断变满,最终有一滴水使得盆中的水满了。这时如果再有一滴水落下,就会发生什么现象?水会漫出来,用个术语来讲就是“溢出”。 水溢出是流到地上,而计数器溢出后将使得TF0变为“1”。至于TF0是什么我们稍后再谈。一旦TF0由0变成1,就是产生了变化,产生了变化就会引发事件,就象定时的时间一到,闹钟就会响一样。至于会引发什么事件,我们下次课再介绍,现在我们来研究另一个问题:要有多少个计数脉冲才会使TF0由0变为1。 五、任意定时及计数的方法 刚才已研究过,计数器的容量是16位,也就是最大的计数值到65536,因此计数计到65536就会产生溢出。这个没有问题,问题是我们现实生活中,经常会有

计数器设计

目录 1前言 (1) 2设计任务及方案论证 (2) 2.1设计任务 (2) 2.2方案论证 (2) 3电路设计原理 (3) 3.1设计任务及要求 (3) 3.2设计方案 (3) 3.3单元模块 (4) 3.3.1清零电路的设计 (4) 3.3.2光电报警电路的设计 (4) 3.3.3脉冲发生器的设计 (5) 3.3.40~999计数器的设计 (6) 3.3.5译码器的设计 (7) 4电路板的制作及电路焊接与调试 (10) 4.1电路板的制作 (10) 4.2电路的安装 (11) 4.3电路测试 (11) 5设计总结 (13) 参考文献 (14) 鸣谢 (15) 附录一原理图 (16)

1前言 计数器是最常用的时序电路之一,它们不仅可用于对脉冲进行计数,还可用于分频、定时、产生节拍脉冲以及其他时序信号。 计数器的种类不胜枚举,按触发器动作分类,可分为同步计数器和异步计数器;按计数数值增减分类,可分为加计数器、减计数器和可逆计数器;按编码分类,可分为二进制计数器、BCD码计数器、循环码计数器。此外,有时也按计数器的计数容量来区分,例如本设计就是采用十进制计数器74LS160进行设计的。计数器的容量也称为模,一个计数器的状态数等于其模数。 目前,无论是TTL还是CMOS集成电路,都有品种较齐全的中规模集成计数器。只要使用者借助于器件手册的功能表和工作波形图以及引脚的排列,就能正确地运用这些器件设计出自己想要的电路。

2设计任务及方案论证 2.1设计任务 利用数字集成电路(如:74LS160、161、90、290、390、48等)设计一个电子计数器。 2.2方案论证 在设计中采用两个74LS00与非门以及单刀双掷开关等组成脉冲发生电路,此电路不仅能满足按键输入计数方式而且还有去抖功能;计数设计电路中采用74LS160来完成计数功能;通过控制MR、PE、CET、CEP端可实现计数、清零、启动、暂停等功能;而通过74LS48译码器对计数器结果译码并驱动数码管,使数码管显示脉冲发生器产生的脉冲个数,当计数溢出时及计数到999由光电报警电路报警。 综上:该设计不仅能完成设计要求而且精确、经济,所以此设计方案可行。

计数器的设计(完)

实验五计数器的设计 姓名:班级:学号:实验时间: 一、实验目的 1、熟悉J-K 触发器的逻辑功能 2、掌握J-K 触发器构成异步计数器和同步计数器 二、实验仪器及器件 1、实验箱、万用表、示波器 2、74LS73,74LS00,74LS08,74LS20 三、实验原理 本实验采用集成J-K 触发器74LS73 构成时序电路,其符号、功能、特性方程和状态转换图见下图: 符号: JK 触发器功能表: 表达式:Q n+1=JQ n+KQ n 状态转换图:

主从结构的J-K 触发器在结构上和制造工艺的要求尚还有缺点,使用时要求的工作条件较严格,负载能力也往往达不到理论值。在门电路中往往认为输入端悬空相当于接了高电平,在短时间的试验期间不会出错。但在J-K 触发器中,凡是要求接“1”的,一定要接入高电平,否则会出现错误的翻转。触发器的两个输出的负载过分悬殊,也会出现误翻。J-K 触发器的清零输入端在工作时一定要接高电平或连接到试验箱的清零端子。 下面简要的介绍时序逻辑电路的设计步骤,如下图所示 四、实验内容 1.用J-K 触发器设计一个16进制异步计数器,用逻辑分析仪观察CP和各输出的波形。 逻辑图:

实际波形图: 2.用J-K 触发器设计一个16进制同步计数器,用逻辑分析仪观察CP和各输出的波形。 逻辑图:

实际波形图: 3. 用J-K 触发器和门电路设计一个具有置零,保持,左移,右移,并行送数功能(详 见实验四表二)的二进制四位计数器模仿74LS194功能。(注:在实验箱上可只实现左移或右移功能,在proteus 软件上可实现对五个功能的综合实现) ABCD , 输出为Q A Q B Q C Q D ,因此可以写出 SL S S A S S Q S S Q S S Q B A A 01010101+++= A C B B Q S S B S S Q S S Q S S Q 01010101+++= B D C C Q S S C S S Q S S Q S S Q 01010101+++=

用定时器计数器设计一个简单的秒表

目录 摘要................................................................................................ 错误!未定义书签。 1 Proteus简介错误!未定义书签。 2 主要相关硬件介绍错误!未定义书签。 AT89C52简介错误!未定义书签。 四位数码管错误!未定义书签。 74LS139芯片介绍错误!未定义书签。 3 设计原理错误!未定义书签。 4 电路设计错误!未定义书签。 电路框图设计错误!未定义书签。 电路模块介绍错误!未定义书签。 控制电路错误!未定义书签。 译码电路错误!未定义书签。 数码管显示电路错误!未定义书签。 仿真电路图错误!未定义书签。 5 设计代码错误!未定义书签。 6 仿真图错误!未定义书签。 7 仿真结果分析错误!未定义书签。 8 实物图错误!未定义书签。 9 心得体会错误!未定义书签。 参考文献错误!未定义书签。

摘要 现在单片机的运用越来越宽泛,大到导弹的导航装置、飞机上各种仪表的控制、计算机的网络通讯与数据传输、工业自动化过程的实时控制和数据处理,小到广泛使用的各种智能IC卡、各种计时和计数器等等。本次课设我们要设计一个能显示计时状态和结果的秒表,它是基于定时器/计数器设计一个简单的秒表。 本次设计的数字电子秒表系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现四位LED显示,显示时间为0~秒,计时精度为秒,能正确地进行计时,并显示计时状态和结果。其中软件系统采用汇编或者C语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等,并在keil中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。 关键词:秒表,AT89C51,proteus,C语言

定时器和计数器的实例

TSCR1 寄存器是定时器模块的总开关,它决定模块是否启动以及在中断等待、BDM 方式下的行为,还包括标志的管理方式。其各位的意义如下: TEN:定时器使能位,此外它还控制定时器的时钟信号源。要使用定时器模块的 IC/OC 功能,必须将 TEN 置位。如果因为某种原因定时器没有使能,脉冲累加器也将得不到 ECLK/64 时钟,因为 ECLK/64 是由定时器的分频器产生的,这种情况下,脉冲累加器将不能进行引脚电平持续时间的累加。 0:定时器/计数器被禁止,有利于降低功耗。 1:定时器/计数器使能,正常工作。 TSWAI:等待模式下计时器关闭控制位。 【注意】定时器中断不能用于使 MCU 退出等待模式。 0:在中断等待模式下允许 MCU 继续运行。 1:当 MCU 进入中断等待模式时,禁止计时器。 TSFRZ:在冻结模式下计时器和计数器停止位。 0:在冻结模式下允许计时器和计数器继续运行。 1:在冻结模式下禁止计时器和计数器,用于仿真调试。 【注意】TSFRZ 不能停止脉冲累加。

TFFCA:定时器标志快速清除选择位。 0:定时器标志普通清除方式。 1:对于 TFLGl($0E)中的各位,读输入捕捉寄存器或者写输出比较寄存器会自动清除相应的标志位 CnF。对于 TFLG2($0F)中的各位,任何对 TCNT 寄存器($04、$05)的访问均会清除 TOF 标志;任何对PACN3 和 PACN2 寄存器($22,$23)的访问都会清除PAFLG 寄存器($21)中的 PAOVF 和 PAIF 位。任何对 PACN1 和PACN0 寄存器($24,$25)的访问都会清除 PBFLG 寄存器($21)中的 PBOVF 位。 【说明】这种方式的好处是削减了另外清除标志位的软件开销。此外,必须特别注意避免对标志位的意外清除 可在任何时候读或写。 TOI:定时器/计时器溢出中断使能。 0:中断被禁止。 1:当 TOF 标志被置位时发出硬件中断请求。 【注意】TOF标志位在TFLG中 TCRE:定时器/计数器复位使能。

基于单片机的计数器设计

湖南科技大学 单片机课程设计 题目基于单片机的计数器设计姓名李建雄 学院机电工程学院 专业测控技术与仪器 学号09030303 指导教师戴巨川 成绩 二〇一二年六月二日

摘要 本设计是根据我们所学习的单片机课程,按照课程要求进行的课程检验。单片机技术是一个不可或缺的技术,尤其是对于我们测控技术与仪器专业来说它是我们必须要掌握的技能之一,使我们未来工作和生活的根本。现在的社会是一个信息科技高速发展的社会,也是一个电子技术和微机计算机迅速发展的时代,单片机的档次和水平在不断的提高,其应用的领域和范围也越来越广,成为现代电子系统中最重要的智能化核心部分。 随着计数器技术的不断发展与进步,计数器的种类越来越多,应用的范围越来越广,随之而来的竞争也越来越激烈。过硬的技术也成为众多生产厂商竞争的焦点之一。厂商为了在竞争中处于不败之地,从而不断地改进技术,增加产品的种类。 现计数器的种类以增加到:电磁计数器、电子计数器、机械计数器(拉动机械计数器、转动机械计数器、按动机械计数器、测长机械计数器)、液晶计数器等。 计数器的应用范围也遍布印刷、纺织、印染、针织、电缆、电讯、军工、轻工、机械、开关、断路器、矿山、实行多班制的纺织行业的织布机、织带机、制线、制带、造纸、制革、薄膜、高压开关电器产品、试验设备,印刷设备、短路器、医疗、纺织、机械、仓库和码头的货运、行人及车辆过往的数量计数、冶金、食品、国防、包装、配料、石油、化工、发电、机床、仪表、自动化控制等行业。 - 2 -

目录 第一章系统的功能要求 (4) 1.1系统设计的要求及主要内容应解决的问题 (4) 第二章方案论证 (4) 2.1设计方案选择 (4) 2.2设计原理 (5) 第三章系统硬件电路设计 (6) 3.1最小系统设计 (6) 3.2原理图 (9) 3.3电路仿真 (10) 第四章系统程序设计 (12) 4.1系统软件设计流程图 (12) 4.2程序 (13) 第五章调试及性能分析 (14) 5.1系统性能测试与功能说明 (14) 5.2软件调试问题及解决 (14) 参考文献 (14) 附件计数器程序 (15) 实物电路图 (16) 第一章系统的功能要求 要求: - 3 -

接口 定时器与计数器实验(8253)-- 8253定时器实验

同组同学学号: 同组同学姓名: 实验日期:2012 年 3月 26日交报告日期:2012 年 5月 30日实验(No. 1_1 )题目:定时器与计数器实验(8253)-- 8253定时器实验 实验目的及要求: 实验目的: 1、学习8253可编程定时器/计数器定时方法。 2、学习8253多级串联实现大时间常数的定时方法。 3、学习8088/86控制8253可编程定时器的方法。 实验要求: 用8253对标准脉冲信号进行计数,就可以实现定时功能。用板上的1MHz做为标准信号,将8253可编程计数器/定时器的时间常数设在1000000次,就可以在定时器的管脚上输出1秒钟高/1秒钟低的脉冲信号。因为8253每个计数器只有十六位,要用两个计数器才能实现一百万次的计数,实现每一秒钟输出状态发生一次反转。 实验电路及连线: 连线连接孔1 连接孔2 1 8253_CS CS4 2 8253_OUT0L0 3 8253_GATE0VCC 4 8253_CLK08253_OUT1 5 8253_GATE1VCC 6 8253_CLK1F/4(1M) 7 4MHz Fin 实验说明: 1、本实验工作方式0,计数值减完后输出一个脉冲宽度的高电平。而本实验在计数值减完后,管脚状态产生变化(从高到低或从低到高)。直到下一次计数值减完。这样输出的波形为方波。 2、由于定时常数过大,就要用多级串联方式。本实验采用两级计数器。定时常数分别为100和10000。将计数器的输出接到计数器0输入。计数器0 的输出接到LED0。

实验框图: 主程序框图 源程序及分析: CONTROL equ 0c003h ;设置命令寄存器 COUNT0 equ 0c000h ;设置计数器0 COUNT1 equ 0c001h ;设置计数器1 COUNT2 equ 0c002h ;设置计数器2 code segment assume cs:code start proc near ;第一次定时器设定: mov al, 36h; ; 计数器0,16位,方式3,二进制(00110110B=36h) mov dx, CONTROL out dx, al mov ax, 1000 mov dx, COUNT0

实验六 集成计数器及寄存器

实验报告实验课程名称电子技术基础(数字部分) 实验项目名称实验六集成计数器及寄存器 年级 08级 专业电子信息科学与技术 指导教师顾平 学生姓名谭鹏 学号 理学院 实验时间:2010年 5月 27日 一、实验目的 1.熟悉集成计数器逻辑功能和各控制端作用。 2.掌握计数器使用方法。 二、实验仪器及材料 1.数电实验箱 2.双踪示波器; 3.导线若干 4.集成块 74LS90 十进制计数器 X 2 74LS00 二输入端四与非门 X 1 三、实验原理

74LS90计数器是一种中规模二一五进制计数器,它可以实现多种功能,如将输出Q A与输入B相接,构成8421BCD码计数器;将输出 Q D与输入A相接,构成5421BCD码计数器。 74LS90 74LS00 四、实验内容及分析 1.集成计数器74LS90功能测试。 74LS90是二-五-十进制异步计数器。 逻辑简图为图所示74LS90具有下述功 能: 1)直接置0(R0(1)·R0(2)=1),直接置9 (S9(1)·S9(2)=1) 2)二进制计数(CP1输入Q A输出)3)五进制计数(CP2输入Q D Q C Q B输出) 3)十进制计数(两种接法如图、B所示) 按芯片引脚图分别测试上述功能,并填入表中 十进制计数器 表功能表 R0(1)R0(2)S9(1)S9(2) 输出 Q D Q C Q B Q A H H L X L L L L H H X L L L L L X X H H H L L H X L X L保持 L X L X保持 L X X L保持 X L L X保持 图

波形图如下: 2.任意进制计数器的设计方法 采用脉冲反馈法(称复位法或置位法),可用74LS90组成任意模(M)计数器。图是用74LS90实现模7计数器的两种方案 图(A)采用复位法,即计数计到M—1异步清0。 图(B)采用置位法,即计数计到M-1异步置0。 A波形图如下: B波形图如下: 当实现十以上进制的计数器时可将多片级连使用。 下图是45进制计数的一种方案,输出为8421 BCD码。 波 五、结果与讨论 计数器的使用特点总结: 计数器使用广泛,不仅可以对脉冲进行计数,还可以用于分频、定时、产生节拍脉冲以及其他时序信号。通过反馈清零法或是反馈置数法还可以用现有的计数器方便构造出其他进制计数器。例如,本实验中用两片74LS90十进制计数器级联实现45进制计数的功能。

89C51定时器和计数器

AT89C51定时器/计数器 1.定时和计数功能: AT89C51有两个可编程的定时器和计数器:T0和T1。它们可以工作在定时状态也可以工作在计数状态。做定时器时不能用作计数,反之亦然。 2.计数器: 当定时器/计数器作“计数器”用时,可对接到14引脚(T0/P3.4)或15引脚(T1/P3.5)的脉冲信号数进行计数,每当引脚发生从“1”到“0”的负跳变时,计数器加1. 3.定时器: 当定时器/计数器作“定时器”用时,定时信号来自内部的时钟发生电路,每个机器周期等于十二个震荡周期,每过一个机器周期,计数器加1.当晶振频率为12MHz时,则机器周期为1微秒;在此情况下,若计数器为100, 则所定时的时间为:100 x 1 =100微秒。

4.与定时器/计数器有关的特殊功能寄存器 5.定时器/计数器的控制 AT89C51单片机定时器/计数器的工作由两个特殊的寄存器TMOD和TCON的相关位来控制, TMOD用于设置它的工作方式,TCON用于控制其启动和中断的请求。 1).TMOD用于设置定时器/计数器的工作方式,其字节地址为89H。低四位用于T0,高四位用于T1。虽有位名称,

但无位地址,不可进行位操作。 TMOD中的结构和各位名称 ○1M1,M0:工作方式选择位。M1、M0为两位二进制数,可表示四种工作方式,见下表: ○2C/T:计数/定时方式选择位。 C/T = 1,为计数工作方式,对输入到单片机T0、T1引用的外部信号脉冲计数,负跳变脉冲有效,用作计数器。C/T = 0,为定时工作方式,对片内机器周期(1个机器周期等于12晶振周期)信号计数,用作定时器。

系统定时器和计数器

系统定时器和计数器 在GSM系统中有许多系统定时器和计数器,其作用主要是用来检测网络的运行、报告线路故障等。可以分为三个大类: 无线资源管理的定时器和计数器 移动性管理的定时器 电路交换呼叫定时器 其中每一类的定时器又分为MS侧的和网络侧的,后面主要列出了无线资源管理的定时器和计数器和移动性管理的定时器,因为它们涉及较多上层的内容。 1. 无线资源管理的定时器和计数器 1.1 MS侧的定时器 T3126 作用: 用于立即指配过程。在移动台发出信道请求(Channel Request)或收到立即指配拒绝(Immediate Assignmnet Reject)后启动,当收到立即指配(Immediate Assignment)或立即指配扩展(Immediate Assignment Extended)后停止。如果溢出则移动台退出立即指配过程。 取值: T3126的最小值是T+2S个时隙,最大值是5秒。 T3122 作用: 用于随机接入过程,在收到立即指配拒绝消息后设置。 具体见等待指示。

Mobile Station Network ┌──┐ ││ ││ RR connection established ││ └──┘ ┌──┐ handover │ HANDOVER COMMAND │ old channel, │ <------------------------ │ old cell -│- - - - - - - - - - - - - -│- - - - - - - - │ T3124 expiry or │ new channel, │ lower layer failure │ new cell -│- - - - - - - - - - - - - -│- - - - - - - - - │ HANDOVER FAILURE │ old channel, │ ------------------------>│ old cell └──┘ ┌──┐ │ . │ │ . │ │ . │ └──┘ 图8 切换失败,重建旧信道 作用: 用于两个非同步小区的切换捕获程序,检测来自网络的应答。在移动台发出切换接入(Handover Access)后设置(在切换接入的开始时隙后),当收到一个物理信息(Physical Information)后停止。如果T3124在移动台在新的信道上发送切换完成(Handover Complete)前溢出,则移动台去激活新信道,激活旧信道(仅适用于两个异步小区的情况)。 取值: 在切换命令(Handover Command)中分配的信道是SDCCH(+SACCH)时,取675 ms,其它取320 ms。 T3110

相关文档