|
按下面试一试(省略号的内容自己加上): P2=table[temp/100]; //显示百位 delay1(5); wx1=1; wx2=0; P2=table[temp%100/10]; //显示十位 ...... ...... P2=table[temp%10]; //显示个位 ...... ...... P2=table[temp/10]+0x80; /加上0x80就显示小数点了。 |
461534727 发表于 2016-6-18 15:10 我的只有接电阻,芯片为STC12C5204,设置为推挽输出 |
geminiguy_07 发表于 2016-6-18 14:06 我的电路没用锁存,就用了pnp驱动三极管而已 |
461534727 发表于 2016-6-18 13:24 那可能是我俩的硬件电路不一样 我的是单片机直接接数码管,不用连锁存器 |
geminiguy_07 发表于 2016-6-18 10:47 void wenduxianshi(unsigned int temp) { unsigned char buf[4]; unsigned char i; for(i=0;i<4;i++) //i=0 个位 { buf = temp % 10; temp /= 10; } if(buf[3] == 0) { if(buf[2] == 0) { if(buf[1] == 0) { wx1=0; P2=table[buf[0]]; delay1(8); } else { wx2=0; P2=table[buf[1]]; delay1(4); wx1=0; P2=table[buf[0]]; delay1(4); } } else { wx3=0; P2=table[buf[2]]; delay1(2); wx2=0; P2=table[buf[1]]; delay1(4); wx1=0; P2=table[buf[0]]; delay1(4); } } else { wx4=0; P2=table[buf[3]]; delay1(2); wx3=0; P2=table[buf[2]]; delay1(2); wx2=0; P2=table[buf[1]]; delay1(4); wx1=0; P2=table[buf[0]]; delay1(4); } } 改成这样后,显示全都不正确了 |
ahshmj 发表于 2016-6-18 11:40 那显示函数应该怎么更改呀 |
|
楼主给出的程序一共就三位,十位个位和小数。就没有百位。 另外,你的小数的显示为什么要取余?“P2=table[xs%10]; //显示个位” 而不是除以10?(这样,其实显示的是小数的百分位,不是十分位,更不是个位) 其他的没有仔细看。估计也有些小问题。 |
|
显示程序试一试换成这样 void wenduxianshi(unsigned int data) { unsigned char buf[4]; unsigned char i; for(i=0;i<4;i++) //i=0 个位 { buf[i] = data % 10; data /= 10; } if(buf[3] == 0) { if(buf[2] == 0) { if(buf[1] == 0) { wx1=1; P2=table[buf[0]]; delay1ms(8); } else { wx2=1; P2=table[buf[1]]; delay1ms(4); wx1=1; P2=table[buf[0]]; delay1ms(4); } } else { wx3=1; P2=table[buf[2]]; delay1ms(2); wx2=1; P2=table[buf[1]]; delay1ms(4); wx1=1; P2=table[buf[0]]; delay1ms(4); } } else { wx4=1 P2=table[buf[3]]; delay1ms(2); wx3=1; P2=table[buf[2]]; delay1ms(2); wx2=1; P2=table[buf[1]]; delay1ms(4); wx1=1; P2=table[buf[0]]; delay1ms(4); } } 注:根据需要适当修改一下 |
| 该案例程序包括2部分:测温和显示。显示电路不一定采用上述电路。读别人的程序用于参考,吸收自己有用的部分,然后改写。这样才会有帮助和提高。 |
zl2168 发表于 2016-6-17 19:41 可是我的原理图没用锁存芯片,就用pnp驱动数码管而已 |
|
本帖最后由 zl2168 于 2016-6-17 19:42 编辑 DS18B20 测温 先Proteus仿真一下,确认有效。
实例97 DS18B20测温.rar
(51.78 KB, 下载次数: 11)
以上摘自张志良编著《单片机实验实训100例》 ISBN 978-7-5124-1603-1,北航社出版 书中电路和程序设计有详细说明,程序语句条条有注解。 |