完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
void main(void)
{ uint temp,count; while(1) { if(count==50) { count=0; temp = Read_AD_Data(0x94); // AIN0 电位器 通道地址 001 // temp = Read_AD_Data(0xD4); // AIN1 热敏电阻 通道地址 101 // temp = Read_AD_Data(0xA4); // AIN2 光敏电阻 通道地址 010 // temp = Read_AD_Data(0xE4); // AIN3 外部输入 通道地址 110 } count++; DisplayData[0]=DIG_CODE[0]; DisplayData[1]=DIG_CODE[0]; DisplayData[2]=DIG_CODE[0]; DisplayData[3]=DIG_CODE[0]; DisplayData[4]=DIG_CODE[temp%10000/1000]; DisplayData[5]=DIG_CODE[temp%1000/100]; DisplayData[6]=DIG_CODE[temp%100/10]; DisplayData[7]=DIG_CODE[temp%10/1]; DigDisplay(); } } void DigDisplay(void) { unsigned char i; unsigned int j; for(i=0;i<8;i++) { switch(i) //位选,选择点亮的数码管, { case(0): LSA=0;LSB=0;LSC=0; break;//显示第0位 case(1): LSA=1;LSB=0;LSC=0; break;//显示第1位 case(2): LSA=0;LSB=1;LSC=0; break;//显示第2位 case(3): LSA=1;LSB=1;LSC=0; break;//显示第3位 case(4): LSA=0;LSB=0;LSC=1; break;//显示第4位 case(5): LSA=1;LSB=0;LSC=1; break;//显示第5位 case(6): LSA=0;LSB=1;LSC=1; break;//显示第6位 case(7): LSA=1;LSB=1;LSC=1; break;//显示第7位 } GPIO_DIG=DisplayData;//发送段码 j=50; //扫描间隔时间设定 while(j--); GPIO_DIG=0x00;//消隐 } } 求助,以下这几个分别显示千位,百位,十位,个位,但是显示的数字分别是什么,怎么算,求各位大神指教 DisplayData[4]=DIG_CODE[temp%10000/1000]; DisplayData[5]=DIG_CODE[temp%1000/100]; DisplayData[6]=DIG_CODE[temp%100/10]; DisplayData[7]=DIG_CODE[temp%10/1]; |
|
相关推荐
12个回答
|
|
回帖奖励 +1 分积分
%合适求余的符号,比如6666%10000=6666 6666/1000=6
6666%1000=666 666/100=6 你可明白?是一个求余和商的关系,得数不会出现浮点的,所以都是整数了!整数是为了好查表。
最佳答案
|
|
|
|
langzitianya 发表于 2016-5-14 12:39 意思是%求余,/求商,但是商只能是整数~~~~ |
|
|
|
是啊,你用的不是浮点数的值啊!要是用浮点的话就能小数了,但是商是小数怎么查表啊?
|
|
|
|
你可以试着算一下 %取余 /取整
|
|
|
|
|
|
|
|
我是初学者,不明白啊 很多东西 |
|
|
|
langzitianya 已经说得很明白了,这个就是一个把AD转换的结果给了变量temp,然后按位取整,分配给数码管显示。
|
|
|
|
我来拿币的,不过还是得说论坛有你更精彩!加油!
|
|
|
|
例如当DS18B20采集到+125℃的实际温度后,输出为07D0H,则: 实际温度=07D0H╳0.0625=2000╳0.0625=1250C。 例如当DS18B20采集到-55℃的实际温度后,输出为FC90H,则应先将11位数据位取反加1得370H(符号位不变,也不作为计算),则: 实际温度=370H╳0.0625=880╳0.0625=550C。
|
|
|
|
DIG_CODE[] 这里边放的是一组十六进制数 表示数码管显示的十进制数 顺序由0到9 如果你还用得上abcdef 也加上
temp 模10000 再除以1000 会得到一个整数 这个数恰好是DIG_CODE[] 里的索引 显示出来就是千位的十进制数 后边百位十位个位一样一样的 你是想问这个? |
|
|
|
你用括号括起来试一下
|
|
|
|
不错的资料值得收藏,顶一下
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
205 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1253 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
848 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
853 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1073 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12012 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 00:49 , Processed in 0.885961 second(s), Total 95, Slave 78 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号