哭了,單片機小渣渣對這個51程序很苦惱,有大神幫忙完善一下嘛?還有一些頭文件寫不出來了
#include<reg52.h> #include<intrins.h> #defineuchar unsigned char #defineuint unsigned int sbit wr=P3^6; sbit rd=P3^7; sbit JRC=P3^1; sbit FM=P3^0; uchardata led[4]; unsignedchar code tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; /******************1ms延時函數************/ delay(intt) { int i,j; for(i=0;i<t;i++) for(j=0;j<50;j++) ; } voidstart() { wr=1; wr=0; wr=1; } /************************************************ LED數碼管(顯示)功能子函數 *************************************************/ voiddisplay(uint tvdata) { uint k,temp; P2=0x00; k=tvdata%10; temp=tab[k]; P2=temp; delay(1); P1=0x00; k=tvdata/10; temp=tab[k]; P1=temp; delay(1); } /************主函數開始************/ voidmain() { uchar k,wendu; uint advalue; while(1) { start(); k=k; k=k; rd=0; advalue=P0; rd=1; k=k; k=k; advalue=advalue*(1.94); switch(advalue) { case 448: d=18;break; case 449: d=19;break; case 450: d=20;break; case 451: d=21;break; case 452: d=22;break; case 453: d=23;break; case 454: d=24;break; case 455: d=25;break; case 456: d=26;break; case 457: d=27;break; case 458: d=28;break; case 459: d=29;break; case 460: d=30;break; case 461: d=31;break; case 462: d=32;break; case 463: d=33;break; case 464: d=34;break; case 465: d=35;break; case 466: d=36;break; case 467: d=37;break; case 468: d=38;break; case 469: d=39;break; case 470: d=40;break; case 471: d=41;break; case 472: d=42;break; case 473: d=43;break; case 474: d=44;break; case 475: d=45;break; case 476: d=46;break; case 477: d=47;break; case 478: d=48;break; case 479: d=49;break; case 480: d=50;break; case 481: d=51;break; case 482: d=52;break; case 483: d=53;break; case 484: d=54;break; case 485: d=55;break; case 486: d=56;break; case 487: d=57;break; case 488: d=58;break; case 489: d=59;break; case 490: d=60;break; case 491: d=61;break; case 492: d=62;break; case 493: d=63;break; case 494: d=64;break; case 495: d=65;break; case 496: d=66;break; case 497: d=67;break; case 498: d=68;break; case 499: d=69;break; case 500: d=70;break; } wendu=d; display(advalue); if(wendu<18) { JRC=0; FM=0; } if(wendu>70) { FM=0; } delay(1); } }
|