完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
|
|
相关推荐
|
|
|
出现问题:在传感器上施压,数码管显示不变(一直是5或其他数字)
贴上程序,希望涉及过电子秤的前辈可以加以指导,不胜感激 #include typedef unsigned char uchar; typedef unsigned int uint; //管脚定义 ***it ADDO=P2^1; ***it ADSK=P2^0; ***it dlock=P2^6; //数码管段锁 ***it wlock=P2^7; //数码管位锁 //常量 uchar code number[10]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f}; uchar code position[7]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf}; //变量 unsigned long Data; uchar Data1,Data2; //延时函数 void delay(uchar t) { uchar a,b,c; for(a=t;a>0;a--) for(b=50;b>0;b--) for(c=10;c>0;c--) {;} } //显示函数,显示数字和位置 void display(uchar num,uchar i) { P0=number[num]; dlock=1; dlock=0; P0=position[i]; wlock=1; wlock=0; } //读取传感器输出数据,完全按照参考例程 unsigned long ReadCount(void) { unsigned long Count; uchar i; //ADDO=1; ADSK=0; Count=0; while(ADDO); for (i=0;i<25;i++) //25 { ADSK=1; Count=Count<<1; ADSK=0; if(ADDO) Count++; } ADSK=1; Count=Count^0x800000; ADSK=0; return(Count); } void main(void) { while(1) { Data=ReadCount(); Data1=(uchar)(Data%10); //数据转换,不知道写的对不对 Data2=(uchar)(Data/10); display(Data1,1); //送显 delay(5); display(Data2,2); delay(5); } } |
|
|
|
|
|
|
|
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 22:49 , Processed in 1.091717 second(s), Total 97, Slave 77 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖