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

供稿:hz-xin.com     日期:2025-01-15
利用定时器\计数器设计一个电路,其功能是每输入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的输入端,再将译码器的输出端接上五个发光二极管,这样就可以实现硬件上的...

试用PLC定时器串接法实现3小时的延时电路,并说明其功能
以三菱为例,用T250设定值为30000,即50分钟(最大值为3276.7秒),用250到253,250计时50分钟启动251,251计时50分钟到启动252,252计时到启动253,253设定30分钟输出即可!用定时器加计数器更简单点。不好意思看错啦,T0-T199是100ms,T250-T255是累计的!

PLC要求: 利用定时器和计数器构成一长延时电路要求延时时间为48小时...
第一步:使用一个定时器,定时为60分钟 第二步:使用一个计数器,当定时到达时,加1 第三步:进行调试

怎么用74ls160和555定时器设计一个34进制的电路
555定时器组成时钟电路,输出时钟脉冲信号,送两片74ls160计数。74ls160就是十进制计数器,采用反馈清0法,只要利用计数到34时,产生一个复位信号,将两片74ls160清0,实现改制。电路原理图如下,这是计数到最大数33时的截图,这也是仿真图。数码管,你不用画,这是为了显示仿真图效果的。

用定时器中断技术设计一个秒闪电路LED每秒闪亮400ms.时钟频率6MHz。代码...
OCR1A = (F_CPU \/ 1000) * 400; \/\/ 计数器比较值,产生400ms的时间间隔 TIMSK1 |= (1 << OCIE1A); \/\/ 开启定时器1比较匹配中断 TCCR1B |= (1 << CS12) | (1 << CS10); \/\/ 分频系数为1024 } void led_init(){ DDRB |= (1 << LED_PIN); \/\/ 设置LED引脚为输出 ...

用单片机的定时\/计数器实现60s倒计时,并用两位数码管静态显示倒计时秒值...
请问静态显示能显示两位数字吗??下面是电路图:

plc梯形图设计 1,利用定时器和计数器结合设计一个延时10小时的电路...
延时20秒与10小时一样,把T0处改为K200 C0处改为K1。

用定时器和计数器联合方式设计一个定时为30个小时的长延时电路,并定时...
这个简单,只是一个倍率放大电路,LD T0 OUT C0 K1080 LDI C0 OUT T0 K99.99 LD T0 OUT M0 LD M0 OUT RST T0 LDI C0 OUT Y0 END 注:以上C0和T0值为真时值,输入PLC要根据PLC分辨率换算的。

急求基于Intel8253的定时器,设计一个电路,使8个指示灯依次闪动,闪动频 ...
8253计数器的OUT端接到8255某个口上(比如C0口),一直读这口,只要不为1就一直读。为1时,计时结束,反回主程序。 至于产生1Hz就更简单了,比如Clk0输入1Mhz,只要通过8253的两个计数器联起来就行,OUT1接CLK2,OUT2接C0。每个计数器的初值都为1000。这就可以了。

用定时器计数器设计一个简单的秒表
本次课设我们要设计一个能显示计时状态和结果的秒表,它是基于定时器\/计数器设计一个简单的秒表。本次设计的数字电子秒表系统采用AT89C51单片机为中心器件,利用其定时器\/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现四位LED...