利用51单片机统计脉冲个数,即时输出显示

发布者:幸福时光最新更新时间:2018-05-08 来源: eefocus关键字:51单片机  统计脉冲个数  即时输出显示 手机看文章 扫描二维码
随时随地手机看文章

;利用51单片机设计一个计数显示系统,要求8个数码管显示T1输入脉冲的个数。 
;最好用汇编语言,加注释,尽量别太复杂。尽量快些哈!
;悬赏分:30 | 解决时间:2011-7-20 19:15 | 
;=====================================================
;最佳答案:
;题目要求在T1端输入脉冲,统计脉冲个数,并即时输出显示,使用8个LED数码管,显示:0000 0000~9999 9999。
;计数、显示,很简单的。虽然要求的位数较多,但是循环一下,也就可以了。
;程序用汇编汇编语言编写好了,指令不超过50行,太简单了。
;题目只是要求在T1端输入脉冲,并没有指出显示电路,那么就设计一个仿真实验电路如下:

利用51单片机统计脉冲个数,即时输出显示 - 非著名博主 - 电子信息角落

;仿真图中使用了两种虚拟仪器:“信号发生器”和“计数器”,通过按键即可输入单次脉冲和连续脉冲。

;全部程序如下:

NUM_B  EQU  30H        ;计数、显示单元起始地址
NUM_N  EQU  8          ;计数、显示单元的字节数

    ORG  0000H
    JMP  START
    ORG  001BH
    JMP  T1_INT
;------------------------
START:
    MOV  TMOD, #60H    ;T1计数方式2
    MOV  TH1, #255     ;初始值为FF
    MOV  TL1, #255     ;当收到一个输入,立刻引起中断
    SETB TR1           ;启动T1
    MOV  IE, #10001000B;允许中断
    MOV  SP, #40H      ;设置堆栈
;------------------------
M_LOOP:
    CALL DISP
    SJMP M_LOOP
;------------------------
DISP:
    MOV  R0, #NUM_B    ;30H
    MOV  R2, #1        ;先显示最低位
D_LOOP:
    MOV  A,  @R0
    ADD  A,  #(D_TAB - $ - 3)
    MOVC A,  @A + PC
    MOV  P2, #0        ;关闭显示,消隐
    MOV  P0, A         ;输出段码
    MOV  P2, R2        ;输出位码
    CALL DL1MS
    MOV  A,  R2        ;修改位码
    RL   A
    MOV  R2, A
    INC  R0            ;修改显示指针
    CJNE R0, #NUM_B + NUM_N, D_LOOP
    RET
;------------------------
D_TAB:                 ;共阳极段码
    DB  0C0H,0F9H,0A4H,0B0H, 99H, 92H, 82H,0F8H
    DB   80H, 90H, 88H, 83H,0C6H,0A1H, 86H, 8EH,0FFH;FF是空白的代码
;------------------------
DL1MS:                 ;延时
    MOV  R7, #242
    DJNZ R7, $
    DJNZ R7, $
    RET
;------------------------
T1_INT:                ;T1中断程序
    PUSH PSW           ;保护现场
    SETB RS0           ;换用工作区
    MOV  R0, #NUM_B
T1_LOOP:
    INC  @R0           ;数字加一
    CJNE @R0, #10, T1_END ;不到10就退出
    MOV  @R0, #0       ;到10就清零
    INC  R0            ;转去下一位
    CJNE R0, #NUM_B + NUM_N, T1_LOOP
T1_END:
    POP  PSW           ;恢复现场
    RETI
;------------------------
END
;=====================================================
回答时间:2011-7-18 07:56
回答者: 做而论道 | 十五级  采纳率:43% 
提问者对于答案的评价:非常感谢!
;=====================================================
后记:
仿真时,信号发生器有个控制框,可以选择信号的输出频率、幅度等,屏幕截图如下:

利用51单片机统计脉冲个数,即时输出显示 - 非著名博主 - 电子信息角落

在仿真时,计数器是上升沿计数,而单片机是下降沿计数,所以,两者显示的数字,有一个时间差。
另外,刚刚启动时,计数器总要先计一个数,不知如何控制才好。


关键字:51单片机  统计脉冲个数  即时输出显示 引用地址:利用51单片机统计脉冲个数,即时输出显示

上一篇:利用51单片机测量电容量
下一篇:驱动大尺寸数码管的方法与电路

推荐阅读最新更新时间:2024-03-16 16:02

51单片机最小系统概念、组成及电路原理图
1.单片机最小系统的概念: 能使单片机正常工作的最小硬件单元电路,就叫单片机最小系统。 2.单片机最小系统的组成: (1)复位电路:t=RC1(t≥10ms); (2)时钟电路:C2=C3=(30±10)pF(一般是20~30pF); (3)存储器访问路经控制:EA/VPP=+5V时,先内后外。 另外,一般还有单片机的ISP下载口也包含在单片机最小系统中。 3.51系列单片机的最小系统电路的原理图:
[单片机]
<font color='red'>51单片机</font>最小系统概念、组成及电路原理图
AT89C51单片机电机转速测量系统仿真
单片机电机转速测量系统仿真统采用单片机中T1计数器对转速脉冲进行计数。定时器T1 工作于外部事件计数方式,对转速脉冲计数; T0 工作于定时器方式。每到1 s 读1 次计数值,此值即为脉冲信号的频率,根据式( 1) 可计算出电机的转速。转速检测装置的软件系统主要包括: 测速主程序、数据处理子程序和显示子程序。单片机上电后,系统进入准备状态。首先进行初始化,然后读取脉冲数据进行运算,将转速显示在LCD上。需要这款仿真及C语言程序的爱好者可从文章配图左上角网址上了解。 该单片机电机转速测量系统仿真仿真采用测频法“M法”测量电机转速。即在一定测量时间T内,测量脉冲发生器(替代输入脉冲)产生的脉冲数m1来测量转速,计算式如下:n=6
[单片机]
AT89C<font color='red'>51单片机</font>电机转速测量系统仿真
51单片机的晶振频率是多少
51单片机是一种常用的微控制器芯片,广泛应用于各种电子设备的控制和计算中。在单片机中晶振非常重要,它是单片机实现高精度和高速运算的基础。JSK晶鸿兴为您介绍51单片机的晶振频率是多少。 在51单片机中,晶振频率确定了单片机的基本时钟周期(Clock Cycle)。晶振的频率越高,单片机的时钟周期越短,单片机的处理速度越快。反之,晶振的频率越低,单片机的时钟周期越长,单片机的处理速度越慢。因此,在选择晶振时需要根据实际需要选择合适的频率。 通常,51单片机晶振的频率有以下几种:12MHz、11.0592MHz、24MHz、16MHz、20MHz等。目前,12MHz和11.0592MHz较为常见,这两种频率的晶振通常用于简单的
[单片机]
51单片机之继电器实验
一、继电器(relay)的工作原理和特性 当输入量(如电压、电流、温度等)达到规定值时,使被控制的输出电路导通或断开的电器。可分为电气量(如电流、电压、频率、功率等)继电器及非电气量(如温度、压力、速度等)继电器两大类。具有动作快、工作稳定、使用寿命长、体积小等优点。广泛应用于电力保护、自动化、运动、遥控、测量和通信等装置中。 继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。 电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定
[单片机]
<font color='red'>51单片机</font>之继电器实验
stc89c51单片机和数控音频放大器设计
一.设计要求 (1)输入信号为30mv峰峰值的正弦波,频率范围 20HZ~20KHZ,输入阻抗Ri ≥20KΩ,前级程控放大器增益通过 单片机 键盘输入控制,增益可预置为10db,20db,30db,40db。 (2)后级功率放大器输出功率≥3W(8Ω负载)。 (3)液晶显示。 二.原理框图 三.方案对比选择 用DAC0832控制前级放大 前级放大100倍后用 单片机 控制DAC0832进行衰减。 经对比选择用DAC0832控制前级放大比较简单,而且较精确。 四.电路图设计 五.主要元件选择及参数设计 (1) 运放LF353 前级放大分别放大10倍,总共放大100倍。LF353的工作电压是+1
[电源管理]
stc89c<font color='red'>51单片机</font>和数控音频放大器设计
基于AT89C51的8个LED流水灯的设计
本设计旨在实现8个LED流水灯的设计。 : 参考代码: #include reg52.h #include intrins.h #define uint unsigned int uint temp; void Delay500ms() //延时0.5秒函数 //@11.0592MHz { unsigned char i, j, k; _nop_(); i = 4; j = 129; k = 119; do { do { while (--k); } while (--j); } while (--i); } void main() { P1=0xfe; //IO口初
[单片机]
基于AT89C51的8个LED流水灯的设计
51单片机CO2检测显示程序资料
这是一款51单片机CO2检测显示程序资料,二氧化碳传感器MH-Z19模块的T(TXD)接单片机的RXD, R(RXD)接单片机的TXD,V+连接单片机5v正极,V-连接单片机的地(串口TTL通信就需要连接这四根线);测量电压选用5V;单片机型号STC89C52,液晶显示屏型号LCD1602,电路连接按照那个测试图的;串口通信波特率9600,注意晶振要是11.0592M,否则会引起通信失败;传感器上电需要预热3分钟。 #include reg52.h #include stdio.h #include intrins.h #include lcd1602.H #define uchar unsigned char
[单片机]
<font color='red'>51单片机</font>CO2检测<font color='red'>显示</font>程序资料
基于51单片机的温室测试系统
设施农业是世界现代农业发展的主要方向之一,我国农业正处于从传统也向高产、优质、高效为目的的现代化农业转化新阶段,设施农业是我国今后比较长的时间内农业发展的个主要方向。 环境控制对果树生产的重要作用已经为国内外大量的科学实验和生产的实践所证实。只有在适宜的生长环境下果疏才能充分发挥其高产潜力。多年的有关果树生长环境的研究,不仪知道了农业生产,也为温室环境测控的研究提供了理论和依据。但如何利用传感器技术,白动检测技术,通讯技术,计算机技术的发展和温室栽培的推广研制出对温室温度,湿度,二氧化碳浓度的智能测控系统,为果树提供最佳的生长环境,一直是农业研究者面临的重要课题。 虽然国外采用了全智能控制,但是他们的成本太高,不适合我国国情,
[测试测量]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved