完善资料让更多小伙伴认识你,还能领取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个回答
|
|
马克 我也在做这个
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-移植前准备之git管理内核源码
634 浏览 0 评论
【瑞萨RA2L1入门学习】+ MacOS安装e2studio
362 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-本地仓库管理之分支间的操作
660 浏览 0 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】3D 图形显示
519 浏览 0 评论
653 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12214 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-25 02:35 , Processed in 0.520062 second(s), Total 75, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号