登陆
|
注册
|
搜索
|
最近新帖
发帖子
|
共享我的资料
|
精华帖子
|
热门话题
导航:
老古网
→
老古论坛
→
XMOS公共讨论区
→
XMOS开源项目区
→
单片机程序设计
→
嵌入式系统
→
广告区域
→
→斑竹,Help Me[yufanmiao]
*第11000篇: 斑竹,Help Me
楼 主:
yufanmiao
2003年4月25日13:18
斑竹,Help Me
我有一个电路,用89c52对外部方波信号计数,信号直接接在P34(T0),
同时信号还接在D触发器(TLC5615)的CLK,P14同D触发器的D接,P32与D触发器的Q接。
哪位帮我分析一下,DD触发器的作用,如何编程?
第
2
楼:
红心J
2003年4月25日19:09
不知是否有必要
p1.0=1时,int0不会引起中断;
p1.0=0时,clk上升沿可引起int0中断
第
3
楼:
yufanmiao
2003年4月26日08:34
不明白
清说的详细点
第
4
楼:
红心J
2003年4月26日10:50
[upload=bmp]UploadFi
此主题相关图片如下:
第
5
楼:
yufanmiao
2003年4月26日12:06
图片看不到
第
6
楼:
guest
2003年4月26日11:45
是个看门狗,定时中断计数就行了。
第
7
楼:
红心J
2003年4月26日14:52
RE
此主题相关图片如下:
第
8
楼:
yufanmiao
2003年4月26日15:25
我该如何对Fin计数,用T0 Or Int0
第
9
楼:
红心J
2003年4月26日16:12
用T0对Fin计数
第
10
楼:
yufanmiao
2003年4月26日16:36
当Fin超过65536时计数一直为零,我use T0中断
第
11
楼:
红心J
2003年4月26日16:50
中断时不要关闭T0计数器
第
12
楼:
guest
2003年4月27日17:47
首先,你要设置T0的记数受INT0控制,
首先,你要设置T0的记数受INT0控制,也就是说门控位控制,测频时,单片机先置位P14,D="1",等到CLK的下降沿到来,D触发器翻转,使Q="1",INT0="1",单片机开启T0记数器对FIN记数,等到闸门时间到后,清P14,使D="0",等下一个CLK的下降沿到来,D触发器翻转,Q="0",记数停止,T0中的记数值就是你要的.你说T0溢出的问题,只要在开一个内存单元就行,每次溢出中断,内存单元内容加一!
第
13
楼:
yufanmiao
2003年4月28日13:14
当信号频率超过66K时,计数一直为零,不知为何
第
14
楼:
红心J
2003年4月28日14:01
在计数溢出处理时不要停止计数器计数。
在计数溢出处理时不要停止计数器计数。
瞎猜,看不到程序,程序可能有处理不当处。
第
15
楼:
yufanmiao
2003年4月28日14:32
给你源代码,thank you
main 设置
EA = 1;
TMOD = 0x1D;//t1 定时器,t0 计数器
ET1 = 1;
TH1 =0x3c ;//per 50ms
TL1 = 0xb7;
TR1 = 1;
TR0 = 1;
ET0 = 1;
TH0 = 0x00;TL0 = 0x00;
//timer0 intrrupt
void timer0(void) interrupt 1
{
T0H ++;
TH0 = 0;TL0 = 0;
}
//timer1 interrupt
void timer1(void) interrupt 3 using 1
{
EA =0;
TR1 = 0;
TH1 =0x3c ;
TL1 = 0xb7;
TR1 = 1;
count++;
if(count == 20)
{
count = 0;
TR0 = 0;
zscount = T0H < < 8;
zscount < <=8;
zscount += (unsigned long)TH0 < <8;
zscount = zscount + TL0;
TH0 = 0;TL0 = 0;T0H = 0;
TR0 =1;
}
switch(key_flag)
{
case 0:
if((P0&0x3f) < 0x3f)
{
key_value = P0&0x3f;
key_flag = 1;
}
break;
case 1:
if((P0&0x3f) == 0x3f)
{
key_flag = 2;
}
break;
case 2:
break;
}
EA = 1;
}
>>>>>>对该主题发表你的看法
本主题贴数
15
,分页:
[第1页]
[上一篇主题]:
[求助]要求单片机对一个16M的flash进行操作
[下一篇主题]:
关于ADuC812请教各位!!