帮我看看这个美术部大有问题问题谢谢

查看: 673|回复: 0
各位大声快来帮我看一下,我这个程序是哪里出现问题了?谢谢啦
问题:就在程序最后那个if语句,如果&&if(25&TN)&&led0=0;
& & & && && & & && && && && && && && && && && && && && && && && & else
& & & & & & & && && && && && && && && && && && && && && && && && && & led0=1;单片就能正常显示,
但是我想分(22&TN&25),(25&=TN&28),(TN&28),这几个段,就不能正常显示了,确定用的if嵌套没错啊?
#include&reg52.h&
#include&intrins.h&
unsigned char code digit[11]={&-&};
unsigned char code shuoming[]={&Now temperature:&};
unsigned char code error[]={&DS18B20 Error&};
unsigned char code error0[]={&please check&};
unsigned char code temp[]={&wendu:&};
unsigned char code danwei[]={&cent&};
unsigned char flag,
unsigned char b=0,s=0,g=0;
sbit jdq=P3^7;
sbit fmq=P3^6;
sbit led=P1;
sbit led0=P1^0;
sbit led1=P1^1;
sbit led2=P1^2;
/*显示模块程序*/
sbit RS=P2^0; //数据(RS=1),命令(RS=0)选择端
sbit RW=P2^1; //读(RW=1)写(RW=0)选择端
sbit E=P2^2;
sbit BF=P0^7;
void delay500us()
& & & & for(i=1;i&57;i++);
void delayms()//延时1ms
& &unsigned char i,j;
& &for(i=0;i&4;i++)
& &&&for(j=0;j&33;j++);
void delay(unsigned char n)
for(i=0;i&n;i++)
& & delayms();
bit panduan(void)&&//判断显示器是否在忙碌中状态
& &_nop_();& & & & //空操作
& &_nop_();
& &_nop_();
& &_nop_();
& &result=BF;
void write0(unsigned char dictate)& & & & //写指令
while(panduan()==1);
void address(unsigned char x)//显示位置确定,方法:0x80+地址码x
& &write0(x|0x80);
void writedate(unsigned char y)//写数据
{& & & & while(panduan()==1);
& &&&RS=1;
& & & &&&RW=0;
& & & &&&E=0;
& & & &&&P0=y;
& & & &&&_nop_();
& & & &&&_nop_();
& & & &&&_nop_();
& & & &&&_nop_();
& & & &&&E=1;
& & & &&&_nop_();
& & & &&&_nop_();
& & & &&&_nop_();
& & & &&&_nop_();
& & & &&&E=0;
& & & &&&}
void chushihua(void)
& &delay(15);
& &write0(0x38);//显示模式设置,16*2,7*5点阵,8位数据接口
& &delay(5);
& &write0(0x38);
& &delay(5);
& &write0(0x38);
& &delay(5);
& && &write0(0x0c);//显示开,有光标,光标闪烁
& &delay(5);
& && &write0(0x06);& & & & //光标右移,字符不移
& & & & delay(5);
& & & && & write0(0x01);//清屏
& & & && & delay(5);
/*void beer()
{& & & & unsigned char t=2000;
& & & & while(t--)
& & & &&&{
& & & && && & & & fmq=0;
& & delay500us();
& & & & & & & & fmq=1;
& & & & delay500us();
/*DS18B20模块*/
sbit D=P3^3;
unsigned char T;
bit chushihua0(void)//初始化DS18b20
&&for(T=0;T&2;T++);
&&for(T=0;T&200;T++);
&&for(T=0;T&10;T++);
&&for(T=0;T&200;T++);
&&return(flag);
unsigned char readchar(void)//读数据
unsigned char i=0;
//储存读出的数据
&&for(i=0;i&8;i++)
& & & &&&D=1;
& & & &&&_nop_();
& & & &&&D=0;
& & & &&&_nop_();
& & & &&&D=1;
& & & &&&for(T=0;T&2;T++);//延时6秒
& & & &&&dat&&=1;
& & & &&&if(D==1)
& & & &&&dat|=0x80;
& & & &&&else
& & & &&&dat|=0x00;
& & & &&&for(T=0;T&8;T++);
& &return(dat);
& &writechar(unsigned char dat)//写数据;
& &&&unsigned char i=0;
& & & &&&for(i=0;i&8;i++)
& & & &&&{
& & & && & D=1;
& & & && & _nop_();
& & & && & D=0;
& & & && & D=dat&0x01;
& & & & & & & & for(T=0;T&10;T++);
& & & & & & & & D=1;
& & & & & & & & for(T=0;T&1;T++);
& & & & & & & & dat&&=1;
& & & & & & & & & & & &&&}
& & & & & & & & & & & &&&for(T=0;T&4;T++);
& & & & & & & & & & & &&&
& && && &return 0;
void readtemp(void)//读温度;
& &chushihua0();
& &writechar(0xCC);
& &writechar(0x44);
& &delay(200);
& &chushihua0();
& &writechar(0xCC);
& &writechar(0xBE);
/*以下是与温度的显示有关的程序*/
void display_xerror(void) //没有检测到温度时的显示
& && &address(0x00);
& && && & i=0;
& & & & & & & && &while(error[i]!='\0')//&\0&数组结束标志
& & & & & & & && & {&&writedate(error[i]);
& & & & & & & & & & & && &i++;//显示完每一个字母(DS18B20 Error)
& & & & & & & & & & & && &delay(100);
& & & & & & & && & }
& & & & & & & && & address(0x40);
& & & & & & & && & i=0;
& & & & & & & && & while(error0[i]!='\0')//&\0&数组结束标志
& & & & & & & && & {&&
& & & & & & & && && & writedate(error0[i]);
& & & & & & & & & & & && &i++;//显示完每一个字母(please check)
& & & & & & & & & & & && &delay(100);
& & & & & & & && & }
& & & & & & & && & while(1);
void display_symbol(void) //显示“wendu”
& & & & address(0x40);
& & & & i=0;
& & & & while(temp[i]!='\0')//只要没有写到结束标志,就继续写;
& & & && &writedate(temp[i]);
& & & && &i++;
& & & && &delay(50);
void display_explain(void)//显示说明;
&&address(0x00);
&&while(shuoming[i]!='\0')
&&writedate(shuoming[i]);
&&delay(100);
void display_dot(void)//显示小数点
&&address(0x49);
&&writedate('.');
&&delay(50);
void display_cent(void)& & & & //显示单位;
& &address(0x4c);
& &while(danwei[i]!='\0')
& &&&writedate(danwei[i]);
& & & &&&i++;
& & & &&&delay(50);
void display_zheng(unsigned char x)//显示整数部分
&&b=x/100;
&&s=(x%100)/10;
&&address(0x46);
& &&&if(flag==1)
& & writedate(digit[10]);
& & & & else
& & & & writedate(digit[b]);
& & & & writedate(digit[s]);
& & & & writedate(digit[g]);
& & & & delay(50);
void display_xiao(unsigned char x)//显示小数部分
&&address(0x4a);
&&writedate(digit[x]);
&&delay(50);
& & unsigned char TL;//储存暂存器的低位
& & & & unsigned char TH;//储存暂存器的高位
& & & & unsigned char TN;//储存暂存器的整数部分
& & unsigned char TD;//储存暂存器的小数部分
void main(void)
& && & & & //led=1;
& & chushihua();
& & & & delay(5);
& & & & if(chushihua0()==1)
& & & & display_xerror();
& & & & display_explain();
& & & & display_symbol();
& & & & display_dot();
& & & & display_cent();
& & & & while(1)
& && & flag=0;
& & & && & readtemp();
& & & && & TL=readchar();
& & & && & TH=readchar();
& & & && &
& & & && & if((TH&0xf8)!=0x00)
& & & && & {
& & & && &&&flag=1;
& & & & & & & & TL=~TL;
& & & & & & & & TH=~TH;
& & & & & & & & tltemp=TL+1;
& & & & & & & & TL=
& & & & & & & & if(tltemp&255)
& & & & & & & && && &TH++;
& & & & & & & & TN=TH*16+TL/16;
& & & & & & & & TD=(TL%16)*10/16;
& & & & & & & & & & & && &
& & & && & }
& & & && & TN=TH*16+TL/16;
& & & && & TD=(TL%16)*10/16;
& & & && & display_zheng(TN);
& & & && & display_xiao(TD);
& & & && & delay(10);
& & & && & if(25&TN)
& && && && &led0=0;
& & & && && & & && &else
& & & & & & & && &led0=1;
& & & & & & & && && &
& & & & & & & &&&
Powered by查看:2339|回复:5
提示: 作者被禁止或删除 内容自动屏蔽
所有电脑都这样?换ftp服务软件还这样?
家用小路由器的WAN口是固化NAT转换的,单向,只向上转,无法将WAN口来的访问转向LAN口下面。不支持WAN口前面的任何静态路由跳转。
建议拿胶布封闭小路由器WAN口,网线改插小路由器LAN口,关闭小路由器的DHCP服务,当交换机用。坚决使用WAN口的话,就只能那样了。
关于DMZ打印机,请看这里“”6楼看看。
提示: 作者被禁止或删除 内容自动屏蔽
引用:原帖由 google0312 于
08:12 发表
别的电脑没有试过的,因为文件太大,几个t,我把它考到服务器上来,server 2008r2,结果就这个样子了,ftp软件是换了不了的,这种的复制你懂得。 文件太大,几个t????
你指单文件几个T?
很多情况下Windows自身以及FTP服务软件都存在可能的大体积文件出错的。
你试试LeapFTP上传文件情况如何
本帖最后由 天月来了 于
08:18 编辑
家用小路由器的WAN口是固化NAT转换的,单向,只向上转,无法将WAN口来的访问转向LAN口下面。不支持WAN口前面的任何静态路由跳转。
建议拿胶布封闭小路由器WAN口,网线改插小路由器LAN口,关闭小路由器的DHCP服务,当交换机用。坚决使用WAN口的话,就只能那样了。
关于DMZ打印机,请看这里“”6楼看看。
文件太大,拷贝会卡死的掉。。拷贝风险还是挺大的。
初级工程师
NTFs格式问题吧8被浏览138分享邀请回答1添加评论分享收藏感谢收起1添加评论分享收藏感谢收起请教高人帮我看看这个代码有什么问题,效果出不来,谢谢
[问题点数:50分]
请教高人帮我看看这个代码有什么问题,效果出不来,谢谢
[问题点数:50分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2018年1月 Web 开发大版内专家分月排行榜第一2017年12月 Web 开发大版内专家分月排行榜第一2017年6月 Web 开发大版内专家分月排行榜第一2017年2月 Web 开发大版内专家分月排行榜第一2016年3月 Web 开发大版内专家分月排行榜第一2015年8月 Web 开发大版内专家分月排行榜第一
2018年2月 Web 开发大版内专家分月排行榜第二2017年11月 Web 开发大版内专家分月排行榜第二2017年10月 Web 开发大版内专家分月排行榜第二2017年9月 Web 开发大版内专家分月排行榜第二2017年8月 Web 开发大版内专家分月排行榜第二2017年7月 Web 开发大版内专家分月排行榜第二2017年5月 Web 开发大版内专家分月排行榜第二2017年4月 Web 开发大版内专家分月排行榜第二2017年3月 Web 开发大版内专家分月排行榜第二2017年1月 Web 开发大版内专家分月排行榜第二2016年11月 Web 开发大版内专家分月排行榜第二2016年9月 Web 开发大版内专家分月排行榜第二2016年8月 Web 开发大版内专家分月排行榜第二2016年7月 Web 开发大版内专家分月排行榜第二2016年6月 Web 开发大版内专家分月排行榜第二2016年5月 Web 开发大版内专家分月排行榜第二2016年4月 Web 开发大版内专家分月排行榜第二2016年2月 Web 开发大版内专家分月排行榜第二2015年9月 Web 开发大版内专家分月排行榜第二2015年7月 Web 开发大版内专家分月排行榜第二2015年6月 Web 开发大版内专家分月排行榜第二2015年4月 Web 开发大版内专家分月排行榜第二2015年3月 Web 开发大版内专家分月排行榜第二2015年2月 Web 开发大版内专家分月排行榜第二
匿名用户不能发表回复!|大家都在搜:
扫描二维码安装房天下APP
手机浏览器访问房天下
> > 问题详情
各位大神,我是首次买房,请大家帮帮忙看看这个户型。我是在南方。楼盘总体坐南朝北,偏东10度。请大家帮忙看看这个户型怎样?阳台朝北会不会有太大问题?南边有马路,距离大概50米,影响会不会很大?谢谢
浏览次数:0
二手房经纪人
问题不大,可以的
房天下知识为您分享了一条干货
手机动态登录
请输入用户名/邮箱/手机号码!
请输入密码!
没有房天下通行证,
ask:2,asku:0,askr:211,askz:23,askd:16,RedisW:0askR:11,askD:255 mz:nohit,askU:0,askT:0askA:267
Copyright &
北京拓世宏业科技发展有限公司
Beijing Tuo Shi Hong Ye Science&Technology Development Co.,Ltd 版权所有
违法信息举报邮箱:}

我要回帖

更多关于 帮我看看我木耳算粉不 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信