完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include
#include"1602.h" #include"string.h" #define uint unsigned int #define uchar unsigned char #define NUM 16 char table1[]="width(us)"; uint new_cap=0,old_cap=0; char N1; long diff[NUM]; char index=0; long data; uchar table[]={'0','1','2','3','4','5','6','7','8','9'}; //char led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82, //0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //char position[]={0x20,0x10,0x08,0x04,0x02,0x01}; char led_buf[]={0,0,0,0,0,0}; void data_to_buf(long data1) { char i; for(i=0;i<6;i++) { led_buf=data1%10; data1=data1/10; } } void main() { int i,num; WDTCTL=WDTPW+WDTHOLD; init(); //P4DIR=0xff; //P5DIR=0xff; P1SEL|=0x02; TACTL=TASSEL_2+MC_2+TAIE; BCSCTL2|=SELS; BCSCTL2=DIVS0+DIVS1; TACCTL0=CM_1+CCIS_0+SCS+CAP+CCIE; //TACCR0=20000; _EINT(); write_com(0x80); for(num=0;num<9;num++) { write_data(table1[num]); } while(1){ if(index==0) { data=0; for(i=1;i data+=diff; } data=data/15; //write_com(0x01); } data_to_buf(data); //isp(); write_com(0x80+0x40); for(i=5;i>=0;i--) { write_data(table[led_buf]); } } } #pragma vector=TIMERA0_VECTOR __interrupt void Timer_A0(void) { new_cap=TACCR0; diff[index]=65536*N1+new_cap-old_cap; TACCTL0=CM_1+SCS+CAP+CCIE; index++; if(index==NUM) { index=0; } old_cap=new_cap; N1=0; } #pragma vector=TIMERA1_VECTOR __interrupt void Timer_A1(void) { switch(TAIV) { case 2:break; case 4:break; case 10:N1++; break; } } 补充内容 (2016-7-12 09:06): 其大神告知哪写错了 测出来周期不对 |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
2938个成员聚集在这个小组
加入小组2680 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3003 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2273 浏览 1 评论
4703 浏览 1 评论
2484 浏览 1 评论
952浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3005浏览 2评论
2682浏览 1评论
1083浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-2 12:17 , Processed in 1.214438 second(s), Total 82, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号