如何用51单片机对4个单片机外部脉冲计数进行计数

使用51单片机,对外部方波脉冲进行不限时脉冲计数,遇到了困难,希望有大神替我解答 - proteus论坛|仿真论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
使用51单片机,对外部方波脉冲进行不限时脉冲计数,遇到了困难,希望有大神替我解答
发表于 前天&12:02  
我采用T0计数,采用工作方式2,每当用脉冲输入到T0端时,变量加一,并在主程序等待中断的循环体内输出并显示脉冲个数
捕获.PNG (19.02 KB, 下载次数: 1)
前天&12:01 上传
以下是我的代码
#include&reg51.h&
unsigned int cnt_t0,cnt_t1,qian,bai,shi,ge,bb,wan,
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴极数码管断码表
void delay1ms(unsigned int z) //延时1ms程序
&&unsigned char i,j;
&&for(i=0;i&z;i++)
&&for(j=0;j&110;j++);
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && && && && && && &
void init()& & & && & //T0初始化
&&TMOD=0x06;
&&TH0=255;
&&TL0=255;
void display(unsigned long num_num)& & & && & //驱动数码管显示
&&shiwan=num_num%000;
&&wan=num_num%00;
&&qian=num_num%;
&&bai=num_num%;
&&ge=num_num%100/10;
&&P0=0& & //P0是位选
&&P2=table[shiwan];
&&delay1ms(1);
&&P2=table[wan];
&&delay1ms(1);
&&P0=0xf7;
&&P2=table[qian];
&&delay1ms(1);
&&P2=table[bai];
&&delay1ms(1);
&&P2=table[shi];
&&delay1ms(1);
&&P2=table[ge];
&&delay1ms(1);
void main()
&&while(1)
& &&&display(num);
void timert0() interrupt 1
发表于 前天&15:09  
但是经过手动输入脉冲发现,每十个脉冲才会记一次数,不知道为什么
发表于 前天&15:57  
初始化好像错了,就不应该填值进去,还有此处不应该有中断,只是计数而已,你可以再看看计数模式的使用
高级工程师
发表于 前天&17:56  
用软件仿真看看是那个语句有问题,或硬件仿真也可以。
发表于 前天&18:24  
初始化好像错了,就不应该填值进去,还有此处不应该有中断,只是计数而已,你可以再看看计数模式的使用
初始化不应该填进去?你确定,不填进去系统怎么知道你是什么中断,中断是否允许,不应该用中断?我就是用的t0计数,计数满了就溢出开始执行中断里的程序啊,不应该吧
发表于 昨天&15:37  
顶顶顶顶顶顶顶顶
15个问题&&&&&&&&5253个浏览
19个问题&&&&&&&&4568个浏览
CellWise周军
21个问题&&&&&&&&5981个浏览
Powered by 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
基于51单片机的脉冲计数
下载积分:200
内容提示:基于51单片机的脉冲计数
文档格式:DOC|
浏览次数:631|
上传日期: 12:52:45|
文档星级:
全文阅读已结束,如果下载本文需要使用
 200 积分
下载此文档
该用户还上传了这些文档
基于51单片机的脉冲计数
官方公共微信一、课程设计任务................;3.1定时器工作原理..............;3.1.1定时/计数器构成...........;3.2.1程序流程图..............;3.3功能图..................;一、课程设计任务;熟悉8031定时/计数器的计数功能,掌握初始化编;二、课程设计分工安排;组长朱威主持共同分析
一、课程设计任务 ........................................................................................................................ 1 二、课程设计分工安排 .............................................................................. 错误!未定义书签。 三、课程设计原理和方法 ............................................................................................................ 1
3.1定时器工作原理 .............................................................................................................. 1
3.1.1 定时/计数器构成 .............................................................................................. 1 3.1.2 定时/计数器的控制寄存器 .............................................................................. 2 3.1.3 定时器/计数器工作方式 .................................................................................. 2 3.1.3 定时器/计数器工作方式 .................................................................................. 3 3.1.3 定时器/计数器工作方式 .................................................................................. 4 3.2 软件设计 ......................................................................................................................... 5
3.2.1 程序流程图 .......................................................................................................... 5 3.2.2 程序清单 ............................................................................ 错误!未定义书签。 3.2.2 程序清单 .............................................................................................................. 7
3.3 功能图 ............................................................................................................... 8
3.4硬件电路布线图 ........................................................................................................ 9 四、小结........................................................................................................................................ 9 五、参考文献 .............................................................................................................................. 10 六、致谢...................................................................................................................................... 10 七、心得体会 ..................................................................................................................................
一、 课程设计任务
熟悉8031定时/计数器的计数功能,掌握初始化编程方法,掌握中断程序的调试方法,利用定时/计数器0对外部输入的脉冲进行计数,并送显示器显示。
二、 课程设计分工安排
组长朱威主持共同分析系统结构和功能,并负责写出总体设计方案;
易瑞刚负责论述8031定时/计数器的主要功能,以及在设计系统中的具体编程语句和含义,同时负责购买电阻,分频器,并焊接电路板;
李孝捷负责论述8031定时/计数器的工作方式,以及在设计系统中的具体编程语句和含义;
张友清负责论述如何利用8031定时/计数功能实现脉冲计数,以及在设计系统中的具体编程语句和含义;
三、课程设计原理和方法
3.1定时器工作原理
3.1.1 定时/计数器构成
AT89C51单片机有二个16位定时/计数器T0、T1,分别由4个8位计数器组成,均属SFR寄存器。T0由TH0、TL0构成,字节地址为8CH、8AH;T1由TH1、TL1构成,字节地址为8DH、8BH。MCS-51单片机定时/计数器的功能,归根结底是计数器。
①定时功能
对片内机器周期进行计数,即每个机器周期产生一个计数脉冲,计数加1。
②计数功能
对片外从T0(P3.4)、T1(P3.5)引脚输入的外部脉冲信号进行计数,下降沿计数加1。
3.1.2 定时/计数器的控制寄存器
与定时/计数器有关的控制寄存器有3个:
①定时器控制寄存器TCON(88H)
SFR寄存器TCON既参与定时控制又参与中断控制,有关定时控制的有4位,表示如图3-1-1:
TF1/TF0:当T1/T0的计数器计数溢出时,该位置“1”。TR1/TR0:T1/T0运行控制位。软件将其置“1”时,启动T1/T0工作。
②设定定时器工作方式寄存器TMOD(89H)
SFR寄存器TMOD用于2个定时器/计数器T1/T0的工作方式设定,各位的含义表示如图3-1-2:
GATE:门控位,定义T1/T0的启动方式
C/T :定时/计数功能选择位。为“0”,作定时器用;为“1”,作计数器用。 M1M0:工作方式选择位。
13位计数器
16位计数器
初值自动重装8位计数器 11
2个8位计数器,仅适用于T0 ③中断允许控制寄存器IE(A8H)
IE在特殊功能寄存器中,字节地址A8H,位地址分别是A8H~AFH。 3.1.3 定时器/计数器工作方式
①工作方式0
M1M0=00 ――13位计数器由TH0的全部8位和TL0的低5位构成,如下图3-1-3。当TL0低5位计数满时直接向TH0进位,并当全部13位计数满溢出时,TF0置“1”。
作定时器:TMOD= 00=00H 作计数器:TMOD= 00=04H
②工作方式1
M1M0=01――16位计数器,方式1时的电路逻辑结构如图3-1-4所示作定时器,TMOD=01H;作计数器,TMOD=05H;
③工作方式2
M1M0=10――自动复位的8位计数器
以TL0作计数器,而TH0作为预置寄存器。当计数满溢出时,TF0置“1”,同时TH0将计数初值以硬件方法自动装入TL0。逻辑结构,如图3-1-5所示:
M1M0=11――2个8 位计数器(仅限于T0) 在T0方式3下,T0、T1的设置和使用是不同的。 (i) T0方式3:
TL0:使用T0原有控制资源,功能与方式0、1相同。
TH0:借用T1的TR1、TF1,只能对片内机器周期脉冲计数,作8位定时器。 T0方式3时的T0、T1电路逻辑结构,如图3-1-6所示 :
T0方式3时的T0初
值计算完全同方式 2
(ii)T0方式3下的T1
T0方式3时 ,T1仍然可工作于方式0~方式2,如上页图所示。C/T控制位仍可使T1工作在定时器或计数器方式,只是由于其TR1、TF1被T0的TH0占用,
因而没有计数溢出标志可供使用,计数溢出时只能将输出结果送至串行口,即用作串行口波特率发生器。
T0方式3下的T1方式2,因定时初值能自动恢复,用作波特率发生器更为合适。 注:计数初值的计算按下面公式来计算: 其定时时间t为:T=(2N-X) ×12/fosc 其计数初值X为:X=2N-T×fosc/12
其中N为计数器的位数,N=8,13,16; fosc为振蒎器频率,fosc=12MHz
三亿文库包含各类专业文献、各类资格考试、生活休闲娱乐、中学教育、文学作品欣赏、行业资料、幼儿教育、小学教育、外语学习资料、基于51单片机的脉冲计数_图文03等内容。 
 23 基于 51 单片机简易电子琴设计 摘要:本论文设计一个基于单片机的简易电子琴...对于单片机而言, 产生不同频率有脉冲非常方便, 可以利用它的定时/计数器来产 生...  基于51单片机红外计数器设计(毕业论文)_工学_高等教育_教育专区。基于51单片机...计数脉冲进行计数进行计 数显示控制、LED 显示驱动模块的选择、AT89C 单片机的...  年 1 月 3 日 一、实验摘要通过采用 STC89C52RC 单片机为中心器件来设计脉冲宽度测量器,并运用 MCS―51/52 单片机计数 功能,选择好工作模式,对脉宽进行计数。...  毕业论文之基于51单片机的流水线产品计数器设计_工学_高等教育_教育专区。基于51...YES 对计数脉冲进行 计数 NO YES 对计数值清零 NO 显示计数值 对计数值清零 ...  51单片机计数程序_信息与通信_工程科技_专业资料。主要介绍89C51的测速程序,可以借助外部的红外对管电路发送脉冲电压,通过计数模式计算一定时间的脉冲个数,调试成功,...  基于51单片机的红外计数系统设计_工学_高等教育_教育专区。电子科大毕业设计 ...电路的两片级联 74HC595 的 SER,RCLK,SRCLK 端,以产生移位脉冲并使串行数据...  基于51单片机的红外计数系统的设计开题报告_工学_高等教育_教育专区。电子科大...把接受到的红外线信号转换为电脉冲,并由放大电路进 行多级放大,形成所需要的信号...  基于89C51单片机脉冲宽度的测量的设计_院校资料_高等教育_教育专区。单片机原理与...TL0 计数器 返回 图 5 外中断 0 服务程序流程图 2.2.4 程序清单 ORG ...  基于MCS-51单片机的计数器及出租车计费器设计_电子/电路_工程科技_专业资料。湖南工业大学单片机课程设计 课程名称: 单片机课程设计 设计题目: 基于外部脉冲自动计数的...51单片机为什么不能实现外部脉冲计数,求救_51单片机吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:47,610贴子:
51单片机为什么不能实现外部脉冲计数,求救收藏
51单片机计数器1的外部计数引脚是P3.5,正常状态此引脚为五伏,对一外部脉冲(由五伏跳变到零伏)计数(直接与P3.5相连),用proteus仿真时为什么引脚一直是高电平(五伏)而无法实现计数?是我的操作不正确吗?真诚的求教
益深电子多年专注于单片机开发,为客户提供电子产品解决方案.为专业从事单片机开发和单片机开发开发,生产,销售的高科技企业
看到是仿真就直接跳过
模式设置还有外部改变电平状态。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 单片机脉冲计数器 的文章

 

随机推荐