当前位置:文档之家› 脉冲计数器介绍

脉冲计数器介绍

脉冲计数器介绍
脉冲计数器介绍

脉冲计数器

一、概述

计数器是数字系统中用得较多的基本逻辑器件,它的基本功能是统计时钟脉冲的个数,即实现计数操作,它也可用于分频、定时、产生节拍脉冲和脉冲序列等。例如,计算机中的时序发生器、分频器、指令计数器等都要使用计数器。

二、分类

计数器的种类很多。按构成计数器中的各触发器是否使用一个时钟脉冲源来分,可分为同步计数器和异步计数器;按进位体制的不同,可分为二进制计数器、十进制计数器和任意进制计数器;按计数过程中数字增减趋势的不同,可分为加法计数器、减法计数器和可逆计数器;还有可预制数和可编计数器等等。

三、用处

脉冲计数器当前应用范围主要有电表、水表、煤气表以及光电等等;下面就依水表计数模块简要讲述一下计数器的基本功能、操作方法及其技术参数等:

(一)、主要功能

1、水表脉冲自动计数功能。通讯时不妨碍计数;

2、具有RS485自由协议或ModBus协议通讯功能;

3、断电保持数据功能;

4、通过计算机软件对模块内的地址、数据写功能和数据读功能;

5、故障诊断输出功能;

6、水表模块一般安装在现场,需要防水、防潮、防冻、防高温。具有抗干扰能力;

(二)、技术要求及操作方法

1、水表脉冲一般为干簧管信号,水表计数要防止抖动、不丢脉冲。在程序设计时,脉冲计数的优先级要大于其他程序的优先级。水表脉冲计数自动保存在模块内的存储器里。

2、水表计数模块具有RS485自由通讯协议功能或者ModBus协议通讯功能,自由通讯协议应该简单明了,容易应用。

3、水表计数模块供电电源分外部供电和电池供电,并且电路板上要有容量大一点的电容。外部供电为DC24V,当用外部供电时,电池停止供电;当外部供电中断时,电池供电,当外部供电和电池供电都中断后,电容供电。当外部供电或者电池供电中断后,要有报警信号输出。电池选用市场上的通用电池。

4、计算机

根据RS485通讯协议或者ModBus通讯协议能对模块的地址进行更改、对模块里的数据进行设置。并能读出模块的地址、计数数据、报警信息等。5、水表模块的封装应防水、防潮、放静电、防冻、防高温,易于安装、拆卸和维护。

6、所有接线端子要至少能接0.5m2 线径的RVV或BVR电缆。

(三)、电气参数

外部电源输入VDD:DC12V~DC30V 100mA 脉冲输入:VDD±0.5V 脉冲宽度:≥2ms 工作温度:-10~70℃通讯速率:1200bps/s、2400 bps/s、4800 bps/s、9600 bps/s、19200 bps/s可选波特率:1200bps/s 485地址:1 去抖时间:1ms 脉冲数量作为数据加1:1个脉冲

对外部脉冲计数系统的设计计数器课程设计(单片机)

湖南工业大学 课程设计 资料袋 理学学院(系、部)2012 ~ 2013 学年第 1 学期 课程名称单片机应用系统指导教师周玉职称副教授学生姓名张思远专业班级电子科学102 学号 题目对外部脉冲计数系统的设计 成绩起止日期2013 年01 月06 日~2013 年01 月10 日 目录清单 湖南工业大学 课程设计任务书 2012 —2013 学年第1 学期

理学院学院(系、部)电子科学专业102 班级 课程名称:单片机应用系统 设计题目:对外部脉冲计数系统的设计 完成期限:自2013 年01 月06 日至2013 年01 月10 日共 1 周 指导教师(签字):年月日 系(教研室)主任(签字):年月日

附件三 (单片机应用系统) 设计说明书 (题目) 对外部脉冲计数系统的设计 起止日期:2013 年01 月06 日至2013 年01 月10 日学生姓名张思远 班级电子科学102 学号 成绩 指导教师(签字) 电气与信息工程学院 2012年12 月10 日 一、设计任务: 1.1 外部脉冲自动计数,自动显示。 1.1.1设计一个255计数器:0-255计数,计满后自动清0,重 新计数(在数码管中显示)。 1.1.2设计一个50000计数器:0-50000计数,计满后自动清0, 重新计数(在数码管中显示)。 注:要求首先采用PROTEUS完成单片机最小系统的硬件电路 设计及仿真;程序仿真测试通过后,再下载到单片机实训 板上执行。

二、硬件设计介绍: ※STC89C52单片机; ※6位共阴或者共阴极数码管; ※外部晶振电路; ※ISP下载接口(In system program,在系统编程); ※DC+5V电源试配器(选配); ※ISP下载线(选配) ※6个PNP(NPN)三极管 ※12个碳膜电阻 三、硬件设计思路 方案一:五个1位7段数码管,无译码器 方案二:五个1位7段数码管,译码器 方案三:1个6位7段数码管,译码器 方案四:1个6位7段数码管,无译码器 考虑实际中外围设备、资金、单片机资源利用率、节省端口数量,可实行性以及连接方便等问题,采用6为数码管(共阳或者共阴极)由于实际中没买到6位的,采用2个三位数码管并接组合一个6位数码管形式;由于实际P口驱动能力有限,故采用6位三极管增大驱动能力,已便足以使得6位数码管亮度明显正常工作,增加6个电阻限流保护数码管不被烧坏。让数码管a-g7段分别接P1.6—P1.0,6位位选分别接P2.5—P2.0。 方法一:共阴极数码管 硬件图1.0所示:通过npn管放大后,段选高电平有效,位选低电平有效 图1.0共阴极数码管硬件原理图 方法二:共阳极数码管 原理图如图2.0:段选低电平有效,位选低电平有效(通过pnp管连接,不再是高电平有效了,由于特意此接法,共阳极共阴极数码管只是差别段选控制,为程序修改提供极大的方便之处,故程序只需要修改段选地址即可,实现共阳极共阴极互换) 图2.0共阳极数码管硬件原理图 三、程序设计思路: 由于设计是255和50000计数器,对于计数器工作模式二,TL最大值为255,可以实现对255计数,但是对于50000得另寻他路,为了建立不限制计数器模型,改进程序的可更改性可移植性可读行,对计数器模式二另TL1=0FFH(以

脉冲计数

实验九脉冲计数(定时/计数器实验) 1、实验目的:熟悉单片机内部定时/计数器功能,掌握初始化编程方法。 2、实验内容:把定时器0外部输入的脉冲进行计数,并送显示器显示 3、实验程序框图: 4、实验接线图:

5、实验步骤:P3.4 依次接T0~T7或单脉冲输出孔,执行程序,观察数码管上 计数脉冲的速度及个数。 6、思考:修改程序使显示器上可显示到999999个脉冲个数。 7、程序清单文件名:SW09.ASM;脉冲计数实验 ORG 0000H LJMP SE15 ORG 06E0H SE15: MOV SP,#53H MOV P2,#0FFH MOV A,#81H MOV DPTR,#0FF23H MOVX @DPTR,A ; 1 MOV TMOD,#05H MOV TH0,#00H MOV TL0,#00H SETB TR0 LO29: MOV R2,TH0 MOV R3,TL0 LCALL ZOY0 MOV R0,#79H MOV A,R6 LCALL PTDS MOV A,R5 LCALL PTDS MOV A,R4 LCALL PTDS LCALL SSEE SJMP LO29 ZOY0: CLR A MOV R4,A MOV R5,A MOV R6,A MOV R7,#10H LO30: CLR C MOV A,R3 RLC A MOV R3,A MOV A,R2 RLC A MOV R2,A MOV A,R6 ADDC A,R6 DA A MOV R6,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A DJNZ R7,LO30 RET PTDS: MOV R1,A

单片机课程设计外部脉冲计数器

目录 摘要:单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。本课程设计的指导思想是控制单片机实现从0到99的计数功能,其结果显示在两位一体的共阳极数码管上。 关键词:脉冲计数器数码管单片机 本设计基于单片机技术原理,以单片机芯片STC89C52作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个计数器,包括以下功能:输出脉冲,按下键就开始计数,并将数值显示在两位一体的共阳极数码管上。 1课题原理 PCB板上设置开始计数按键和清零按键,以上按键与89C52单片机的P1口连接,通过查询按键是否被按下来判断进行计数或者清零。若按下计数健,则单片机控制两位一体的共阳极数码管显示从00开始的数字,按下一次,则数字加一,一次类推;若按下清零键,则程序返回程序开始处,并且数码管显示00。

2 硬件及软件设计 2.1 硬件系统 2.1.1 硬件系统设计 此设计是在单片机最小系统的基础上进行开发和拓展,增加了按键电路和和数码管显示电路,由于单片机输出电流不足以驱动数码管发光,所以数码管需要驱动电路。我们采用了三极管对数码管电流进行放大,使电流大小达到要求值。 2.1.2 单元电路设计 基本框架如下图2.1 2.1基本框架

1.STC89C52芯片 STC89C52RC芯片包括: 8k字节 Flash,512字节RAM, 32位I/O口 线,看门狗定时器,两个数据指针, 三个16位定时器/计数器,一个6向 量2级中断结构,全双工串行口,片 内晶振及时钟电路。STC89C52RC芯片 可降至0Hz静态逻辑操作,时钟频率 0-80MHz,支持2种软件可选择节电 模式。空闲模式下,CPU停止工作, 允许RAM、定时器/计数器、串口、中 断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片 机一切工作停止,直到下一个中断或 硬件复位为止。8位微控制器8K字节 在系统可编程。芯片如图2.4所示。 图2.4 STC89C52芯片 2.按键电路 K1键为启动键,K2键为清零键,K3键为计数键,通过按钮的连接,实现开始、计数清零功能,连接电路如图2.5所示。 图2.5 按键电路

编码器的脉冲计数,高速计数器小归纳

我们一般采用高速输出信号控制步进电机和伺服电机做位置,角度和速度的控制,比如定位,要实现这个目的,我们要知道这几个条件:1、PLC高速输出需要晶体管输出,继电器属于机械动作,反应缓慢,而且易坏 2、以三菱PLC为例,高速输出口采用Y0 、Y1 3、高速输出指令常用的有 PLSY 脉冲输出 PLSR 带加减速 PLSV……可变速的脉冲输出 ZRN……原点回归 DRVI……相对定位 DRVA……绝对定位 4、脉冲结束标志位M8029 5、D8140 D8141 为Y0总输出脉冲数 6、在同一个程序里面Y0做为脉冲输出,程序可以存在一次,当需要多次使用的时候,可以采用变址V进行数据的切换,频率,脉冲在不同的动作模式中,改变数据

正对上述讲解的内容:我们用一个程序来表示若我们以后可能接触步进。伺服这一块,上述内容,大家一定要熟练掌握! 23、PLC编程实现编码器的脉冲计数 在高速计数器与编码器配合使用之前,我们首先要知道是单向计数,还是双向计数,需要记录记录的数据,需要多少个编码器,在PLC 中也需要多少个高速输入点,我们先要确认清楚。 当我们了解上面的问题以后,参照上题的寄存器分配表得知我们该选择什么高速计数器 如:现在需要测量升降机上升和下降的高度,那么我们需要采用双向编码器,即可加可减的,AB相编码器,PLC需要两个IO点,查表

得知,X0 X1为一路采用C251高速计数器那么我们可以这样编程,如图 开机即启动计数,上升时(方向),C251加计数 下降时(方向),C251减计数 我们要求编码器转动的数据达到多少时,就表示判断实际升降机到达的位置 注意:在整个程序中没有出现X0、X1这个两个软元件? 是因为C251为X0、X1的内置高速计数器,他们是一一对应的,只要见到c251,X0 X1就在里面了,当然,用了C251以后,X 0 、X1不能在程序里面再当做开关量使用了

单片机脉冲计数器程序汇编

单片机脉冲计数器 1、设计内容 用单片机实现对一路脉冲计数和显示的功能。硬件包括单片机最小系统、LED显示、控制按钮;软件实现检测到显示 2、要求 计数范围0~2000; 脉冲输入有光电隔离整形, 有清零按钮 程序如下: ORG 0000H LJMP MAIN ORG 0003H LJMP 0100H ORG 0013H LJMP 0150H ORG 0050H MAIN: CLR A MOV 30H , A ;初始化缓存区 MOV 31H , A MOV 32H , A MOV 33H , A MOV R6 , A MOV R7 , A SETB EA SETB EX0 SETB EX1 SETB IT0 SETB IT1 SETB PX1 NEXT1: ACALL HEXTOBCDD ;调用数制转换子程序 ACALL DISPLAY ;调用显示子程序 LJMP NEXT1 ORG 0100H ;中断0服务程序 MOV A , R7 ADD A , #1 MOV R7, A MOV A , R6 ADDC A , #0 MOV R6 , A CJNE R6 , #07H , NEXT CLR A MOV R6 , A MOV R7 , A NEXT: RETI

ORG 0150H ;中断1服务程序 CLR A MOV R6 , A MOV R7 , A RETI ORG 0200H HEXTOBCDD:MOV A , R6 ;由十六进制转化为十进制PUSH ACC MOV A , R7 PUSH ACC MOV A , R2 PUSH ACC CLR A MOV R3 , A MOV R4 , A MOV R5 , A MOV R2 , #10H HB3: MOV A , R7 ;将十六进制中最高位移入进位位中RLC A MOV R7 , A MOV A , R6 RLC A MOV R6 , A MOV A , R5 ;每位数加上本身相当于将这个数乘以2 ADDC A , R5 DA A MOV R5 , A MOV A , R4 ADDC A , R4 DA A ;十进制调整 MOV R4 , A MOV A , R3 ADDC A , R3 DJNZ R2 , HB3 POP ACC MOV R2 , A POP ACC MOV R7 , A POP ACC MOV R6 , A RET ORG 0250H DISPLAY: MOV R0 , #30H MOV A , R5

脉冲计数器分类及作用

成像硬件用于获得清晰有效的菌落图像,以便分析计数。现今的成像硬件有拍照成像的、扫描成像的。由摄像头拍照成像的优点是:成像速度快,能确保在0.5秒内获得菌落图像。由单反相机、卡片机拍照成像的优点是:能自动对焦、且像素分辨率一般更高,但其成像需要3~4秒的时间。 然而,拍照成像的致命弱点是:成像环境中的光线强度,无论是暗视野,还是背光,想要做到图像中心与边缘保持完全一致,相对来说比较困难。从而引起平皿上亮度的不一致。针对环境光干扰成像方面,通过对仪器照明系统进行精密的设计,上下光源采用了宽光带的LED柔光系统,并结合“悬浮式暗视野”成像系统,不仅能够消除玻璃培养皿的折射光斑,而且通过改变光比,使得菌落表面的皱折、凹陷、边缘的锯齿更富立体感。 扫描成像与在灯箱中营造均匀面光源不同,是将线光源通过移动变成面光源的,光线强度相对比较均匀,其均匀度通常比拍照灯箱的面光源要高一个数量级,从成像硬件的上解决了菌落目标的亮度不匀问题,但扫描只是平面的效果,不能展现培养基表层和深层的细微菌落,且不能展现菌落颜色等多方面的情况,对于观察分析而言构成了一定难度。随着科技发展,高清晰的CMOS、CCD的涌现加上高清晰的镜头,对菌落色彩的还原性、清晰度等都很高,能够解决某些复杂菌落计数问题。对于这类的产品越来越受到科研单位、检测部门、大专院校等的喜爱。 艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保用品等一系列自动化的工控产品。 如需进一步了解相关仪器仪表产品的选型,报价,采购,参数,图片,批发等信息,请关注艾驰商城城https://www.doczj.com/doc/a418019037.html,/

单片机实验 脉冲计数和电脑时钟程序

南昌航空大学实验报告 二0一一年九月二十九日 课程名称:单片微型机实验名称:脉冲计数和电脑时钟程序 班级: 080611 学生姓名:学号: 08061108 指导教师评定:签名: 一、实验目的 1、熟悉8031定时/计数功能,掌握定时/计数初始化编程方法; 2、熟悉MCS—51定时器、串行口和中断初始化编程方法,了解定时器应用在实时控制中程序的设计技巧; 3、编写程序,从DVCC系列单片机实验仪键盘上输入时间初值,用定时器产生0.1S定时中断,对时钟计数器计数,并将数值实时地送数码管显示。 二、实验内容及要求 1、脉冲计数 对定时器0外部输入的脉冲进行计数,并送显示器显示。程序框图如下: 图1 二进制转换子程序 2、电脑时钟程序程序 程序框图如下:

图2 定时中断服务程序 三、实验步骤及操作结果 1、脉冲计数程序 (1) 当DVCC 单片机仿真实验系统独立工作时 1) 把8032CPU 的P3.4插孔接T0—T7任一根信号线或单脉冲输出空“SP ”。 2)用连续方式从起始地址02A0H 开始运行程序(按02A0后按EXEC 键)。 3)观察数码管显示的内容应为脉冲个数。 (2) 脉冲计数程序(源文件名:Cont .Asm )。汇编程序代码如下: ORG 02A0H CONT: MOV SP,#53H MOV TMOD,#05H ;初始化定时/计数器 MOV TH0,#00H MOV TL0,#00H SETB TR0 ;允许定时/计数中断 CONT1: MOV R2,TH0 ;取计数值 MOV R3,TL0 LCALL CONT2 ;调二转十进制子程序 MOV R0,#79H MOV A,R6 LCALL PWOR MOV A,R5 LCALL PWOR MOV A,R4 LCALL PWOR LCALL DISP ;调显示子程序 SJMP CONT1 ;循环 CONT2: CLR A ;清R4、R5、R6 MOV R4,A MOV R5,A MOV R6,A MOV R7,#10H CONT3: CLR C ;R2、R3左移,移出的位送CY MOV A,R3 RLC A

计数器工作原理

计数器工作原理及应用 除了计数功能外,计数器产品还有一些附加功能,如异步复位、预置数(注意,有同步预置数和异步预置数两种。前者受时钟脉冲控制,后者不受时钟脉冲控制)、保持(注意,有保持进位和不保持进位两种)。虽然计数器产品一般只有二进制和十进制两种,有了这些附加功能,我们就可以方便地用我们可以得到的计数器来构成任意进制的计数器。下面我们举两个例子。在这两个例子中,我们分别用同步十进制加法计数器74LS160构成一个六进制计数器和一个一百进制计数器。 因为六进制计数器的有效状态有六个,而十进制计数器的有效状态有十个,所以用十进制计数器构成六进制计数器时,我们只需保留十进制计数器的六个状态即可。74LS160的十个有效状态是BCD编码的,即0000、0001、0010、0011、0100、0101、0110、0111、1000、1001[图5-1]。 图5-1 我们保留哪六个状态呢?理论上,我们保留哪六个状态都行。然而,为了使电路最简单,保留哪六个状态还是有一点讲究的。一般情况下,我们总是保留0000和1001两个状态。因为74LS160从100 1变化到0000时,将在进位输出端产生一个进位脉冲,所以我们保留了0000和1001这两个状态后,我们就可以利用74LS160的进位输出端作为六进制计数器的进位输出端了。于是,六进制计数器的状态循环可以是0000、0001、0010、0011、0100和1001,也可以是0000、0101、0110、0111、1000和1001。我们不妨采用0000、0001、0010、0011、0100和1001这六个状态。 如何让74LS160从0100状态跳到1001状态呢?我们用一个混合逻辑与非门构成一个译码器[图5. 3.37b],当74LS160的状态为0100时,与非门输出低电平,这个低电平使74LS160工作在预置数状态,当下一个时钟脉冲到来时,由于等于1001,74LS160就会预置成1001,从而我们实现了状态跳跃。

脉冲信号发生器与计数器

中南林业科技大学涉外学院 认识实习报告 名称:脉冲信号发生器与计数器 姓名学号: 系:理工系专业:电子信息工程班级:实习时间:实习地点:

目录 一、题目 二、任务和要求 三、内容 (1)如何用仪表测量 (2)如何焊接 (3)如何调试 四、结论 五、体会和收获

一、题目脉冲信号发生其与计数器 二、任务和要求 1:焊接电路板 2:装配电阻、安装短路线、装配芯片、装配按键S、装配电容、装配发光二极管、安装电源插座、测试 三、内容 (1)安装好后,目测检查,是否焊接好了。插入电源线,电源线额另一端接电源,一定不要接错了,印刷板上标有+的一端接电源+5V,另一端接 地。千万注意,电源不要接错了。打开电源,测试电源电压,测试芯片 上各脚电压。按下按键,试着短按和长按,观察现象。测试各发光二极 管(有亮的也有不亮的都测)的电压。短按时,每次产生一个脉冲,观 察到由发光二极管显示的二进制数加一。长按时,产生连续脉冲,观察 到由发光二极管显示的二进制数连续累加。 (2)加热焊件;移入焊锡;焊锡融化后,移开焊锡;移开电烙铁。注意掌握好时间,焊接好后,剪去焊盘外的导线 (3)打开电源,测试电源电压,测试芯片上各脚电压。按下按键,试着短按和长按,观察现象 四、结论 利用集成定时器(芯片 NE555)产生信号,当按键被单次单次地按下时,产生一个一个的单脉冲信号;当按键按下不动时,产生连续脉冲信号。可利用集成技术器(芯片4024)计数。其状态反映脉冲的个数。利用发光二级管显示已经计数的脉冲数,其中74LS04是驱动电路。 五、体会和收获 经过这次实习,了解到了如何焊接电路板、焊接电路板所需注意的事项、认识各种原配件和如何检测焊成后的电路板,同时培养了自己的动手能力和对电路这门课程的认知

51单片机计数程序

/**************程序说明********************* 硬件说明只需要将15脚接口接入外部的脉冲信号,15脚为定时器T1的外部信号输入引脚 通过定时器T0定时指定的时间来测取脉冲的个数并在1602液晶上显示出来 假设定时1s则数据变成为信号的频率 *************************************************** *****/ #include #include //定时器0负责定时30s 定时器1负责计数功能 #define uint unsigned int #define uchar unsigned char sbit RS=P2^6; //液晶的电路定义 sbit E=P2^5; unsigned char table[3]; unsigned int t0;

void delay_ms(uint z) //毫秒级延时 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /******液晶部分子程序*************************/ void write_com(unsigned char com) { //操作时序 RS=0; P0=com; delay_ms(5); E=1; delay_ms(5); E=0; } void write_data(unsigned char shuju) { //操作时序

RS=1; P0=shuju; delay_ms(5); E=1; delay_ms(5); E=0; } void LCDintial() { delay_ms(5); E=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80); } /**********定时器初始化程序***************/ void T0T1_init() { EA=1;

实实验二 脉冲产生电路及计数器的使用1

实验二脉冲产生电路及计数器的使用 一、实验目的 1、掌握使用门电路、555定时器构成脉冲信号产生电路的方法。 2、掌握中规模集成计数器的使用及功能测试方法。 二、实验设备与器件 1、数字电路实验箱。 2、集成门电路:CC4011×1 3、电阻器: 100Ω×1、1MΩ×2、2MΩ×1、 4、电容器:0.01μF×1、0.1μF×1、1μF×1 5、555定时器×1 6、集成计数器:CC40192(74LS192)×2 16 15 14 13 12 11 10 9 V D D D0 CR BO CO LD D2 D3 CC40192(74LS192) D1Q1Q0 CP D CP U Q2 Q3V S S 1 2 3 4 5 6 7 8 图中:CP U——加法计数时钟脉冲输入端, CP D——减法计数时钟脉冲输入端, LD——置数端,CR——清除端, CO——非同步进位输出端,

BO——非同步借位输出端, D0、D1、D2、D3——数据输入端, Q0、Q1、Q2、Q3——数据输出端。 CC40192(74LS192)的功能如下表一所示: 表一 三、实验过程 1、依图一所示带RC延迟电路环形振荡器原理图,在数字电路实验箱上,用1片CC4011、100Ω及2MΩ电阻各1个、0.1μF电容器1个接成脉冲产生电路的实际电路。 图一 图一电路中,R为2MΩ电阻,R S为100Ω电阻,C为0.1μF电容器。电路利用电容C的充放电过程,控制d点的电位,从而控制非门的自动启

闭,形成多谐振荡。改变R和C可改变电路输出的振荡周期T=2.2RC。 (1)请画出带RC延迟电路环形振荡器的实际接线图。 (2)电路是否一次接线成功且实现应有功能?若不是,请将遇到的情况记下,并说明解决的方法。

单片机的定时及计数器实验-脉冲计数器

实验六单片机定时、计数器实验2——脉冲计数器 一、实验目的 1.AT89C51有两个定时/计数器,本实验中,定时/计数器1(T1)作定时器用,定时1s;定时/计数器0(T0)作计数器用。被计数的外部输入脉冲信号从单片机的P3.4(T0)接入,单片机将在1s内对脉冲计数并送四位数码管实时显示,最大计数值为0FFFFH。 2.用proteus设计、仿真基于AT89C51单片机的脉冲计数器。 3.学会使用VSM虚拟计数/计时器。 二、电路设计 1.从PROTEUS库中选取元件 ①AT89C51:单片机; ②RES:电阻; ③7SEG-BCD- GRN:七段BCD绿色数码管; ④CAP、CAP-ELEC:电容、电解电容; ⑤CRYSTAL:晶振; SEG-COM- GRN为带段译码器的数码管,其引脚逻辑状态如图所示。

对着显示的正方向,从左到右各引脚的权码为8、4、2、1。 2.放置元器件 3.放置电源和地 4.连线 5.元器件属性设置 6.电气检测 7.虚拟检测仪器 (1)VSM虚拟示波器 单击小工具栏中的按钮,在对象选择器列表中单击COUNTER(计 数/计时器),打开其属性编辑框,单击运行模式的下拉菜单,如图所示,可选择计时、频率、计数模式,当前设置其为频率计工作方式。 (2)数字时钟DCLOCK 单击按钮,在对象选择器中选择DCLOCK(数字时钟)。在需要添加信 号的线或终端单击即可完成添加DCLOCK输入信号。当前信号设置为DIGITAL型的时钟CLOCK,频率为50K。 三、源程序设计、生成目标代码文件 1.流程图 2.源程序设计 通过菜单“sourc e→Add/Remove Source Files…”新建源程序文件:DZC36.ASM。 通过菜单“sourc e→DZC36.ASM”,打开PROTEUS提供的文本编辑器SRCEDIT,在其中编辑源程序。 程序编辑好后,单击按钮存入文件DZC32.ASM。 3.源程序编译汇编、生成目标代码文件 通过菜单“sourc e→Build All”编译汇编源程序,生成目标代码文件。

单片机方波脉冲计数控制 设计说明书

桂林电子科技大学微机综合设计 设 计 报 告 指导老师:吴兆华 学生:fdb 学号:1000150310

目录 一、设计题目 (2) 二、设计内容与要求 (2) 三、设计目的和意义 (2) 四、设计任务分析 (2) 五、系统硬件电路 (3) 5.1 电路原理图绘制 (7) 5.1.1 电路图绘制要点 (7) 5.1.2 硬件电路制作 (8) 5.2 硬件电路说明 (8) 5.2.1 单片机基本知识 (8) 5.2.2 AT89S51单片机介绍 (11) 5.2.3最小系统控制部分 (14) 5.2.4 数码管显示电路部分 (17) 六、软件设计 (20) 6.1程序流程图 (20) 6.2程序源代码 (22) 八、调试过程 (27) 8.1 硬件调试 (27) 8.1.1 静态调试 (27) 8.1.2 动态调试 (27) 8.2 软件调试 (29) 8.3 调试收获与改进意见 (29) 九、设计总结 (30) 十、参考文献 (31)

一、设计题目 用8031单片机控制可测方波1~100Hz,并显示每分钟计数的脉冲。 二、设计内容与要求 设计方波脉冲控制显示系统,用51单片机控制输出方波输出,频率范围为1~100Hz,并用数码管显示每分钟计数的脉冲数和当前频率,用两个按键分别控制频率的增减,同时用一个复位键,可以快速回到起始状态。 三、设计目的和意义 1、通过方波脉冲控制系统的设计,将单片机原理课上所学的知识融会贯通、加深理解。培养独立设计、制作和调试单片机应用系统的能力,熟悉单片机应用系统的软硬件调试方法和系统的设计开发过程,为今后的工作实践活动夯实基础。 2、通过方波脉冲计数控制系统的设计,掌握51系列单片机的内部定时/计数器的功能和使用方法;掌握单片机外部中断的应用和程序的编程方法;掌握数码管的使用和编程方法。通过设计方案分析、选择和设计,设计并搭制硬件电路,编写控制程序等一系列工作,掌握单片机应用的基本方法,更重要的是学会一种科学的解决问题的逻辑思维,和完成任务的方法。 3、培养一个解决困难问题的积极心态,为今后在工作上奠定坚实的基础。 四、设计任务分析 设计题目要求用单片机控制可测方波脉冲1~100Hz,并显示每分钟计数的脉冲数。由要求可知道,任务包括方波的产生和方波脉冲数的显示两个部分。方波由单片机内部定时器来产生,通过改变其定时初值来改变方波的频率,在硬件电路中可利用按键来控制频率的增减。方波的波形利用示波器来观察。 由此,可有几个方案来实现题目的要求。 方案一:51单片机最小系统,外接上一个数码管显示电路用以显示每分钟的脉冲数。数码管的断码选择端直接与单片机的P0口连接,位码选择端与P2口连接。利用改变定时初值的方式来改变方波频率。这个方案的优点是硬件电路简单,节省元器件,程序编写容易。但是缺点也明显,只用一个数码管,无法显示当前的脉冲频率,而且无法用硬件实现频率的+1,-1的变化。虽然实现了题目的基本功能,但是功能简单有限,也就达不到课程设计的目的了。以下是方案一的电路图:

单片机脉冲计数

单片机实验报告 班级:自动0903 姓名:

一.软件实验 实验题目:脉冲计数(定时/计数器实验) 1,实验目的:熟悉单片机内部定时/计数器功能,掌握初始化编程方法。 2,实验内容:把外部中断0输入的脉冲进行计数,并送数码管显示。 仿真电路图如下所示:设定频率发生器为50Hz 程序如下: #include sbit P2_0=P2^0; //数码管选定位 sbit P2_1=P2^1; sbit P2_2=P2^2; sbit P2_3=P2^3; unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,

0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; unsigned int motorspeed; unsigned char GE,SHI,BAI,QIAN; unsigned int counter=0; //脉冲数 unsigned int calsp; //设定多长时间计算一次 void display(); //数码管显示 void delay(); //延迟函数 void calspeed(); void main() { EA=1; //开启总中断 EX0=1; //开启外部中断0 IT0=1; //设置成下降沿触发方式 TMOD=0x01; //设置定时器0为模式1,即16位计数模式 TH0=(65536-10000)/256; //计数时间为10ms TL0=(65536-10000)%256; ET0=1; //开启定时器0中断 TR0=1; //启动定时器0 P2=P2&0xf0; while(1) { display(); calspeed(); } } void calspeed() { if(calsp>=100) //100*10ms=1s计算一次 { motorspeed=counter; counter=0; //清零脉冲数 calsp=0; //清零标志 } } void _TIMER0() interrupt 1 { TH0=(65536-10000)/256; //重新装入初值,计数时间为10ms TL0=(65536-10000)%256; calsp++; }

单片机实验设计脉冲计数实验

实验八脉冲计数实验 一、实验目的: (1)掌握定时器/计数器的计数工作方式; (2)掌握用定时器/计数器实现脉冲计数的方法; (3)掌握用Keil实现软件调试的方法; (4)掌握用Proteus实现电路设计,程序设计和仿真的方法。 二、实验内容: 定时器0外部输入端(P3.4)和定时器1外部输入端(P3.5)作为计数脉冲输入端,利用按钮手控产生单脉冲信号作为计数输入脉冲,编写程序控制,每输入一个(5个)脉冲,工作寄存器R0(R1)的内容加1,同时将R0(R1)的内容送到两位LED数码管中显示出来,晶振频率6MHZ。 三、主要器件的型号: 四、实验参考电路: P1口接两位数码管显示工作寄存器R0的内容,P2口接两位数码管显示工作寄存器R0的内容,两只按钮分别接P3.2(外部中断0中断输入端)和P3.3(外部中断1中断输入端)。实验电路如图:

五、实验参考程序: ORG 0000H LJMP MAIN 指向主程序; ORG 000BH 定时器/计数器0的入口地址; LJMP T0C 指向中断服务程序; ORG 001BH 定时器/计数器1的入口地址; LJMP T1C 指向中断服务程序; ORG 0030H MAIN: MOV R0,#00H 清零; MOV R1,#00H MOV P1,#00H MOV P2,#00H MOV TMOD,#66H 置计数器0,计数器1为方式2; MOV TH0,#0FFH 置1次计数初值; MOV TL0,#0FFH MOV TH1,#0FBH 置5次计数初值; MOV TL1,#0FBH SETB EA 开中断; SETB ET0 SETB ET1 SETB TR0 启动计数器0; SETB TR1 启动计数器1; SJMP $

(完整word版)计数器的原理.doc

计数器的原理 计数器是数字电路中广泛使用的逻辑部件,是时序逻辑电路中最重要的逻辑部件之一。 计数器除用于对输入脉冲的个数进行计数外,还可以用于分频、定时、产生节拍脉冲等。计数器 按计数脉冲的作用方式分类,有同步计数器和异步计数器;按功能分类,有加法计数器、 减法计数器和既具有加法又有减法的可逆计数器;按计数进制的不同,又可分为二进制计数器、 十进制计数器和任意进制计数器。 一、计数器的工作原理 1、二进制计数器 ( 1)异步二进制加法计数器图1所示为用JK 触发器组成的 4 位异步二进制加法计 数器逻辑图。图中 4 个触发器F0~F3均处于计数工作状态。计数脉冲从最低位触发器F0的CP 端输入,每输入一个计数脉冲,F0的状态改变一次。低位触发器的Q 端与高位触发器的 CP 端相连。每当低位触发器的状态由 1 变 0 时,即输出一负跳变脉冲时,高位触发器翻转。 各触发器置0 端 R D并联,作为清0 端,清 0 后,使触发器初态为0000。当第一个计数脉冲 输入后,脉冲后沿使F0的 Q0由 0 变 1, F1、 F2、 F3均保持 0 态,计数器的状态为0001;当 图 1 4 位异步二进制加法计数器 第二个计数脉冲输入后,Q0由 1 变为 0,但 Q0的这个负跳变加至F1的 CP 端,使 Q1由 0 变为 1,而此时 F3 2 仍保持 0 状态,计数器的状态为0010 0 、 F 。依此类推,对于 F 来说,每 来一个计数脉冲后沿,Q 的状态就改变,而对于F、F、F 来说,则要看前一位输出端Q 0 1 2 3 是否从 1 跳到 0,即后沿到来时,其输出端的状态才改变,否则Q1、 Q2、Q3端的状态同前 一个状态一样。这样在第15 个计数脉冲输入后,计数器的状态为1111,第 16 个计数脉冲 输入,计数器恢复为0000。 由上述分析可知,一个 4 位二进制加法计数器有24=16 种状态,每经过十六个计数脉冲, 计数器的状态就循环一次。通常把计数器的状态数称之为计数器的进制数(或称计数器的模),因此, 4 位二进制计数器也可称之为 1 位十六进制(模16)计数器。表 1 所示为 4 位二进制加法计数器的状态表。计数脉冲和各触发器输出端的波形如图 2 所示。 图 2 直观地反映出最低位触发器Q0在 CP 脉冲后沿触发,而各高位触发器又是在相邻 低位触发器输出波形的后沿触发。从图中还可以看出每经过一级触发器,脉冲波形的周期就 增加 1 倍,即频率降低一半,则从Q0引出的脉冲对计数脉冲为两(21)分频,从Q1引出的 脉冲对计数脉冲为四(22)分频,依此类推,从n 位触发器输出端Q n引出的脉冲对计数脉 冲为 2n分频,因此,计数器可以用于分频电路。 对异步二进制加法计数器的特点归纳如下:

定时器当计数器使用 对外部脉冲计数

STM32定时器做外部脉冲信号计数器用 标签: 定时器计数器2012-09-17 11:31 今天,尝试使用STM32的计数器的外部时钟功能,来对外部脉冲信号进行计数。效果还不错。具体设置如下: /* TIM3_CH2 为脉冲输入口 1. 配置GPIO_GPIOA_PIN7 输入 2. 配置TIM3 计数器在TI2 端的上升沿计数: 1). TIMx_CCMR1: CC2S =01; 配置通道2检测TI2输入的上升沿 2). TIMx_CCMR1:IC2F =000; 选择输入滤波器带宽 3). TIMx_CCER: CC2P =0; 配置上升沿极性√ 4). TIMx_SMCR: SMS =111; 选择定时器外部时钟模式1 5). TIMx_SMCR: TS =110; 选择TI2作为触发输入源√ 6). TIMx_CR1: CEN =1; 启动计数器 */ void TIM3_External_Clock_CountingMode(void) { GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; // TIM_ICInitTypeDef TIM_ICInitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); TIM_DeInit(TIM3); TIM_TimeBaseStructure.TIM_Period = 0xFFFF; TIM_TimeBaseStructure.TIM_Prescaler = 0x00; TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; /*定时器时钟(CK_INT)频率与数字滤波器(ETR,TIx) 使用的采样频率之间的分频比为1*/ TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit( TIM3, &TIM_TimeBaseStructure); // Time base configur ation

用单片机计数脉冲的个数-数码管显示汇编程序

用单片机计数脉冲的个数-数码管显示汇编程序 位数码管用2个573接到p0口,位选p2 段选P0口:点这里采用定时器来记录脉冲并用数码管输出以下是源代码:;******** 用数码管来计数脉冲的个数********************************** ORG 0000H JMP MAIN ORG 000BH JMP TT0 ORG 001BH JMP TT1 MOV 23H,#00H MOV 22H,#00H MOV 21H,#00H MOV 24H,#10 CALL IIP CALL IIP CALL IIP MOV SP,70H;=====主程序区==================================== MAIN: MOV TMOD,#01100010B MOV TH1,#255 MOV TL1,#255 MOV IE,#10001010B MOV TH0,#00H MOV TL0,#00H SETB TR0 SETB TR1 JMP $;======分解计数程序=================================== TT1:CALL IIP INC 20H MOV A,20H MOV B,#100 DIV AB MOV 21H,A MOV A,B MOV B,#10 DIV AB MOV 22H,A MOV 23H,B RETI;======数码管显示程序区==================================== IIP: MOV A,23H CALL TABLE MOV P0,A SETB P2.0 NOP NOP NOP NOP CLR P2.0 MOV P0,#10111111b SETB P2.1 NOP NOP NOP CLR P2.1 CALL T10MS;================================================== MOV A,22H CALL TABLE MOV P0,A SETB P2.0 NOP NOP NOP NOP CLR P2.0 MOV P0,#11011111B SETB P2.1 NOP NOP NOP CLR P2.1 CALL T10MS;=================================================== MOV A,21H CALL T10MS CALL TABLE MOV P0,A SETB P2.0 NOP NOP NOP NOP CLR P2.0 MOV P0,#11101111B SETB P2.1 NOP NOP NOP CLR P2.1 CALL T10MS RET;=====定时0程序区====================================== TT0: DJNZ 24H,LOOP_9 CPL

单片机脉冲计数及显示课程设计

目录 ? 1. 设计思想和设计说明----------------------- ? 2. 硬件原理框图-----------------------------3 ? 3. 硬件原理图与其软件配合介绍---------------3 ? 4. 程序存储器和数据存储器的单元分配---------6 ? 5. 程序流程图-------------------------------7 ? 6. 源程序清单-------------------------------9 ?7. 芯片资料---------------------------------12 ?8. 仿真结果(打印仿真图)-------------------17 ?9. 参考文献---------------------------------19 一设计思想和设计说明

设计思想: 本次课程设计采用一个可扩展芯片AT89C51,四个7段LED数码管显示器,经过电阻连接而组成,并具有开关复位等功能。首先在keil软件中输入计数器程序,在生成以hex为后缀名的文件,拷贝添加到芯片AT89C51中以实现其功能。其中芯片的P0.0到P0.7和P1.0到P1.7分别和四个7段LED数码管显示器相连接,作为0000-9999计数的十位数显示,在练习使用译码器驱动7段LED数码管显示器的同时,芯片AT89C51的由12MHZ的晶振提供脉冲支持芯片工作。 设计说明: 在汇编程序中可将十六进制转换变为十进制输出显示,即使得计数器的初始状态为0000,当第1个计数脉冲来到后,其状态为0001,以后来一个脉冲计一次数,依次可计数到9999后清零,计数器是采用数字电路实现的对个,十,百,千位的数字显示技术装置,能广泛应用于实验室,公共场合,以及实际生活中的一些应用,是人们日常生活中不可少的必需品。由于数字集成电路以及555振荡器的广泛应用,使得计数器的精度大大的提高。给人们的生活带

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