完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
` 本帖最后由 急速飞叶 于 2013-4-12 22:39 编辑 #include #include #define uchar unsigned char #define uint unsigned int uchar cc,bai,shi,ge,d1,d2; uchar code_table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar DSY_Buffer[]={0xfe,0xfd,0xfb,0xf7,0xef}; ***it SPK=P3^2;//定义输入口状态 ***it nn=P0; float num=0,mm=0; void delay(uint z); void display(uchar bai,uchar shi,uchar ge,uchar d1,uchar d2); void delay(uint z) //延时 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void main() //主程序 { cc=0; num=0; TMOD=0x09; //选用定时器1,Gate位赋值1 TH0=0;//设定初值 TL0=0; TR0=0; EA=1; if(SPK==0)//查INT0的状态 {if(SPK==0) TR0=1; //开计数器T0 {if(SPK==1) TR0=0;//关计数器T0 } } mm=(cc*65536+TH0*256+TL0)*0.000001;//计算时间s num=10/mm;//计算速度(10代表10mm) display(num);//显示mm/s } void timer0() interrupt 0 //计数器中断 { cc++; } void _display()//显示程序 { P0=0xff;//初始化数码管 P2=0xff; { uchar i,m,Num; bai=Num/100;//百位上的数 shi=Num/10%10;//十位上的数 ge=Num%10;//个位上的数 d1=Num*10%10;//小数点后一位 d2=Num*100%10;//小数点后第二位位 { P2=DSY_Buffer[0];//第一个数码管 nn=code_table[bai];//显示百位上的数 delay(1);//延时 P2=DSY_Buffer[1];//第二个数码管 nn=code_table[shi];//显示十位上的数 delay(1); P2=DSY_Buffer[2]; nn=code_table[ge]; delay(1); P2=DSY_Buffer[3]; nn=code_table[d1]; delay(1); P2=DSY_Buffer[4]; nn=code_table[d2]; delay(1); } while(1) ;//循环 } }` |
|
相关推荐
1个回答
|
|
马克 我也在做这个
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
为什么用FatFS在SD卡创建文件,在单片机上读写正常,用读卡器插到电脑上就什么都没有
297 浏览 0 评论
708 浏览 2 评论
《DNK210使用指南 -CanMV版 V1.0》第九章 打印输出实验
375 浏览 0 评论
stm32f407+ksz8863rlli概率性ping不通
1090 浏览 1 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-常见网络服务搭建之NFS服务搭建
515 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11334 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-1 06:04 , Processed in 0.569762 second(s), Total 73, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号