标题: DS18B20应用程序 对数码管的显示里的P0口赋值不懂 [打印本页]
作者: 丢了记忆的鱼 时间: 2017-9-30 21:41
标题: DS18B20应用程序 对数码管的显示里的P0口赋值不懂
/*====================================函数:void Display(unsigned long Value)参数:Value,显示值 32位描述:====================================*/void Display(unsigned long Value) { uchar i=0;//第一位数码管//------------------------------ if(s == 0); //如果为负数则不显示 else { DU = 0; //关闭段选 P0 = s; DU = 1; //打开段选 DU = 0; //关闭段选 WE = 0; //关闭位选 P0 = T_COM[i++]; WE = 1; //打开位选 WE = 0; //关闭位选 Delay_Ms(1); }//第二位数码管//------------------------------ if(Value < 1000000); //如果温度值百位为0则不显示 else { DU = 0; //关闭段选 P0 = table[Value/1000000]; DU = 1; //打开段选 DU = 0; //关闭段选 WE = 0; //关闭位选 P0 = T_COM[i++]; WE = 1; //打开位选 WE = 0; //关闭位选 Delay_Ms(1); }//第三位数码管//------------------------------ if(Value < 100000); else { DU = 0; //关闭段选 P0 = table[Value%1000000/100000]; //数码管显示百位 DU = 1; //打开段选 DU = 0; //关闭段选 WE = 0; //关闭位选 P0 = T_COM[i++]; WE = 1; //打开位选 WE = 0; //关闭位选 Delay_Ms(1); }//第四位数码管//------------------------------- DU = 0; P0 = table[Value%100000/10000]|0x80;//显示温度小数点,温度值个位显示 DU = 1; DU = 0; WE = 0; P0 = T_COM[i++]; WE = 1; WE = 0; Delay_Ms(1);//第五位数码管//------------------------------- DU = 0; //关闭段选 P0 = table[Value%10000/1000]; DU = 1; //打开段选 DU = 0; //关闭段选 WE = 0; //关闭位选 P0 = T_COM[i++]; WE = 1; //打开位选 WE = 0; //关闭位选 Delay_Ms(1);//第六位数码管//------------------------------- if((Value%100/10) == 0 && (Value%1000/100) == 0 ); else { DU = 0; //关闭段选 P0 = table[Value%1000/100]; DU = 1; //打开段选 DU = 0; //关闭段选 WE = 0; //关闭位选 P0 = T_COM[i++]; WE = 1; //打开位选 WE = 0; //关闭位选 Delay_Ms(1); }//第七位数码管//------------------------------- if((Value%10) == 0 && (Value%100/10) == 0); else { DU = 0; //关闭段选 P0 = table[Value%100/10]; DU = 1; //打开段选 DU = 0; //关闭段选 WE = 0; //关闭位选 P0 = T_COM[i++]; WE = 1; //打开位选 WE = 0; //关闭位选 Delay_Ms(1); }//第八位数码管//------------------------------- if((Value%10) == 0 ); else { DU = 0; //关闭段选 P0 = table[Value%10]; DU = 1; //打开段选 DU = 0; //关闭段选 WE = 0; //关闭位选 P0 = T_COM[i++]; WE = 1; //打开位选 WE = 0; //关闭位选 Delay_Ms(1); }}
作者: cjjcjj1 时间: 2017-9-30 22:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: zl2168 时间: 2017-10-1 21:36
本帖最后由 zl2168 于 2017-10-1 21:37 编辑
实例97 一线式DS18B20测温
先Proteus仿真一下,确认有效。
以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1,内有常用的单片机应用100案例,用于仿真实验操作,电路与程序真实可靠可信可行。仿真电路和Hex文件能在清华出版社网站免费下载,程序源代码只能到书上看了。到图书馆借,或到新华书店翻阅,或到网上书店打折购买。
作者: 站着说话不腰疼 时间: 2019-2-6 22:07
晕,你自己上个代码都不认真,谁还帮你咯
作者: Trump1438 时间: 2019-2-7 00:06
说的也是,什么玩意儿嘛?一团遭!
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |