完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
/*************用两个IO口,读取,方波的时间差,用外部中断0和1,分别计数,
定时器0和1,同时触发,然后各自记10个下降沿,分别停止,定时时间差即方波时间差************/ #include #define uchar unsigned char #define uint unsigned int ***it U_FR=P1^5; ***it I_FR=P1^6; uint num1=0; uint num2=0; /*************启动子函数************/ void start(void) { uchar m,n; m=U_FR; n=I_FR; if(m==0||n==0) { TR0=1; TR1=1; } if(num1==10) { TR0=0; } if(num2==10) { TR1=0; } } /*************EX0,EX1,外部中断************/ void ZD0(void) interrupt 0 { U_FR=0; num1++; } void ZD1(void) interrupt 1 { I_FR=0; num2++; } /*************T0,T1,初始化函数************/ void timer0_init(void) { TH0=0; TL0=0; } void Timer1_init(void) { TH1=0; TL1=0; } /*************主函数************/ void main() { uint x,y,z;//z为时间差 EA=1; EX1=1; EX0=1; IT1=0; IT0=0; TMOD=0x00; TH0=0; TL0=0; TH1=0; TL1=0; start(); x=TL1-TL0; y=TH1-TH0;//////////然后用液晶屏显示想x,y } |
|
相关推荐
1个回答
|
|
发程序的目的是什么呢
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
593 浏览 0 评论
使用stm32l451片子,对ad7606进行3通道100k采样值跳动问题?
1316 浏览 1 评论
STM32进行DMA数据转运,为什么只有A组最后一位数据被转运到B组去?
1767 浏览 2 评论
2060 浏览 3 评论
1648 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-1 00:23 , Processed in 0.504555 second(s), Total 76, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191