33问答网
所有问题
stc51单片机利用外部中断记录两次中断获取时间间隔。100分,满意加100
如题,有1个传感器,第一次外部下降沿触发记时开始,第二次下降沿触发时记时停止,然后获取记录间隔时间,请问这个程序怎么写,关键就在记时这段,汇编更好,100分
只用一个外部中断哈,不行的话再用2个,谢谢
举报该问题
推荐答案 2015-05-16
很简单的了,首先定义两个静态变量static u8 flag=0;static u16 timecount;设置一个静态变量,第一次进入外部中断(外部中断应该设置成下降沿触发)的时候,if(flag == 0){启动定时器0,TR0 = 1; } else { TR0 = 0; 关闭定时器,读取计时值timecount; flag = 0;};在定时器中断里面 timecount++;注意定时的时间长度就可以了
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://33.wendadaohang.com/zd/RB0RddhR0h0400h4dPW.html
其他回答
第1个回答 推荐于2021-01-15
第一次触发的时候开启定时器,第二次触发的时候读取定时器的中断次数,然后中断次数乘以定时器周期就是你所要的时间间隔了。
本回答被网友采纳
第2个回答 2015-05-16
不过是个秒表而已。
楼主搜一下,可以找到很多的解决方案。
相似回答
...程序 说明书等,先给50分
满意
追加
100
单片机
答:
//设有暂停/重启键 //在暂停期间, 方可修改通行时间 //设有四个修改时间的按键 //修改后重启时,即按照新设定的时间、东西通行 //如果没有修改, 重启时就继续接着原来的通行状态 //修改时间的上下限, 程序内定分别是 99、5, 可自己调整 //东西、南北的上下限, 是独立的, 可分别控制 //目前...
STC51单片机
中断
问题 高手请进
答:
我感觉是你用了“using 0”而画蛇添足了。我印象中不同优先级的中断必须分配不同的工作寄存器组,你把两个
外部中断
都用了using 0,而你的计数器中断又不用using声明一般默认为寄存器组0,这样你三个中断都是寄存器组0,估计会出问题。一般“using 0”不写,交给编译器分配好一些。你把两个“using...
前辈,教我写一个
51单片机
题吧。
使用
定时器实现0-255的加1显示。
答:
t++);}//主程序void main(){ P0=0xff; Count=0; Number=0; TMOD=0x01; //12MHZ晶振 C51
单片机
对其12分频 //实际定时器“加1”频率为1MHZ 也就是1us //用定时器
中断时间间隔
是从“开启定时器加1”到“溢出”的时间 //对于工作在模式1的定时器0来说 也就是从“开启定时器加1”到...
大家正在搜
stc单片机外部中断
stc8051单片机中断
8051单片机有哪几个中断源
8051单片机有几级中断
单片机5个中断源分别是
stc8051单片机引脚功能
51单片机中断
stc8051单片机引脚图
STC51F单片机中断源有几个
相关问题
单片机编程语言一般有哪几种
单片机编程语言
用什么语言可以给单片机编程
C语言与单片机C语言的区别 急求
单片机中大都使用什么语言编程?
单片机编程和"一般编程"区别???
单片机用哪种编程语言好
如何快速学会单片机C语言编程?