{"id":165,"date":"2010-07-05T12:06:05","date_gmt":"2010-07-05T12:06:05","guid":{"rendered":"http:\/\/www.fujiangyun.com\/?p=165"},"modified":"2010-07-05T12:06:05","modified_gmt":"2010-07-05T12:06:05","slug":"%e6%99%ba%e8%83%bd%e7%94%b5%e5%8a%a8%e5%b0%8f%e8%bd%a6","status":"publish","type":"post","link":"https:\/\/www.fujiangyun.com\/blog\/?p=165","title":{"rendered":"\u667a\u80fd\u7535\u52a8\u5c0f\u8f66"},"content":{"rendered":"<h3 style=\"text-align: center;\"><a href=\"http:\/\/www.fujiangyun.com\/wp-content\/uploads\/2010\/07\/IMG_0346.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-177\" title=\"IMG_0346\" src=\"http:\/\/www.fujiangyun.com\/wp-content\/uploads\/2010\/07\/IMG_0346-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" \/><\/a><a href=\"http:\/\/www.fujiangyun.com\/wp-content\/uploads\/2010\/07\/IMG_0345.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-176\" title=\"IMG_0345\" src=\"http:\/\/www.fujiangyun.com\/wp-content\/uploads\/2010\/07\/IMG_0345-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" \/><\/a><\/h3>\n<pre lang=\"c\" line='1'>\n\/**********************************************\n\u5de5\u7a0b\u540d\uff1a\u53ef\u81ea\u52a8\u5faa\u8ff9\u3001\u907f\u969c\u3001\u7cbe\u786e\u5b9a\u4f4d\u7684\u667a\u80fd\u7535\u52a8\u5c0f\u8f66\n\u8bf4  \u660e\uff1a\u672c\u8bbe\u8ba1\u662f\u57fa\u4e8e89C52MCU\u7684\u667a\u80fd\u7535\u52a8\u5c0f\u8f66\uff0c\u7cfb\u7edf\n        \u542f\u52a8\u540e\u9700\u8981\u8bbe\u5b9a\u5f53\u524d\u65f6\u95f4\uff0c\u7d27\u63a5\u7740\u9009\u62e9\u7cfb\u7edf\u6a21\n        \u5f0f-\u5faa\u8ff9\u3001\u907f\u969c\u3001\u5b9a\u4f4d\u3002\n        \u5faa\u8ff9\u6a21\u5f0f\u4e3b\u8981\u5229\u7528\u7ea2\u5916\u53cd\u5c04\u7ba1\u5b9e\u73b0\uff0c\u53d1\u5c04\u7ba1\u4e0d\n        \u65ad\u53d1\u51fa\u7ea2\u5916\uff0c\u82e5\u5730\u9762\u4e3a\u9ed1\u7ebf\u5219\u63a5\u6536\u7ba1\u63a5\u6536\u4e0d\u5230\n        \u4fe1\u53f7\uff0c\u8f93\u51fa\u9ad8\u7535\u5e73\uff0c\u5f53\u5c0f\u8f66\u4e0d\u5728\u7ebf\u4e0a\u540e\u63a5\u6536\u7ba1\n        \u6536\u5230\u53cd\u5c04\u5149\uff0c\u8f93\u51fa\u4f4e\u7535\u5e73\uff0c\u5c0f\u8f66\u524d\u5934\u53ca\u5de6\u53f3\u5404\n        \u88c5\u4e00\u5bf9\uff0c\u5f53\u5de6\u4fa7\u8f93\u51fa\u4f4e\u7535\u5e73\u65f6\u5c0f\u8f66\u53f3\u8f6c\u4e00\u5b9a\u89d2\n        \u5ea6\uff0c\u5f53\u53f3\u4fa7\u8f93\u51fa\u9ad8\u7535\u5e73\u65f6\u5c0f\u8f66\u5de6\u8f6c\u4e00\u5b9a\u89d2\u5ea6\u3002\n        \u5982\u6b64\u5faa\u73af\u5224\u65ad\u53ef\u5b9e\u73b0\u5c0f\u8f66\u5faa\u8ff9\u529f\u80fd\u3002\n        \u81c2\u7ae0\u529f\u80fd\u5927\u81f4\u548c\u5faa\u8ff9\u529f\u80fd\u4e00\u81f4\u4e00\u81f4\uff0c\u5229\u7528\u524d\u5934\n        \u7684\u7ea2\u5916\u6536\u53d1\u7ba1\uff0c\u53ef\u5224\u65ad\u524d\u65b9\u662f\u5426\u9047\u5230\u969c\u788d\uff0c\u82e5\n        \u9047\u5230\u7ed5\u8fc7\u969c\u788d\u7269\u7ee7\u7eed\u524d\u884c\u3002\n        \u5b9a\u4f4d\u529f\u80fd\uff0c\u4e3b\u8981\u662f\u662f\u6839\u636e\u9700\u8981\u884c\u9a76\u7684\u8ddd\u79bb\u8ba1\u7b97\n        \u9700\u8981\u884c\u9a76\u7684\u65f6\u95f4\u3002\n\u7248  \u6743\uff1a\u4ed8\u6c5f\u4e91 2010\u5e746\u670810\u65e5\u6388\u4e88 \u6768\u6653\u6885\n************************************************\/\n#include<reg52.h>\n\n\/\/-----\u4ee5\u4e0b\u662f\u5c0f\u8f66\u884c\u9a76\u6a21\u6a21\u5f0f\u5b8f\u5b9a\u4e49--------------\/\/\n#define runstop  0x00\n#define runhead  0x01\n#define runback  0x02\n#define runleft  0x03\n#define runright 0x04\n\n\/\/-----\u4ee5\u4e0b\u662f\u5de6\u53f3\u76f4\u6d41\u7535\u673a\u524d\u8fdb\u5012\u9000\u63a7\u5236\u53e3\u5b9a\u4e49----\/\/\nsbit runheadL = P0^0;\nsbit runheadR = P0^2;\nsbit runbackL = P0^1;\nsbit runbackR = P0^3;\n\n\/\/----\u4ee5\u4e0b\u662f\u8bbe\u7f6e\u952e\u7aef\u53e3\u5b9a\u4e49---------------------\/\/\n\/\/sbit INT0 = P3^2;\nsbit keyADD = P2^1;\nsbit keyDEC = P2^2;\n\n\/\/--\u4ee5\u4e0b\u662f\u4f20\u611f\u5668\u8f93\u51fa\u7aef\u53ca\u8f66\u5934\u5de6\u53f3\u4eae\u706f\u7aef\u53e3\u5b9a\u4e49---\/\/\nsbit leftled  = P0^7;\nsbit rightled = P0^4;\nsbit leftIR   = P0^6;\nsbit rightIR  = P0^5;\nsbit headIR   = P2^0;\n\n\/\/--\u4ee5\u4e0b\u662f1602\u6db2\u6676\u663e\u793a\u7684\u63a7\u5236\u7aef\u53e3\u53ca\u6570\u636e\u53e3\u5b9a\u4e49---\/\/\nsbit lcdrs = P2^3;\nsbit lcdrw = P2^4;\nsbit lcden = P2^5;\n#define lcd_data P1\n\n\/\/--------\u4ee5\u4e0b\u662f\u9884\u8bbe\u6db2\u6676\u663e\u793a\u5185\u5bb9---------------\/\/\nunsigned char code num[10] = \"0123456789\";\nunsigned char code stunum[16] = \" Fujiangyun.com \";\nunsigned char code syswait[16] = \" Waitting Start!\";\nunsigned char code sth[16] = \"Please Set Hour!\";\nunsigned char code stm[16] = \"Please Set Mine!\";\nunsigned char code cho[16] = \"Please Chose!   \";\nunsigned char code waitxj[16] = \"Waitting XunJi! \";\nunsigned char code waitbz[16] = \"Waitting BiZhang\";\nunsigned char code setdwi[16] = \"Please Set DWei!\";\nunsigned char code line1[8] = \" 07cm\/s.\";\nunsigned char code line2_1[16] = \"XunJi           \";\nunsigned char code line2_2[16] = \"BiZhang         \";\nunsigned char code line2_3[7] = \"DingWi \";\nunsigned char code line2_c[2] = \"cm\";\nunsigned char code cbz[16] = \"You Chose BZ.   \";\nunsigned char code cxj[16] = \"You Chose XJ.   \";\nunsigned char code cdw[16] = \"You Chose DW.   \"; \n\n\/*******\u4ee5\u4e0b\u662f\u7cfb\u7edf\u9700\u8981\u7528\u5230\u7684\u5168\u5c40\u53d8\u91cf\uff0c\u4f9d\u6b21\u662f\u65f6\u3001\u5206\u3001\u79d2\n\u3001\u5b9a\u65f6\u5668\u4e2d\u65ad\u6b21\u6570\u53d8\u91cf\u3001\u7cfb\u7edf\u6807\u5fd7\u53d8\u91cf\u3001\u529f\u80fd\u6a21\u5f0f\u6807\u5fd7\u53d8\u91cf*\/\nunsigned char hour,mine,sec,tempnum,sysflag,workflag;\nunsigned int  golong,dingtime;\/\/\u5b9a\u4f4d\u6a21\u5f0f\u4e0b\u8bbe\u5b9a\u884c\u8fdb\u7684\u8ddd\u79bb\u53ca\u65f6\u95f4\n\nvoid delayms(unsigned int z)\/\/1\u6beb\u79d2\u5ef6\u65f6\u51fd\u6570\n{\n    unsigned int x,y;\n    for(x=z;x>0;x--)\n        for(y=124;y>0;y--);\n}\n\nvoid lcd_write_com(unsigned char com)\/\/\u6db2\u6676\u5199\u6307\u4ee4\u51fd\u6570\n{\n    lcdrw = 0;\n    lcdrs = 0;\n    lcd_data = com;\n    delayms(5);\n    lcden = 1;\n    delayms(5);\n    lcden = 0;\n}\n\nvoid lcd_write_dat(unsigned char dat)\/\/\u6db2\u6676\u5199\u6570\u636e\u51fd\u6570\n{\n    lcdrw = 0;\n    lcdrs = 1;\n    lcd_data = dat;\n    delayms(5);\n    lcden = 1;\n    delayms(5);\n    lcden = 0;\n}\n\nvoid lcd_init()\/\/\u6db2\u6676\u521d\u59cb\u5316\u51fd\u6570\n{\n    lcden = 0;\n    lcd_write_com(0x38);\n    lcd_write_com(0x0c);\n    lcd_write_com(0x06);\n    lcd_write_com(0x01);\n    lcd_write_com(0x80);\n}\n\nvoid runmode(unsigned char mode)\/\/\u5c0f\u8f66\u884c\u8fdb\u6a21\u5f0f\u9009\u62e9\u51fd\u6570\n{\n    runheadL = 0;\n    runbackL = 0;\n    runheadR = 0;\n    runbackR = 0;\n    switch(mode)\n    {\n        case runstop:                \/\/\u505c\u6b62\n        {\n            runheadL = 0;\n            runbackL = 0;\n            runheadR = 0;\n            runbackR = 0;\n            break;\n        }\n        case runhead:                \/\/\u524d\u8fdb\n        {\n            runheadL = 1;\n            runheadR = 1;\n            break;\n        }\n        case runback:                \/\/\u540e\u9000\n        {\n            runbackL = 1;\n            runbackR = 1;\n            break;\n        }\n        case runleft:                \/\/\u5de6\u8f6c\n        {\n            runbackL = 1;\n            runheadR = 1;\n            break;\n        }\n        case runright:                \/\/\u53f3\u8f6c\n        {\n            runheadL = 1;\n            runbackR = 1;\n            break;\n        }\n        default :\n        {\n            break;\n        }\n    }\n}\n\nvoid xunji()\/\/\u5faa\u8ff9\u5b50\u7a0b\u5e8f\n{\n    leftled  = leftIR;\n    rightled = rightIR;\n    if(leftIR==0)\n    {\n        runmode(runright);\n        delayms(10);\n    }\n    if(rightIR==0)\n    {\n        runmode(runleft);\n        delayms(10);\n    }\n    runmode(runhead);\n}\n\nvoid bizhang()\/\/\u907f\u969c\u5b50\u7a0b\u5e8f\n{\n    if(headIR==0)\n    {\n        runmode(runback);\n        delayms(500);\n        runmode(runleft);\n        delayms(500);\n    }\n    runmode(runhead);\n}\n\nvoid dingwei(unsigned int dat)\/\/\u5b9a\u4f4d\u5b50\u7a0b\u5e8f\n{\n    dat = (dat\/7)*1000;\/\/\u79d2\u901f\u4e3a7\u5398\u7c73\n    runmode(runhead);\n    delayms(dat);\n    runmode(runstop);\n    sysflag = 1;\n}\n\nvoid main()\/\/\u4e3b\u51fd\u6570\u5165\u53e3\n{\n    unsigned char i,tempflag;\n    \/\/--------------\u4ee5\u4e0b\u662f\u7cfb\u7edf\u521d\u59cb\u5316----------------------\/\/\n    sysflag = 0;\n    hour = 23;\n    mine = 59;\n    golong = 0;\n    tempnum = 0;\n    EA = 1;\n    EX0 = 0;\n    ET0 = 1;\n    TR0 = 0;\n    PT0 = 1;\n    TMOD = 0x01;\n    TH0 = 0x3C;\n    TL0 = 0x0B0;\n    \/\/--------------\u7cfb\u7edf\u521d\u59cb\u5316\u7ed3\u675f----------------------\/\/\n    lcd_init();        \/\/\u6db2\u6676\u521d\u59cb\u5316\u8c03\u7528\n    \/\/---\u663e\u793a\u521d\u59cb\u6b22\u8fce\u6570\u636e-------------------\/\/\n    lcd_write_com(0x80);\n    for(i=0;i<16;i++)\n        lcd_write_dat(stunum[i]);\n    lcd_write_com(0x80+0x40);\n    for(i=0;i<16;i++)\n        lcd_write_dat(syswait[i]);\n    \/\/---\u663e\u793a\u521d\u59cb\u6b22\u8fce\u6570\u636e\u7ed3\u675f---------------\/\/\n    runmode(runstop);\/\/\u521d\u59cb\u5316\u5c0f\u8f66\u5904\u4e8e\u505c\u6b62\u72b6\u6001\n    while(1)\n    {\n        if(sysflag==0)\/\/\u5f53\u7cfb\u7edf\u5904\u4e8e\u72b6\u60010\u65f6\uff0c\u5224\u65ad\u7b49\u5f85\u6309\u952e\u8bbe\u7f6e\u65f6\u95f4\n        {\n            if(INT0==0)\n            {\n                delayms(5);\n                if(INT0==0)\n                {\n                    switch(tempflag)\n                    {\n                        case 0:\n                            tempflag = 1;\n                            lcd_write_com(0x80);\n                            lcd_write_dat(num[hour\/10]);\n                            lcd_write_dat(num[hour%10]);\n                            lcd_write_dat(':');\n                            lcd_write_dat(num[mine\/10]);\n                            lcd_write_dat(num[mine%10]);\n                            for(i=0;i<11;i++)\n                                lcd_write_dat(' ');\n                            lcd_write_com(0x80+0x40);\n                            for(i=0;i<16;i++)\n                                lcd_write_dat(sth[i]);\n                            break;\n                        case 1:\n                            tempflag = 2;\n                            lcd_write_com(0x80+0x40);\n                            for(i=0;i<16;i++)\n                                lcd_write_dat(stm[i]);\n                            break;\n                        case 2:\n                            TR0 = 1;\n                            tempflag = 0;\n                            sysflag = 1;\n                            lcd_write_com(0x80+0x40);\n                            for(i=0;i<16;i++)\n                                lcd_write_dat(cho[i]);\n                            break;\n                        default :\n                            break;\n                    }\n                    while(!INT0);\n                }\n            }\n            if(keyADD==0)\n            {\n                delayms(5);\n                if(keyADD==0)\n                {\n                    switch(tempflag)\n                    {\n                        case 1:\n                        {\n                            if(hour==23)\n                                hour = 0;\n                            else\n                                hour++;\n                            lcd_write_com(0x80);\n                            lcd_write_dat(num[hour\/10]);\n                            lcd_write_dat(num[hour%10]);\n                            break;\n                        }\n                        case 2:\n                        {\n                            if(mine==59)\n                                mine = 0;\n                            else\n                                mine++;\n                            lcd_write_com(0x80+3);\n                            lcd_write_dat(num[mine\/10]);\n                            lcd_write_dat(num[mine%10]);\n                            break;\n                        }\n                        default :\n                            break;\n                    }\n                }\n                while(!keyADD);\n            }\n            if(keyDEC==0)\n            {\n                delayms(5);\n                if(keyDEC==0)\n                {\n                    switch(tempflag)\n                    {\n                        case 1:\n                        {\n                            if(hour==0)\n                                hour = 23;\n                            else\n                                hour--;\n                            lcd_write_com(0x80);\n                            lcd_write_dat(num[hour\/10]);\n                            lcd_write_dat(num[hour%10]);\n                            break;\n                        }\n                        case 2:\n                        {\n                            if(mine==0)\n                                mine = 59;\n                            else\n                                mine--;\n                            lcd_write_com(0x80+3);\n                            lcd_write_dat(num[mine\/10]);\n                            lcd_write_dat(num[mine%10]);\n                            break;\n                        }\n                        default :\n                            break;\n                    }\n                }\n                while(!keyDEC);\n            }\n\n        }        \n        if(sysflag==1)\/\/\u7cfb\u7edf\u5904\u4e8e\u72b6\u60011\u65f6\u7b49\u5f85\u9009\u62e9\u529f\u80fd\u6a21\u5f0f\n        {\n            if(INT0==0)\n            {\n                delayms(5);\n                if(INT0==0)\n                {\n                    if(workflag!=0)\n                    {\n                        sysflag = 2;\n                        lcd_write_com(0x80+5);\n                        for(i=0;i<8;i++)\n                            lcd_write_dat(line1[i]);\n                        switch(workflag)\n                        {\n                            case 1:\n                            {\n                                lcd_write_com(0x80+0x40);\n                                for(i=0;i<16;i++)\n                                    lcd_write_dat(waitxj[i]);\n                                break;\n                            }\n                            case 2:\n                            {\n                                lcd_write_com(0x80+0x40);\n                                for(i=0;i<16;i++)\n                                    lcd_write_dat(setdwi[i]);\n                                break;\n                            }\n                            case 3:\n                            {\n                                lcd_write_com(0x80+0x40);\n                                for(i=0;i<16;i++)\n                                    lcd_write_dat(waitbz[i]);\n                                break;\n                            }\n                            default :\n                                break;\n                        }\n                    }\n                }\n                while(!INT0);\n            }\n            if(keyADD==0)\n            {\n                delayms(5);\n                if(keyADD==0)\n                {\n                    switch(workflag)\n                    {\n                        case 0:\n                        {\n                            workflag = 1;\n                            lcd_write_com(0x80+0x40);\n                            for(i=0;i<16;i++)\n                                lcd_write_dat(cxj[i]);\n                            break;\n                        }\n                        case 1:\n                        {\n                            workflag = 2;\n                            lcd_write_com(0x80+0x40);\n                            for(i=0;i<16;i++)\n                                lcd_write_dat(cdw[i]);\n                            break;\n                        }\n                        case 2:\n                        {\n                            workflag = 3;\n                            lcd_write_com(0x80+0x40);\n                            for(i=0;i<16;i++)\n                                lcd_write_dat(cbz[i]);\n                            break;\n                        }\n                        case 3:\n                        {\n                            workflag = 1;\n                            lcd_write_com(0x80+0x40);\n                            for(i=0;i<16;i++)\n                                lcd_write_dat(cxj[i]);\n                            break;\n                        }\n                        default :\n                            break;\n                    }\n                }\n                while(!keyADD);\n            }\n            if(keyDEC==0)\n            {\n                delayms(5);\n                if(keyDEC==0)\n                {\n                    switch(workflag)\n                    {\n                        case 0:\n                        {\n                            workflag = 3;\n                            lcd_write_com(0x80+0x40);\n                            for(i=0;i<16;i++)\n                                lcd_write_dat(cbz[i]);\n                            break;\n                        }\n                        case 1:\n                        {\n                            workflag = 3;\n                            lcd_write_com(0x80+0x40);\n                            for(i=0;i<16;i++)\n                                lcd_write_dat(cbz[i]);\n                            break;\n                        }\n                        case 2:\n                        {\n                            workflag = 1;\n                            lcd_write_com(0x80+0x40);\n                            for(i=0;i<16;i++)\n                                lcd_write_dat(cxj[i]);\n                            break;\n                        }\n                        case 3:\n                        {\n                            workflag = 2;\n                            lcd_write_com(0x80+0x40);\n                            for(i=0;i<16;i++)\n                                lcd_write_dat(cdw[i]);\n                            break;\n                        }\n                    }\n                }\n                while(!keyDEC);\n            }\n        }\n        if(sysflag==2)\/\/\u7cfb\u7edf\u5904\u4e8e\u72b6\u60012\u65f6\u7b49\u5f85\u8bbe\u7f6e\u5e76\u542f\u52a8\u76f8\u5e94\u7684\u529f\u80fd\u6a21\u5f0f\n        {\n            if(workflag==1)\n            {\n                if(INT0==0)\n                {\n                    delayms(5);\n                    if(INT0==0)\n                    {\n                        sysflag = 3;\n                        lcd_write_com(0x80+0x40);\n                        for(i=0;i<16;i++)\n                            lcd_write_dat(line2_1[i]);\n                        EX0 = 1;\n                    }\n                    while(!INT0);\n                }\n            }\n            if(workflag==3)\n            {\n                if(INT0==0)\n                {\n                    delayms(5);\n                    if(INT0==0)\n                    {\n                        sysflag = 3;\n                        lcd_write_com(0x80+0x40);\n                        for(i=0;i<16;i++)\n                            lcd_write_dat(line2_2[i]);\n                        EX0 = 1;\n                    }\n                    while(!INT0);\n                }\n            }\n            if(workflag==2)\n            {\n                if(INT0==0)\n                {\n                    delayms(5);\n                    if(INT0==0)\n                    {\n                        sysflag = 3;\n                        lcd_write_com(0x80+0x40);\n                        for(i=0;i<7;i++)\n                            lcd_write_dat(line2_3[i]);\n                        lcd_write_dat(num[(golong\/100)%10]);\n                        lcd_write_dat(num[(golong\/10)%10]);\n                        lcd_write_dat(num[golong%10]);\n                        lcd_write_dat('c');\n                        lcd_write_dat('m');\n                        for(i=0;i<4;i++)\n                            lcd_write_dat(' ');\n                        EX0 = 1;\n                    }\n                    while(!INT0);\n                }\n                if(keyADD==0)\n                {\n                    delayms(5);\n                    if(keyADD==0)\n                    {\n                        if(golong==990)\n                            golong = 0;\n                        else\n                            golong = golong+10;\n                        lcd_write_com(0x80+0x40);\n                        lcd_write_dat(num[(golong\/100)%10]);\n                        lcd_write_dat(num[(golong\/10)%10]);\n                        lcd_write_dat(num[golong%10]);\n                        for(i=0;i<13;i++)\n                            lcd_write_dat(' ');\n                        \n                    }\n                    while(!keyADD);\n                }\n                if(keyDEC==0)\n                {\n                    delayms(5);\n                    if(keyDEC==0)\n                    {\n                        if(golong==0)\n                            golong = 990;\n                        else\n                            golong = golong-10;\n                        lcd_write_com(0x80+0x40);\n                        lcd_write_dat(num[(golong\/100)%10]);\n                        lcd_write_dat(num[(golong\/10)%10]);\n                        lcd_write_dat(num[golong%10]);\n                        for(i=0;i<13;i++)\n                            lcd_write_dat(' ');\n                        \n                    }\n                    while(!keyDEC);\n                }\n            }\n        }\n        if(sysflag==3)            \/\/\/\u7cfb\u7edf\u5904\u4e8e\u72b6\u60013\u65f6\u8fdb\u884c\u76f8\u5e94\u7684\u529f\u80fd\u6a21\u5f0f\n        {\n            switch(workflag)\n            {\n                case 1:\n                    xunji();\n                    break;\n                case 2:\n                    dingwei(golong);\n                    break;\n                case 3:\n                    bizhang();\n                    break;\n                default :\n                    break;\n            }\n        }\n    }\n}\n\n\nvoid intt0() interrupt 0\n{\n    unsigned char i;\n    EX0 = 0;\n    runmode(runstop);\n    leftled  = 1;\n    rightled = 1;\n    delayms(5);\n    sysflag = 1;\n    lcd_write_com(0x80+0x40);\n    for(i=0;i<16;i++)\n        lcd_write_dat(cho[i]);\n    while(!INT0);\n}\n\nvoid intt1() interrupt 1            \/\/\u5b9a\u65f6\u5668T0\u4e2d\u65ad\u51fd\u6570\uff0c\u7528\u4e8e\u5b9e\u65f6\u663e\u793a\n{\n    TH0 = 0x3C;\n    TL0 = 0x0B0;\n    if(tempnum==11)\n    {\n        tempnum = 0;\n        if(sec==59)\n        {\n            sec = 0;\n            if(mine==59)\n            {\n                mine = 0;\n                lcd_write_com(0x80);\n                lcd_write_dat(num[hour\/10]);\n                lcd_write_dat(num[hour%10]);\n                lcd_write_dat(':');\n                lcd_write_dat(num[mine\/10]);\n                lcd_write_dat(num[mine%10]);\n                if(hour==23)\n                {\n                    hour = 0;\n                }\n                else\n                    hour++;\n            }\n            else\n            {\n                mine++;\n                lcd_write_com(0x80);\n                lcd_write_dat(num[hour\/10]);\n                lcd_write_dat(num[hour%10]);\n                lcd_write_dat(':');\n                lcd_write_dat(num[mine\/10]);\n                lcd_write_dat(num[mine%10]);\n            }\n        }\n        else\n            sec++;\n    }\n    else\n        tempnum++;\n}\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u672c\u8bbe\u8ba1\u662f\u57fa\u4e8e89C52MCU\u7684\u667a\u80fd\u7535\u52a8\u5c0f\u8f66\uff0c\u7cfb\u7edf<br \/>\n\u542f\u52a8\u540e\u9700\u8981\u8bbe\u5b9a\u5f53\u524d\u65f6\u95f4\uff0c\u7d27\u63a5\u7740\u9009\u62e9\u7cfb\u7edf\u6a21<br \/>\n\u5f0f-\u5faa\u8ff9\u3001\u907f\u969c\u3001\u5b9a\u4f4d\u3002<br \/>\n\u5faa\u8ff9\u6a21\u5f0f\u4e3b\u8981\u5229\u7528\u7ea2\u5916\u53cd\u5c04\u7ba1\u5b9e\u73b0\uff0c\u53d1\u5c04\u7ba1\u4e0d<br \/>\n\u65ad\u53d1\u51fa\u7ea2\u5916\uff0c\u82e5\u5730\u9762\u4e3a\u9ed1\u7ebf\u5219\u63a5\u6536\u7ba1\u63a5\u6536\u4e0d\u5230<br \/>\n\u4fe1\u53f7\uff0c\u8f93\u51fa\u9ad8\u7535\u5e73\uff0c\u5f53\u5c0f\u8f66\u4e0d\u5728\u7ebf\u4e0a\u540e\u63a5\u6536\u7ba1<br \/>\n\u6536\u5230\u53cd\u5c04\u5149\uff0c\u8f93\u51fa\u4f4e\u7535\u5e73\uff0c\u5c0f\u8f66\u524d\u5934\u53ca\u5de6\u53f3\u5404<br \/>\n\u88c5\u4e00\u5bf9\uff0c\u5f53\u5de6\u4fa7\u8f93\u51fa\u4f4e\u7535\u5e73\u65f6\u5c0f\u8f66\u53f3\u8f6c\u4e00\u5b9a\u89d2<br \/>\n\u5ea6\uff0c\u5f53\u53f3\u4fa7\u8f93\u51fa\u9ad8\u7535\u5e73\u65f6\u5c0f\u8f66\u5de6\u8f6c\u4e00\u5b9a\u89d2\u5ea6\u3002<br \/>\n\u5982\u6b64\u5faa\u73af\u5224\u65ad\u53ef\u5b9e\u73b0\u5c0f\u8f66\u5faa\u8ff9\u529f\u80fd\u3002<br \/>\n\u907f\u969c\u529f\u80fd\u5927\u81f4\u548c\u5faa\u8ff9\u529f\u80fd\u4e00\u81f4\u4e00\u81f4\uff0c\u5229\u7528\u524d\u5934<br \/>\n\u7684\u7ea2\u5916\u6536\u53d1\u7ba1\uff0c\u53ef\u5224\u65ad\u524d\u65b9\u662f\u5426\u9047\u5230\u969c\u788d\uff0c\u82e5<br \/>\n\u9047\u5230\u7ed5\u8fc7\u969c\u788d\u7269\u7ee7\u7eed\u524d\u884c\u3002<br \/>\n\u5b9a\u4f4d\u529f\u80fd\uff0c\u4e3b\u8981\u662f\u662f\u6839\u636e\u9700\u8981\u884c\u9a76\u7684\u8ddd\u79bb\u8ba1\u7b97<br \/>\n\u9700\u8981\u884c\u9a76\u7684\u65f6\u95f4\u3002<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[10,11,12,29,31,37,41],"class_list":["post-165","post","type-post","status-publish","format-standard","hentry","category-4","tag-cc","tag-c51","tag-c","tag-29","tag-31","tag-37","tag-41"],"_links":{"self":[{"href":"https:\/\/www.fujiangyun.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/165","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fujiangyun.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fujiangyun.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fujiangyun.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fujiangyun.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=165"}],"version-history":[{"count":0,"href":"https:\/\/www.fujiangyun.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/165\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.fujiangyun.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=165"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fujiangyun.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=165"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fujiangyun.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}