打印
[疑难问答]

如何将脉冲显示出来?

[复制链接]
1819|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yidou|  楼主 | 2010-6-10 22:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人制作一个测外部频率的程序。用T1做定时器,T0作为外部脉冲计数器。外部中断1作为开始测量信号。display()为自制的ZLG7290显示程序。 现在是能在板上显示数字,但是都是0000
实际程序如下

#include <reg52.h>
#include "viic_c51.h"
#include "zlg7290.h"
unsigned int i=0,k=0,b=0;
void main()
{
display(154);
TMOD=0x06;
TH1=0x1c;
TL1=0x18;
TH0=0x00;
TL0=0x00;
EA=1;
ET0=1;
ET1=1;//
EX1=0;
EX1=1;//开启外部中断1
IT1=1;//选择外部中断1为下降沿有效
while(1);
{
}
}
void kaishi(void) interrupt 2
{
TR0=1;
TR1=1;
}
void jishu(void) interrupt 1
{
k++;
EX1=1;
}
void dingshi(void) interrupt 3
{
TR0=0;
TH1=0x1c;
TL1=0x18;
i=TL0;
b=TL0;
delayMS(25);
delayMS(25);
delayMS(25);
delayMS(25);
delayMS(25);
display(b);
}
沙发
yidou|  楼主 | 2010-6-10 23:01 | 只看该作者
附上测外部频率的程序

测脉冲频率.rar

44.1 KB

使用特权

评论回复
板凳
strang| | 2010-6-10 23:10 | 只看该作者
这程序写的?

EX1=0;
EX1=1;//开启外部中断1
//---------------------------------------
初始化到底是开还是关?


void kaishi(void) interrupt 2
{
TR0=1;
TR1=1;
}
//---------------------------------------
外部中断1的函数怎么会有T0和T1的运行标志位呢?


//************************************

不明白楼主的意思?

使用特权

评论回复
地板
guita| | 2010-6-11 22:10 | 只看该作者
哈哈,楼主的错误:D

使用特权

评论回复
5
huamunv| | 2010-6-11 22:47 | 只看该作者
while(1);
{
}
很少见这么写的

使用特权

评论回复
6
huamunv| | 2010-6-11 22:50 | 只看该作者
里面东西很乱

使用特权

评论回复
7
guita| | 2010-6-12 23:05 | 只看该作者
5# huamunv

这样写挺多的啊,就是让单片机进入死循环

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

391

帖子

1

粉丝