完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
各位大神,可以帮我看看程序是哪里出错了,现在调节PT100,数码管和LED灯,蜂鸣器都没有响应。是怎么回事??? 这是程序: #include"reg51.h" #include"stdio.h" ***it sound=p1^7; ***it ST=P2^0; ***it EOC=p2^1; ***it OE=p2^2; ***it ADDA=p2^3; ***it ADDB=p2^4; ***it blue=p2^5; ***it yellow=p2^6; ***it red=p2^7; ***it bit1=p3^2; ***it bit2=p3^3; ***it bit3=p3^4; ***it bit4=p3^5; ***it bit5=p3^6; ***it bit6=p3^7; int DATA[3]; char ch[4]; int chardata; int right; char led; int xia=10,shang=40; void display(); void delay_1ms(int); int wendu(int); void AD(); void baojing(int); void Sound(); void init_serialcom(); void baojing(int d); { if(d } void Sound(); { int m=10; While(m--) { delay_1ms(1);sound=1; delay_1ms(1);sound=0; } } Void AD() { inti=0; for(i=0;i<5;i++) { ST=0; ADDA=0;ADDB=0; delay_1ms(10); ST=1; Delay_1ms(10); ST=0; while(EOC==0); OE=1; DATA[0]=P0; OE=0; } } void delay_1ms(int i) { int j; while(i--) {for(j=125;j>0;j--);} } /*************显示*******************/ Void display() {int discod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00} int tab[]={0,1,2,3,4,5,6,7,8,9}; int di***it[]={5,4,3,2,1,0}; int dis[6],i,j; int getdata; for(i=0,j=0;i<3,j<6;i++) { getdata=DATA; dis[j]=getdata/10; dis[j+1]=getdata%10; j+=2; } for(i=0;i<6;i++) { P3=0x0ff; switch(di***it) { case0:bit1=0;break; case1:bit2=0;break; case2:bit3=0;break; case3:bit4=0;break; case4:bit5=0;break; case5:bit6=0;break; } P1=discode[tab[dis]]; } } /************温度计算公式************************/ int wd(int d) { float k=0.42735,b=6.4957; int f1; if(d<199){f1=k*d-b;returnf1;} if(d>=199&d<200){return80;} if(d>=200&d<201){return85;} if(d>=201&d<202){return88;} if(d>=202) {return98;} } /****************串口通信初始化*****************************/ void init_serialcom() { SCON=0x50; TMOD=0x20; PCON=0x00; TH1=0xFD; TL1=0XFD; IE=0x90; TR1=1; TI=1; } /****************串行口中断**********************************/ void rec_int()interrupt 4 { if(RI) { RI=0; ch[0]=SBUF; if(ch[0]=='0') { while(RI==0){}RI=0;ch[1]=SBUF; if(ch[1]=='r'){right=1;} else { if(ch[1]=='t'){right=0;} else { while(RI==0){}RI=0;ch[2]=SBUF; while(RI==0){}RI=0;ch[3]=SBUF; chardata=(ch[2]-48)*10+ch[3]-48; if(ch[1]=='x'){xia=chardata;} if(ch[1]=='s'){shang=chardata;} } } } } } /*********************主函数**************************************/ void main() { int j; while(1) { AD(); if(led!=0&right==1){putchar(led);putchar(led);} else { putchar('0'); putchar('0'); } for(j=0;j<3;j++) { DATA[j]=wd(DATA[j]); if(right==1) { switch(DATA[j]) { case 80:printf("80");break; case 85:printf("85");break; case 88:printf("87");break; case 98:printf("95");break; default:printf("%d",DATA[j]);break; } } } if(right==1);{printf("%d%d",xia,shang);} display(); baojing(DATA[0]); } } 谢谢了,大家 |
|
相关推荐
2个回答
|
|
额,欢迎!你先试试,不行在说!
|
|
|
|
谢谢楼主分享。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
4376 浏览 3 评论
5666 浏览 1 评论
5940 浏览 0 评论
Protues中自己封装的芯片元件无Program File、Clock Frequency选项怎么解决,求求大神了!
7670 浏览 1 评论
基于51单片机的车辆倒车雷达报警系统,HC-SR04超声波测距,全套资料
1218 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 00:23 , Processed in 0.551036 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号