完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
代码如下:
#include #include "12864.h" #include "delay.h" #define uint unsigned int #define uchar unsigned char unsigned long int mk=0; uint num=0; /************************主函数****************************/ void main(void) { WDTCTL = WDTPW+WDTHOLD; //关闭看门狗 BCSCTL1 = CALBC1_1MHZ; DCOCTL = CALDCO_1MHZ; // DCO 1MHz lcdinit(); //复位1602液晶 // LCD_dsp_string(1,0,"占空比:"); LCD_dsp_string(1,0,"脉宽:"); LCD_dsp_string(2,0,"脉宽:"); // LCD_dsp_string(3,0,"脉宽:"); // LCD_dsp_string(4,0,"脉宽:"); P1IES = 0; // P1.4为 IO中断,上升沿 P1IE |= BIT4; // P1REN |= BIT4; // P1OUT &= ~BIT4; //下拉电阻 P1SEL |= BIT0; //P1.0 ACLK输出 P1DIR |= BIT0; BCSCTL1 |= DIVA_3; TACTL |= TACLR; TACCTL0 |= CCIE; // TACTL = TASSEL_2+MC_2; //SMCLK 8M,清计数器,使能中断,连续增计模式 while(1) { _EINT(); LPM0; mk=num*65536+mk; if(mk<5000) { LCD_set_xy(1,3); LCD_write_dat('0'+mk/10000); LCD_write_dat('0'+mk/1000%10); LCD_write_dat('0'+mk/100%10); LCD_write_dat('0'+mk/10%10); LCD_write_dat('0'+mk%10); LCD_write_dat('u'); LCD_write_dat('s'); } else { mk=mk/1000; LCD_set_xy(1,3); LCD_write_dat('0'+mk/10000); LCD_write_dat('0'+mk/1000%10); LCD_write_dat('0'+mk/100%10); LCD_write_dat('0'+mk/10%10); LCD_write_dat('0'+mk%10); LCD_write_dat('m'); LCD_write_dat('s'); } num=0; TACTL |=TACLR; delay_ms(500); } } /************中断函数****************/ #pragma vector=tiMER0_A0_VECTOR __interrupt void TimerA0 (void) { num++; } #pragma vector=PORT1_VECTOR // P1口中断处理函数 __interrupt void PORT1_ISR(void) { TACTL = TASSEL_2+MC_2; while(P1IN&BIT4 == BIT4); TACTL = MC_0; __disable_interrupt(); mk=TAR; P1IFG = 0; LPM0_EXIT; // Clear CPUOFF bit from 0(SR) } 我是使用的IO中断测的脉宽,可是实际效果不理想,就只是测ACLK8分频后都一直显示五千多ms,求大神助攻,帮忙看看。另外直接使用定时器的捕获测我也试过,但是好像只能测到1K到6K左右。 |
|
相关推荐
2个回答
|
|
就这样把,都没人回答,。。。
|
|
|
|
使用定时器的脉冲捕获功能计算比较准确
|
|
|
|
只有小组成员才能发言,加入小组>>
3027个成员聚集在这个小组
加入小组2913 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3567 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2335 浏览 1 评论
4794 浏览 1 评论
2571 浏览 1 评论
1311浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3567浏览 2评论
2913浏览 1评论
1492浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 05:25 , Processed in 1.201896 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号