利用定时器计数器设计一个电路,其功能是每输入1个脉冲,发光二极管状态改变一次

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-08-07
利用定时器\计数器设计一个电路,其功能是每输入5个脉冲,发光二极管状态改变一次。

在计数器中断里面设置一个static 变量,或一个全局变量,每进入一次中断这个变量+1,当=5是,驱动LED的管脚取反(比如P1_0=~P1_0),然后变量清零,开始下一个循环

ORG 00H
AJMP MAIN
ORG 30H
MAIN:
MOV TMOD,#60H ;TMOD的D6位=1,T1为计数器模式。D5位m1=1 、D4位m0=0,工作方式2
;8 位计数。TL1溢出时TH1内容自动装到TL1
SETB TR1 ;开定时器1
MAIN1:
MOVP1,TL1 ;脉冲数送P1口显示
AJMPMAIN1
END
图中按 了6次按键 ,表示6 个脉冲。

(一)设计思路
1.测量方法:
多周期同步测量法( 倒数计数器法 )从根本上消除了±1误差,实现了等精度测量
2.实现技术的选择:
硬件实现法(可选的器件有通用的SSI/MSI/LSI集成电路、专用集成电路、可编程逻辑器件——如isPLD器件等);
软件实现法(可选的平台有PC机、单片机、 DSP器件等)
将这两种结合来实现设计要求。
3.信号发生器的选择(频率范围900—1300.0(KHz))
SG-4162AD高频信号发生器/计频器:频率范围:100KHZ-150MHZ◆分6档三次谐波到450MHZ±5%◆输出电压:100MVRMS◆低频输出:1KHZ2VRMS
3.大概的系统设计原理框图:
(二)子系统设计
1.输入通道的设计。输入通道是由前置放大器和整形器组成的,所以要对前置放大器的增益和带宽指标进行估计。为了能准确测量信号,将输入信号经过一个放大整形电路。其具体实施方案为:将输入信号经过LM358运放放大,再通过74LS132整形,此时的信号还不能直接送入单片机,这是因为在硬件上CPU对INT0和INT1引脚的信号不能控制,解决这个问题要通过硬件,再配合软件来解决。
2.预置闸门时间发生电路设计。闸门时间的确定,可以先由一个555定时器产生一个脉冲信号,将555产生的脉冲信号送入到74LS90十进制计数器当中,由于74LS90具有二-五进制混合计数的功能,所以可以用它来实现五进制计数,将74LS90的输出接到3—8线译码器74LS138的输入端,再将译码器的输出端接上五个发光二极管,这样就可以实现硬件上的闸门时间控制。但是考虑到硬件实现上的复杂性,可以通过软件上来实现,就是将五个发光二极管直接接到单片机的P1口由软件上来实现,通过按键来改变它的闸门时间。
3.数码显示电路的设计。该部分电路是由单向八位移位寄存器74LS164和数码管组成的。同时还要显示频率和周期的单位,所以还需再级联一块74LS164,在74LS164的输出端接六个单位指示灯,分别表示周期频率的三个不同的单位数量级,即周期单位s,ms,μs和频率单位Hz,KHz及MHz。移位寄存器的时钟信号是由单片机的串行输出口TXD脚控
1.单片机系统的选择:
单片机子系统(根据下列要求选用AT89C51)
①由+5V电源供电,I/O口与TTL电平兼容,并有足够数目的I/O口;②要有丰富的四则算术运算和逻辑运算指令,指令执行速度要快;③片内除RAM外还要有EPROM;④至少有两个16位的定时器/计数器;⑤有外部中断输入引脚;⑥具有串行通信口;⑦价格要低廉
其中输入通道组成框图如下:
被测信号边沿选择电路:
被测信号边沿选择电路的工作波形图:
三、软件设计
(一)软件主程序流程图(见图)
(二)子程序的设计
1.键盘中断服务子程序。因该频率计的测量项目较多,所以在系统初始化时,将默认测量项目设置为测频,且预置闸门时间设置为1ms。具体做法就是在主程序的系统初始化部分,将测频选择键的键值以及预置闸门时间设置代码写入单片机RAM单元中去。这样开机后即使用户没有选择任何测量项目键,也能进行频率测量。
2.软件计数器子程序。该频率计所需要的不同闸门预置时间信号是由单片机产生的。由于预置闸门时间的范围很宽,最大值为10s,最小值为1ms,仅用单片机中的定时器硬件是不能实现的,需采用软硬件相结合的方法来实现。其具体实现方案为将C/T0定时器/计数器设置为由引脚高电平启动的方式1定时器T0,初始化将其初值设为0.该计数器的启动过程如下:主程序首先将单片机P1.6脚置为高电平(逻辑1)发出预置闸门信号,该信号经同步电路而产生高电平的同步门信号,从而使单片机引脚变为高电平,C/T0定时器中的计数器就被启动开始计数。
3.数据处理子程序。当事件计数器和时间计数器的计数值NA,NB被读到单片机中后,通过调用数据处理子程序,根据过去读入并保存在单片机RAM单元中的测量项目的键值,预置闸门值代码,判断出所要测量的参数项目,对计数值NA,NB进行相应的处理,求出所测参数的值和单位,最后应将参数值转换为十进制数,再转换为驱动LED数码显示器的段码(每位包含5个数字段码和1个小数点)以及驱动三个单位符号指示灯之一的位码,作为显示子程序的输入数据,存放在9个RAM单元组成的显示缓冲区中。对计数值NA,NB的处理运算要用到除法和乘法,为了提高运算精度,应当采用浮点运算。显然,采用C语言来编写这些运算程序可大大提高编程效率。
计数式测频的原理方框图:
四、结论
本系统采用大规模集成电路设计,用C51语言编程,实现了对不同波形、不同频率信号的测量。

利用计数器就可以了,脉冲信号进入计数端,从输出端取第一个信号就可以了。

双稳电路



用NE555这个IC就可以实现了也简单,网上找一下很多

  • 利用定时器计数器设计一个电路,其功能是每输入1个脉冲,发光二极管状态...
    答:闸门时间的确定,可以先由一个555定时器产生一个脉冲信号,将555产生的脉冲信号送入到74LS90十进制计数器当中,由于74LS90具有二-五进制混合计数的功能,所以可以用它来实现五进制计数,将74LS90的输出接到3—8线译码器74LS138的输入端,再将译码器的输出端接上五个发光二极管,这样就可以实现硬件上的...
  • 计数器和定时器有什么作用?
    答:计数器作用 在数字电子技术中应用的最多的时序逻辑电路。计数器不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。但是并无法显示计算结果,一般都是要通过外接LCD或LED屏才能显示。定时器作用 用定时器来控制开关或工作时间。
  • 单片机定时器 计数器的工作原理,及如何实现定时 计数功能
    答:定时\计数器的原理: 16位的定时器/计数器实质上就是一个加1计数器,其控制电路受软件控制、切换。 当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。显然,定时器的定时时间与系统的振荡频率有关。因一个机器周期等...
  • 定时器的功能?
    答:1、T0定时10分钟,计数器设置600次;每10分钟,计数器+1,计数到600,得到输出 2、定时器T0+定时器T1+定时器T2+XX 当计数器计数达到10*60,也就是十小时后,输出线圈接通,这就完成了10小时的定时,定时器的每一次定时时间长短不同的PLC不一样,即使同一个PLC也有不同的定时器。
  • plc中利用定时器和计数器实现200s延时电路图
    答:|初始条件满足|---|定时T38 200s| |T38|--- 在t38后面接着写就完成延时功能了~每个PLC软件都有定时器的 你直接定时2000ms就可以实现这个延时功能的
  • 计数器和定时器有什么作用?
    答:1、计数器作用 在数字电子技术中应用的最多的时序逻辑电路。计数器不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。但是并无法显示计算结果,一般都是要通过外接LCD或LED屏才能显示。2、定时器作用 用定时器来控制开关或工作时间。
  • 一个定时器和一个计数器如何完成1h的定时?
    答:如下设计即可实现(用一个定时器和一个计数器完成1h的定时)。解析:当X0接通时,M0得电并自锁,定时器T0依靠自身复位产生一个周期为100s的脉冲序列,作为计数器C0的计数脉冲。当计数器计满36个脉冲后,其常开触点闭合,使输出Y0接通。从X0接通到Y0接通,延时时间为100s x 36 = 3600s,即1h。
  • PLC要求: 利用定时器和计数器构成一长延时电路要求延时时间为48小时...
    答:第一步:使用一个定时器,定时为60分钟 第二步:使用一个计数器,当定时到达时,加1 第三步:进行调试
  • 利用定时器和计数器,设定程序控制要求,按下启动按钮,1小时后指示灯亮...
    答:如图所示,x0启动按钮,x1停止按钮,y0灯 望采纳。。。
  • 单片机定时器/计数器主要有什么作用?
    答:作用一:计数概念的引入 作用二:定时 作用三:溢出 单片机提供内部定时和外部计数的功能,功能差不多都是定时和计数达到终点时,产生中断,而CPU则暂时放下目前所执行的程序区处理中断。定时器:主要用于产生固定时间(比较精确),也可以作为UART等外设的频率发生器。计数器:主要是计量引脚产生脉冲的个数。