完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
功能:当距离小于一定时,灯亮
问题:TCNT0无法读数 PB1接ECHO,PB4接TRIG,PB3接LED, 程序如下: #include unsigned int Dist = 0; void Delay_20us() { unsigned char i; for(i = 0;i;i++); } void device_init() { SREG = 0x80; //允许单片机的中断功能 MCUCR = 0x03; //上升沿中断 GIMSK = 0xFF; //tiMSK0 = (1< TCCR0A = 0x00; //设置定时器工作模式 PCMSK = (1< DDRB = 0xFD; //引脚数据流方向,PB1设为输入 PORTB = 0x00; } void main() { device_init(); while(1) { PORTB |= (1< PORTB &= ~(1< PORTB |= (1< PORTB &= ~(1< } #pragma interrupt_handler UltraSon:2 void UltraSon() { unsigned char i; i = PINB0; if(i > 0) { MCUCR = 0x02; //设置引脚下降沿触发 TCCR0B = 0x01; //开计时器 Dist = 0; } else { MCUCR = 0x03; //设置引脚上升沿触发 TCCR0B = 0x00; //关计时器 Dist = TCNT0; //读取计时器数据 TCNT0 = 0x00; //对计时器清零 } Dist = 17*Dist; //距离单位 cm } |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
AVR Atmega16 Bootloader程序与上位机LabView程序
5188 浏览 6 评论
#include <ioavr.h>这个头文件我应该下什么编译器
7796 浏览 0 评论
3078 浏览 2 评论
3128 浏览 1 评论
10110 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 23:26 , Processed in 0.362604 second(s), Total 42, Slave 33 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号