60¶à¼ÒÍøÕ¾ÉèÖÃÍøÂç¡°110±¨¾¯Í¤¡±

近期,警方成功查处一起非法入侵某网络管理系统并篡改计算机信息系统数据的案件,犯罪嫌疑人李某已被刑事拘留五日。此案自本月下旬起,开通了“网上110”报警服务平台,进一步加强了网络安全管理。
ÕÅÀÚ£©½üÈÕ£¬Ä²Æ½¹«°²·Ö¾Ö³É¹¦²é´¦Ò»ÆðºÚ¿Í·Ç·¨ÈëÇÖÍø°É¹ÜÀíϵͳ²¢·Ç·¨¸Ä±ä¼ÆËã»úÐÅϢϵͳ°¸¼þ£¬²é»ñÎ¥·¨ÈËÔ±Ò»Ãû£¬Î¥·¨ÈËÔ±ÀîijÊܵ½ÐÐÕþ¾ÐÁôÎåÈյĴ¦·£¡£ÕâÊÇ´Ó½ñÄê10ÔÂÏÂÑ®Æð£¬Ä²Æ½¿ªÍ¨¡°ÍøÉÏ110¡±±¨¾¯·þ ...
////////////////////////////////////////////////////////////////////////////////// //±¾³ÌÐòÖ»¹©Ñ§Ï°Ê¹Óã¬Î´¾­×÷ÕßÐí¿É£¬²»µÃÓÃÓÚÆäËüÈκÎÓÃ; //ÐÀÞ±µç×Ó // // ÎÄ ¼þ Ãû :yanwu.c // °æ ±¾ ºÅ : v1.0 // ×÷ Õß : ÐÀÞ±µç×Ó // Éú³ÉÈÕÆÚ : 20200101 // ×î½üÐÞ¸Ä : // ¹¦ÄÜÃèÊö :Ö÷º¯Êý // ÐÞ¸ÄÀúÊ· : // ÈÕ ÆÚ : // ×÷ Õß : ÐÀÞ±µç×Ó // ÐÞ¸ÄÄÚÈÝ : ´´½¨Îļþ //°æÈ¨ËùÓУ¬µÁ°æ±Ø¾¿¡£ //Copyright(C) ÐÀÞ±µç×Ó2020/3/16 //All rights reserved //******************************************************************************/. //³ÌÐòÍ·º¯Êý #include <reg52.h> #include <intrins.h> //°üº¬Í·Îļþ //ÏÔʾº¯Êý #include <display.h> //ºê¶¨Òå #define uint unsigned int #define uchar unsigned char //¹Ü½ÅÉùÃ÷ sbit LED_R= P2^2;//ºìµÆ sbit LED_G= P2^0;//ÂÌµÆ sbit FENG = P2^5;//·äÃùÆ÷ //sbit san=P3^4; //·çÉÈ¿ØÖÆ£¨Ñ¡Å䣩 sbit CS = P1^4; sbit Clk = P1^2; sbit DATI = P1^3; sbit DATO = P1^3; //ADC0832Òý½Å //°´¼ü sbit Key1=P2^6; //ÉèÖüü sbit Key2=P2^7; //¼Ó°´¼ü sbit Key3=P3^7; //¼õ°´¼ü bit bdata flag; //±¨¾¯±ê־λ uchar set; //ÉèÖÃ״̬ /*******************************¶¨ÒåÈ«¾Ö±äÁ¿********************************/ unsigned char dat = 0; //ADÖµ unsigned char CH=0; //ͨµÀ±äÁ¿ unsigned int sum=0; //ƽ¾ùÖµ¼ÆËãʱµÄ×ÜÊý unsigned char m=0; //º¯ÊýÉùÃ÷ extern uchar ADC0809(); extern void Key(); //¾Æ¾«º¬Á¿±äÁ¿ uchar temp=0; uchar WARNING=25; //±¨¾¯Öµ /**************************************************************************** º¯Êý¹¦ÄÜ:ADת»»×Ó³ÌÐò Èë¿Ú²ÎÊý:CH ³ö¿Ú²ÎÊý:dat ****************************************************************************/ unsigned char adc0832(unsigned char CH) { unsigned char i,test,adval; adval = 0x00; test = 0x00; Clk = 0; //³õʼ»¯ DATI = 1; _nop_(); CS = 0; _nop_(); Clk = 1; _nop_(); if ( CH == 0x00 ) //ͨµÀÑ¡Ôñ { Clk = 0; DATI = 1; //ͨµÀ0µÄµÚһλ _nop_(); Clk = 1; _nop_(); Clk = 0; DATI = 0; //ͨµÀ0µÄµÚ¶þλ _nop_(); Clk = 1; _nop_(); } else { Clk = 0; DATI = 1; //ͨµÀ1µÄµÚһλ _nop_(); Clk = 1; _nop_(); Clk = 0; DATI = 1; //ͨµÀ1µÄµÚ¶þλ _nop_(); Clk = 1; _nop_(); } Clk = 0; DATI = 1; for( i = 0;i < 8;i++ ) //¶Áȡǰ8λµÄÖµ { _nop_(); adval <<= 1; Clk = 1; _nop_(); Clk = 0; if (DATO) adval |= 0x01; else adval |= 0x00; } for (i = 0; i < 8; i++) //¶ÁÈ¡ºó8λµÄÖµ { test >>= 1; if (DATO) test |= 0x80; else test |= 0x00; _nop_(); Clk = 1; _nop_(); Clk = 0; } if (adval == test) //±È½Ïǰ8λÓëºó8λµÄÖµ£¬Èç¹û²»ÏàͬÉáÈ¥¡£ÈôÒ»Ö±³öÏÖÏÔʾΪÁ㣬Ç뽫¸ÃÐÐÈ¥µô dat = test; nop_(); CS = 1; //ÊÍ·ÅADC0832 DATO = 1; Clk = 1; return dat; } void init() //³õʼ»¯º¯Êý { TMOD=0x01; //¹¤×÷·½Ê½ TL0=0xb0; TH0=0x3c; //¸³³õÖµ£¨12MHz¾§ÕñµÄ50ms£© EA=1; //´ò¿ªÖжÏ×Ü¿ª¹Ø ET0=1; //´ò¿ªÖжÏÔÊÐí¿ª¹Ø TR0=1; //´ò¿ª¶¨Ê±Æ÷¿ª¹Ø } void main() //Ö÷º¯Êý { Init1602();//³õʼ»¯ÏÔʾ init(); //³õʼ»¯¶¨Ê±Æ÷ while(1) //½øÈëÑ­»· { for(m=0;m<50;m++) //¶Á50´ÎADÖµ sum = adc0832(0)+sum; //¶Áµ½µÄADÖµ£¬½«¶Áµ½µÄÊý¾ÝÀÛ¼Óµ½sum temp=sum/50; //Ìø³öÉÏÃæµÄforÑ­»·ºó£¬½«ÀÛ¼ÓµÄ×ÜÊý³ýÒÔ50µÃµ½Æ½¾ùÖµtemp sum=0; //ƽ¾ùÖµ¼ÆËãÍê³Éºó£¬½«×ÜÊýÇåÁã if(set==0) //Ö»ÓÐÔÚ·ÇÉèÖÃ״̬ʱ£¬ Display_1602(temp,WARNING); //²ÅË¢ÐÂÏÔʾʵʱŨ¶ÈÖµ if(temp<WARNING&&set==0) //·ÇÉèÖÃʱµ±Å¨¶ÈֵСÓÚ±¨¾¯ÖµÊ± { flag=0; //±¨¾¯±ê־λÖÃ0£¬²»±¨¾¯ } else if(temp>WARNING&&set==0) //·ÇÉèÖÃʱµ±Å¨¶ÈÖµ´óÓÚ±¨¾¯ÖµÊ± { flag=1; //±¨¾¯±ê־λÖÃ1 } Key(); //ɨÃè°´¼ü } } void Key() //°´¼üº¯Êý { if(Key1==0) //ÉèÖüü°´ÏÂʱ { while(Key1==0); //¼ì²â°´¼üÊÇ·ñÊÍ·Å FENG=0; //·äÃùÆ÷Ïì set++; //ÉèÖÃ״̬±êÖ¾¼Ó flag=0; //Í£Ö¹±¨¾¯ // san=1; //·çÉÈֹͣת¶¯£¨Ñ¡Å䣩 TR0=0; //¶¨Ê±Æ÷Í£Ö¹ } if(set==1) //ÉèÖÃʱ { write_com(0x38);//ÆÁÄ»³õʼ»¯ write_com(0x80+0x40+13);//Ñ¡Öб¨¾¯ÖµµÄλÖà write_com(0x0f);//´ò¿ªÏÔʾ ÎÞ¹â±ê ¹â±êÉÁ˸ write_com(0x06);//µ±¶Á»òдһ¸ö×Ö·ûÊÇÖ¸Õëºóһһλ FENG=1; //·äÃùÆ÷Í£Ö¹ÃùÏì } else if(set>=2) //ÔÙ°´Ò»ÏÂÉèÖüüʱ£¬Í˳öÉèÖà { set=0; //ÉèÖÃ״̬ÇåÁã write_com(0x38);//ÆÁÄ»³õʼ»¯ write_com(0x0c);//´ò¿ªÏÔʾ ÎÞ¹â±ê ÎÞ¹â±êÉÁ˸ FENG=1; //·äÃùÆ÷Í£Ö¹Ïì flag=1; //±¨¾¯±ê־λÖÃ1 TR0=1; //¶¨Ê±Æ÷¿ªÊ¼¼ÆÊ± } if(Key2==0&&set!=0) //µ±ÔÚÉèÖÃ״̬ʱ£¬°´Ï¼Ӽüʱ { while(Key2==0); //°´¼üÊÍ·Å FENG=0; //·äÃùÆ÷ÃùÏì WARNING++; //±¨¾¯ãÐÖµ¼Ó if(WARNING>=255)//ãÐÖµ×î´ó¼Óµ½255 WARNING=0; //ÇåÁã write_com(0x80+0x40+11); //ÔÚãÐÖµµÄλÖÃдÈëÉèÖõÄÊý¾Ý write_data('0'+WARNING/100); //ÏÔʾ°Ù루½«123³ýÒÔ100µÃµ½µÄÉÌÊÇ1£¬¾ÍÊǰÙλÊý¾Ý£©123ΪÀý×Ó write_data('0'+WARNING/10%10);//ÏÔʾʮ루½«123³ýÒÔ10µÃµ½ÉÌÊÇ12£¬½«12³ýÒÔ10µÄÓàÊý¾ÍÊÇʮ룩 write_data('0'+WARNING%10); //ÏÔʾ¸ö루½«123³ýÒÔ10µÄÓàÊý3¾ÍÊǸöλÊý¾Ý£©123ΪÀý×Ó write_com(0x80+0x40+13);//λÖà FENG=1;//·äÃùÆ÷Í£Ö¹ } if(Key3==0&&set!=0) //¼õ°´¼ü×¢ÊͲο¼¼Ó°´¼ü²¿·Ö { while(Key3==0); FENG=0; WARNING--; if(WARNING<=0) WARNING=255; write_com(0x80+0x40+11); write_data('0'+WARNING/100); write_data('0'+WARNING/10%10); write_data('0'+WARNING%10); write_com(0x80+0x40+13);//λÖà FENG=1; } } void time1_int(void) interrupt 1 //¶¨Ê±Æ÷º¯Êý { uchar count; TL0=0xb0; TH0=0x3c; //ÖØÐ¸³³õÖµ count++; //¼ÆÊ±±äÁ¿¼Ó if(count==10)//¶¨Ê±Æ÷¶¨Ê±ÊÇ50ms£¬´Ë´¦¼ÆÊý10´Î£¬ÕýºÃÊÇ500ms£¬ÓÃÓÚ±¨¾¯Ê± µÆÁÁºÍ·äÃùÆ÷Ïì { if(flag==0) //±¨¾¯±ê־Ϊ0ʱ { LED_G=0; //Â̵ÆÁÁ LED_R=1; //ºìµÆÃð FENG=1; //·äÃùÆ÷²»Ïì // san=1; //·çÉȲ»×ª£¨Ñ¡Å䣩 } if(flag==1) //±¨¾¯±ê־λΪ1ʱ { LED_G=1; //Â̵ÆÃð LED_R=0; //ºìµÆÁÁ FENG=0; //·äÃùÆ÷Ïì // san=0; //·çÉÈת¶¯£¨Ñ¡Å䣩 } } if(count==20) //¼ÆÊýµ½20ʱ£¬ÕýºÃÊÇ1000ms£¬¾ÍÊÇ1s£¬ÕâÀï¾ÍÊÇÈõÆÃ𣬷äÃùÆ÷²»Ï죬´Ó¶ø×ö³öÉÁ˸µÄЧ¹û { count=0; //¼Æµ½1sʱ£¬½«countÇåÁ㣬׼±¸ÖØÐ¼ÆÊý if(flag==0) { LED_G=1; LED_R=1; FENG=1; // san=1; //È«²¿¹Ø±Õ } if(flag==1) { LED_G=1; LED_R=1; FENG=1; // san=0; //±¨¾¯Öµ£¬·çÉÈÊÇһֱת¶¯µÄ£¨Ñ¡Å䣩 } } } 修改为下限报警
07-05
#include <reg52.h> //------------------------- Òý½Å¶¨Òå --------------------------// sbit BEEP = P2^0; //·äÃùÆ÷¿ØÖÆÒý½Å£¬?µçƽÓÐЧ sbit LED1 = P2^3; //LED1£¬¿ØÖÆÒý½Å£¬µÍµçƽÓÐЧ sbit LED2 = P2^2; //LED2£¬¿ØÖÆÒý½Å£¬µÍµçƽÓÐЧ sbit LED3 = P2^1; //LED3£¬¿ØÖÆÒý½Å£¬µÍµçƽÓÐЧ //ÊýÂë¹ÜÒý½Å¶¨Òå #define duanPore P0 //ÊýÂë¹Ü¶Î¿ØÖƶ˿ڣ¬¸ßµçƽÓÐЧ sbit DIG1 = P2^4; //ÊýÂë¹ÜµÚ1λλѡ¿ØÖƶ˿ڣ¬µÍµçƽÓÐЧ sbit DIG2 = P2^5; //ÊýÂë¹ÜµÚ2λλѡ¿ØÖƶ˿ڣ¬µÍµçƽÓÐЧ sbit DIG3 = P2^6; //ÊýÂë¹ÜµÚ3λλѡ¿ØÖƶ˿ڣ¬µÍµçƽÓÐЧ sbit DIG4 = P2^7; //ÊýÂë¹ÜµÚ4λλѡ¿ØÖƶ˿ڣ¬µÍµçƽÓÐЧ //°´¼üÒý½Å¶¨Òå sbit KEY1 = P1^0; //1ºÅÑ¡ÊÖ sbit KEY2 = P1^1; //2ºÅÑ¡ÊÖ sbit KEY3 = P1^2; //3ºÅÑ¡ÊÖ sbit KEY4 = P1^3; //4ºÅÑ¡ÊÖ sbit KEY5 = P1^4; //5ºÅÑ¡ÊÖ sbit KEY6 = P1^5; //6ºÅÑ¡ÊÖ sbit KEY7 = P3^2; //Ö÷³ÖÈ˼ü sbit KEY8 = P3^3; //ÉèÖüü //---------------------- È«¾Ö±äÁ¿¶¨Òå --------------------// //ÊýÂë¹Ü¶ÎÂë±í£¬ÊÊÓÃÓÚ¹²ÒõÊýÂë¹Ü unsigned char code tab_duan[19] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, //0~9 0x77,0x7c,0x39,0x5e,0x79,0x71, //A~F 0x40,0x00,0x48 //'-'£¬¹Ø±ÕÏÔʾ£¬'=' }; unsigned char dat_buf[4] = {17, 17, 0, 5}; //ÏÔʾÊý¾Ý»º´æÇø£¬Ä¬ÈÏÉϵçÏÔʾ" 05" int time = 5, time1 = 5, time2 = 20; //µ¹¼ÆÊ±Ê±¼ä£¬time1£ºÇÀ´ðµ¹¼ÆÊ±Ê±¼ä£¬time2£º»Ø´ðµ¹¼ÆÊ±Ê±¼ä unsigned char i = 0; unsigned int count = 0; //¼ÆÊý»º´æ±äÁ¿ bit flag_lock = 1; //¼üÅÌËø¶¨±êÖ¾£¬1£º²»Ëø¶¨£¬0£ºËø¶¨ //------------------------------- º¯ÊýÉùÃ÷ ------------------------------------// void DelayMs(unsigned int ms); //ÑÓʱº¯Êý£¬µ¥Î»£ºms void dig_scan(unsigned char *dat); unsigned char KeyScan(void); //¶ÀÁ¢°´¼üɨÃè void InitTimer0(void); //¶¨Ê±Æ÷0³õʼ»¯ void alarm(void); //±¨¾¯º¯Êý void AnswerTask(void); //ÇÀ´ðÈÎÎñ void SetTime(void); //ÉèÖõ¹¼ÆÊ±Ê±¼ä /* Ö÷º¯Êý */ void main(void) { BEEP = 0; //ÉϵçĬÈϹرշäÃùÆ÷ LED1 = 1; InitTimer0(); //¶¨Ê±Æ÷0³õʼ»¯ time = time1; //ÉϵçĬÈÏÇÀ´ðµ¹¼ÆÊ± while(1) { if(KeyScan() == 7) //Èç¹ûÖ÷³ÖÈ˼ü°´Ï£¬Ôò½øÐÐÇÀ´ð { alarm(); //·äÃùÆ÷ÏìÒ»Éù AnswerTask(); //½øÐÐÇÀ´ðÈÎÎñ } if(KeyScan() == 8) //Èç¹ûÉèÖüü°´Ï£¬½øÈëÉèÖõ¹¼ÆÊ±Ê±¼ä { alarm(); //·äÃùÆ÷ÏìÒ»Éù SetTime(); //½øÈëÉè¼Æµ¹¼ÆÊ±Ê±¼ä } dat_buf[0] = 17; dat_buf[1] = 17; dat_buf[2] = time / 10; //È¡³öµ¹¼ÆÊ±µÄʮλÊý dat_buf[3] = time % 10; //È¡³öµ¹¼ÆÊ±µÄ¸öλÊý dig_scan(dat_buf); //²âÊÔÊýÂë¹ÜÏÔʾ } } /* ÑÓʱº¯Êý£¬µ¥Î»£ºms */ void DelayMs(unsigned int ms) { unsigned char a,b,c; while(--ms) { for(c=1;c>0;c--) for(b=142;b>0;b--) for(a=2;a>0;a--); } } /* ÊýÂë¹ÜÏÔʾɨÃè */ void dig_scan(unsigned char *dat) { /* ¶¯Ì¬É¨Ãè´¦Àí */ switch(i) { case 0: { duanPore = tab_duan[dat[0]]; //ÏÔʾµÚ1λÊýÂë¹ÜÄÚÈÝ DIG1 = 0; break; } case 1: { duanPore = tab_duan[dat[1]]; //ÏÔʾµÚ2λÊýÂë¹ÜÄÚÈÝ DIG2 = 0; //ѡͨµÚ2λÊýÂë¹Ü break; } case 2: { duanPore = tab_duan[dat[2]]; //ÏÔʾµÚ3λÊýÂë¹ÜÄÚÈÝ DIG3 = 0; //ѡͨµÚ3λÊýÂë¹Ü break; } case 3: { duanPore = tab_duan[dat[3]]; //ÏÔʾµÚ4λÊýÂë¹ÜÄÚÈÝ DIG4 = 0; //ѡͨµÚ4λÊýÂë¹Ü break; } default: break; } DelayMs(5); //ɨÃèÑÓʱ10ms£¬¸ù¾Ýʵ¼ÊÇé¿öÊʵ±Ð޸ĸÄÑÓʱʱ¼ä DIG1 = 1; //ÏûÒþ DIG2 = 1; DIG3 = 1; DIG4 = 1; ++i; //ɨÃè±äÁ¿Ñ­»· if(i > 3) i = 0; } /* ¶ÀÁ¢°´¼üɨÃè */ unsigned char KeyScan(void) { if(KEY1 == 0) //Èç¹û°´¼ü1°´Ï { DelayMs(10); //ÑÓʱ10msÈ¥³ý°´¼ü¶¶¶¯ if(KEY1 == 0) //ÔÙÈ·ÈÏÒ»´Î°´¼ü°´Ï£¬±íʾµ½Õâ°´¼üÒѾ­Îȶ¨ÁË return 1; //Êä³ö°´¼üÖµ1 } if(KEY2 == 0) //Èç¹û°´¼ü2°´Ï { DelayMs(10); //ÑÓʱ10msÈ¥³ý°´¼ü¶¶¶¯ if(KEY2 == 0) //ÔÙÈ·ÈÏÒ»´Î°´¼ü°´Ï£¬±íʾµ½Õâ°´¼üÒѾ­Îȶ¨ÁË return 2; //Êä³ö°´¼üÖµ2 } if(KEY3 == 0) //Èç¹û°´¼ü3°´Ï { DelayMs(10); //ÑÓʱ10msÈ¥³ý°´¼ü¶¶¶¯ if(KEY3 == 0) //ÔÙÈ·ÈÏÒ»´Î°´¼ü°´Ï£¬±íʾµ½Õâ°´¼üÒѾ­Îȶ¨ÁË return 3; //Êä³ö°´¼üÖµ3 } if(KEY4 == 0) //Èç¹û°´¼ü4°´Ï { DelayMs(10); //ÑÓʱ10msÈ¥³ý°´¼ü¶¶¶¯ if(KEY4 == 0) //ÔÙÈ·ÈÏÒ»´Î°´¼ü°´Ï£¬±íʾµ½Õâ°´¼üÒѾ­Îȶ¨ÁË return 4; //Êä³ö°´¼üÖµ4 } if(KEY5 == 0) //Èç¹û°´¼ü5°´Ï { DelayMs(10); //ÑÓʱ10msÈ¥³ý°´¼ü¶¶¶¯ if(KEY5 == 0) //ÔÙÈ·ÈÏÒ»´Î°´¼ü°´Ï£¬±íʾµ½Õâ°´¼üÒѾ­Îȶ¨ÁË return 5; //Êä³ö°´¼üÖµ5 } if(KEY6 == 0) //Èç¹û°´¼ü6°´Ï { DelayMs(10); //ÑÓʱ10msÈ¥³ý°´¼ü¶¶¶¯ if(KEY6 == 0) //ÔÙÈ·ÈÏÒ»´Î°´¼ü°´Ï£¬±íʾµ½Õâ°´¼üÒѾ­Îȶ¨ÁË return 6; //Êä³ö°´¼üÖµ6 } if(KEY7 == 0) //Èç¹û°´¼ü7°´Ï { DelayMs(10); //ÑÓʱ10msÈ¥³ý°´¼ü¶¶¶¯ if(KEY7 == 0) //ÔÙÈ·ÈÏÒ»´Î°´¼ü°´Ï£¬±íʾµ½Õâ°´¼üÒѾ­Îȶ¨ÁË return 7; //Êä³ö°´¼üÖµ7 } if(KEY8 == 0) //Èç¹û°´¼ü8°´Ï { DelayMs(10); //ÑÓʱ10msÈ¥³ý°´¼ü¶¶¶¯ if(KEY8 == 0) //ÔÙÈ·ÈÏÒ»´Î°´¼ü°´Ï£¬±íʾµ½Õâ°´¼üÒѾ­Îȶ¨ÁË return 8; //Êä³ö°´¼üÖµ8 } return 0; //ÎÞ°´¼ü°´ÏÂÊä³ö0 } /* ¶¨Ê±Æ÷0³õʼ»¯ */ void InitTimer0(void) { TMOD = 0x01; //ÅäÖö¨Ê±Æ÷0Ϊ¹¤×÷ģʽ1£¬16λ¶¨Ê±Æ÷ TH0 = (65536 - 10000) / 256; //¶¨Ê±10ms TL0 = (65536 - 10000) % 256; EA = 1; //´ò¿ª×ÜÖÐ¶Ï ET0 = 1; //´ò¿ª¶¨Ê±Æ÷0ÖÐ¶Ï TR0 = 0; //ÉϵçĬÈϹرն¨Ê±Æ÷0 } /* ¶¨Ê±Æ÷0ÖжϷþÎñº¯Êý£¬10ms½øÒ»´ÎÖÐ¶Ï */ void Timer0Interrupt(void) interrupt 1 { TH0 = (65536 - 10000) / 256; //¶¨Ê±10ms£¬ÖØÐÂ×°ÔØ¼ÆÊýÖµ TL0 = (65536 - 10000) % 256; ++count; if(count > 100) //1sʱ¼ä¼ÆË㣺10ms * 100 = 1s { count = 0; //¼ÆÊýÖµÇåÁã --time; //µ¹¼ÆÊ±Ê±¼ä¼õÒ»´Î if(time <= 0) //Èç¹ûµ¹¼ÆÊ±½áÊø£¬Ôò¹Ø±Õ¶¨Ê±Æ÷0£¬Í£Ö¹µ¹¼ÆÊ±£¬²¢Éù¹â±¨¾¯ºÍËø¶¨¼üÅÌ { TR0 = 0; //¹Ø±Õ¶¨Ê±Æ÷0 BEEP = 1; //Éù¹â±¨¾¯ LED1 = 0; flag_lock = 0; //Ëø¶¨¼üÅÌ } } } /* ±¨¾¯º¯Êý */ void alarm(void) { BEEP = 1; //·äÃùÆ÷ÏìһϠDelayMs(300); //ÑÓʱ300ms BEEP = 0; } /* ʵÏÖÇÀ´ðÈÎÎñ */ void AnswerTask(void) { unsigned char key_val; //°´¼üÖµ»º´æ TR0 = 1; //Æô¶¯¶¨Ê±Æ÷0£¬¿ªÊ¼µ¹¼ÆÊ± while(1) { if(flag_lock == 1) { key_val = KeyScan(); //»ñÈ¡°´¼üÖµ switch(key_val) { case 1: { dat_buf[0] = key_val; //µÚ1λÊýÂë¹ÜÏÔʾ1ºÅ dat_buf[1] = 16; //ÏÔʾ'-' time = time2; //»Ø´ðµ¹¼ÆÊ±£¬Ñ¡Êֻشðʱ¼ä alarm(); //·äÃùÆ÷ÏìһϠflag_lock = 0; //Ëø¶¨¼üÅÌ break; } case 2: { dat_buf[0] = key_val; //µÚ2λÊýÂë¹ÜÏÔʾ2ºÅ dat_buf[1] = 16; //ÏÔʾ'-' time = time2; //»Ø´ðµ¹¼ÆÊ±£¬Ñ¡Êֻشðʱ¼ä alarm(); //·äÃùÆ÷ÏìһϠflag_lock = 0; break; } case 3: { dat_buf[0] = key_val; //µÚ3λÊýÂë¹ÜÏÔʾ3ºÅ dat_buf[1] = 16; //ÏÔʾ'-' time = time2; alarm(); //·äÃùÆ÷ÏìһϠflag_lock = 0; break; } case 4: { dat_buf[0] = key_val; //µÚ4λÊýÂë¹ÜÏÔʾ4ºÅ dat_buf[1] = 16; //ÏÔʾ'-' time = time2; alarm(); //·äÃùÆ÷ÏìһϠflag_lock = 0; break; } case 5: { dat_buf[0] = key_val; //µÚ5λÊýÂë¹ÜÏÔʾ5ºÅ dat_buf[1] = 16; //ÏÔʾ'-' time = time2; alarm(); //·äÃùÆ÷ÏìһϠflag_lock = 0; break; } case 6: { dat_buf[0] = key_val; //µÚ6λÊýÂë¹ÜÏÔʾ6ºÅ dat_buf[1] = 16; //ÏÔʾ'-' time = time2; alarm(); //·äÃùÆ÷ÏìһϠflag_lock = 0; break; } default: break; } } dat_buf[2] = time / 10; //È¡³öµ¹¼ÆÊ±µÄʮλÊý dat_buf[3] = time % 10; //È¡³öµ¹¼ÆÊ±µÄ¸öλÊý dig_scan(dat_buf); //ÊýÂë¹ÜÏÔʾÄÚÈÝ } } /* ÉèÖõ¹¼ÆÊ±Ê±¼ä */ void SetTime(void) { unsigned char mode = 0; //0£ºµ÷½ÚÇÀ´ðµ¹¼ÆÊ±£¬1£ºµ÷½Ú»Ø´ðµ¹¼ÆÊ±£¬2£ºÍ˳ö while(1) { if(KeyScan() == 8) //Èç¹ûÔٴΰ´ÏÂÉèÖüü£¬ÔòÍ˳öÉèÖù¦ÄÜ { alarm(); //·äÃùÆ÷ÏìÒ»Éù ++mode; if(mode >= 2) break; //Ìø³öµ±Ç°ËÀÑ­»· } if(KeyScan() == 7) //Èç¹û°´Ï¼Ӽü£¬½øÐе÷ʱ { alarm(); //·äÃùÆ÷ÏìÒ»Éù if(mode == 0) //µ÷½ÚÇÀ´ðµ¹¼ÆÊ± { ++time1; //µ¹¼ÆÊ±Ê±¼ä¼ÓÒ»´Î if(time1 > 30) //µ÷ʱ·¶Î§£º5s~30s time1 = 5; } if(mode == 1) //µ÷½Ú»Ø´ðµ¹¼ÆÊ± { ++time2; //µ¹¼ÆÊ±Ê±¼ä¼ÓÒ»´Î if(time2 > 30) //µ÷ʱ·¶Î§£º5s~30s time2 = 5; } } /* µ÷ʱÏÔʾ´¦Àí */ if(mode == 0) { dat_buf[0] = 16; //ÏÔʾ'-' dat_buf[1] = time1 / 10; //È¡³öµ¹¼ÆÊ±µÄʮλÊý dat_buf[2] = time1 % 10; //È¡³öµ¹¼ÆÊ±µÄ¸öλÊý dat_buf[3] = 16; //ÏÔʾ'-' } if(mode == 1) { dat_buf[0] = 18; //ÏÔʾ'=' dat_buf[1] = time2 / 10; //È¡³öµ¹¼ÆÊ±µÄʮλÊý dat_buf[2] = time2 % 10; //È¡³öµ¹¼ÆÊ±µÄ¸öλÊý dat_buf[3] = 18; //ÏÔʾ'=' } dig_scan(dat_buf); //ÊýÂë¹ÜÏÔʾÄÚÈÝ } time = time1; //»Øµ½Ö÷½çÃæÏÔʾÇÀ´ðµ¹¼ÆÊ± }写出一个这样的代码,主持人是1.0,时间调节是1.1,选手1.2-1.7,蜂鸣器是3.3,LED是3.4,数码管1234是2.0-2.3
09-19
根据MPU6050的传感器程序代码,#include "sys.h" MPU_DATA mpu_data; //³õʼ»¯MPU6050 //·µ»ØÖµ:0,³É¹¦ // ÆäËû,´íÎó´úÂë u8 MPU_Init(void) { u8 res; IIC_Init1();//³õʼ»¯IIC×ÜÏß MPU_Write_Byte(MPU_PWR_MGMT1_REG,0X80); //¸´Î»MPU6050 delay_ms(100); MPU_Write_Byte(MPU_PWR_MGMT1_REG,0X00); //»½ÐÑMPU6050 MPU_Set_Gyro_Fsr(3); //ÍÓÂÝÒÇ´«¸ÐÆ÷,¡À2000dps MPU_Set_Accel_Fsr(0); //¼ÓËÙ¶È´«¸ÐÆ÷,¡À2g MPU_Set_Rate(50); //ÉèÖòÉÑùÂÊ50Hz MPU_Write_Byte(MPU_INT_EN_REG,0X00); //¹Ø±ÕËùÓÐÖÐ¶Ï MPU_Write_Byte(MPU_USER_CTRL_REG,0X00); //I2CÖ÷ģʽ¹Ø±Õ MPU_Write_Byte(MPU_FIFO_EN_REG,0X00); //¹Ø±ÕFIFO MPU_Write_Byte(MPU_INTBP_CFG_REG,0X80); //INTÒý½ÅµÍµçƽÓÐЧ res=MPU_Read_Byte(MPU_DEVICE_ID_REG); if(res==MPU_ADDR)//Æ÷¼þIDÕýÈ· { MPU_Write_Byte(MPU_PWR_MGMT1_REG,0X01); //ÉèÖÃCLKSEL,PLL XÖáΪ²Î¿¼ MPU_Write_Byte(MPU_PWR_MGMT2_REG,0X00); //¼ÓËÙ¶ÈÓëÍÓÂÝÒǶ¼¹¤×÷ MPU_Set_Rate(50); //ÉèÖòÉÑùÂÊΪ50Hz }else return 1; return 0; } //ÉèÖÃMPU6050ÍÓÂÝÒÇ´«¸ÐÆ÷ÂúÁ¿³Ì·¶Î§ //fsr:0,¡À250dps;1,¡À500dps;2,¡À1000dps;3,¡À2000dps //·µ»ØÖµ:0,ÉèÖóɹ¦ // ÆäËû,ÉèÖÃʧ°Ü u8 MPU_Set_Gyro_Fsr(u8 fsr) { return MPU_Write_Byte(MPU_GYRO_CFG_REG,fsr<<3);//ÉèÖÃÍÓÂÝÒÇÂúÁ¿³Ì·¶Î§ } //ÉèÖÃMPU6050¼ÓËÙ¶È´«¸ÐÆ÷ÂúÁ¿³Ì·¶Î§ //fsr:0,¡À2g;1,¡À4g;2,¡À8g;3,¡À16g //·µ»ØÖµ:0,ÉèÖóɹ¦ // ÆäËû,ÉèÖÃʧ°Ü u8 MPU_Set_Accel_Fsr(u8 fsr) { return MPU_Write_Byte(MPU_ACCEL_CFG_REG,fsr<<3);//ÉèÖüÓËÙ¶È´«¸ÐÆ÷ÂúÁ¿³Ì·¶Î§ } //ÉèÖÃMPU6050µÄÊý×ÖµÍͨÂ˲¨Æ÷ //lpf:Êý×ÖµÍͨÂ˲¨ÆµÂÊ(Hz) //·µ»ØÖµ:0,ÉèÖóɹ¦ // ÆäËû,ÉèÖÃʧ°Ü u8 MPU_Set_LPF(u16 lpf) { u8 data=0; if(lpf>=188)data=1; else if(lpf>=98)data=2; else if(lpf>=42)data=3; else if(lpf>=20)data=4; else if(lpf>=10)data=5; else data=6; return MPU_Write_Byte(MPU_CFG_REG,data);//ÉèÖÃÊý×ÖµÍͨÂ˲¨Æ÷ } //ÉèÖÃMPU6050µÄ²ÉÑùÂÊ(¼Ù¶¨Fs=1KHz) //rate:4~1000(Hz) //·µ»ØÖµ:0,ÉèÖóɹ¦ // ÆäËû,ÉèÖÃʧ°Ü u8 MPU_Set_Rate(u16 rate) { u8 data; if(rate>1000)rate=1000; if(rate<4)rate=4; data=1000/rate-1; data=MPU_Write_Byte(MPU_SAMPLE_RATE_REG,data); //ÉèÖÃÊý×ÖµÍͨÂ˲¨Æ÷ return MPU_Set_LPF(rate/2); //×Ô¶¯ÉèÖÃLPFΪ²ÉÑùÂʵÄÒ»°ë } //µÃµ½Î¶ÈÖµ //·µ»ØÖµ:ζÈÖµ(À©´óÁË100±¶) short MPU_Get_Temperature(void) { u8 buf[2]; short raw; float temp; MPU_Read_Len(MPU_ADDR,MPU_TEMP_OUTH_REG,2,buf); raw=((u16)buf[0]<<8)|buf[1]; temp=36.53+((double)raw)/340; return temp*100;; } //µÃµ½ÍÓÂÝÒÇÖµ(ԭʼֵ) //gx,gy,gz:ÍÓÂÝÒÇx,y,zÖáµÄԭʼ¶ÁÊý(´ø·ûºÅ) //·µ»ØÖµ:0,³É¹¦ // ÆäËû,´íÎó´úÂë u8 MPU_Get_Gyroscope(short *gx,short *gy,short *gz) { u8 buf[6],res; res=MPU_Read_Len(MPU_ADDR,MPU_GYRO_XOUTH_REG,6,buf); if(res==0) { *gx=((u16)buf[0]<<8)|buf[1]; *gy=((u16)buf[2]<<8)|buf[3]; *gz=((u16)buf[4]<<8)|buf[5]; } return res;; } //µÃµ½¼ÓËÙ¶ÈÖµ(ԭʼֵ) //gx,gy,gz:ÍÓÂÝÒÇx,y,zÖáµÄԭʼ¶ÁÊý(´ø·ûºÅ) //·µ»ØÖµ:0,³É¹¦ // ÆäËû,´íÎó´úÂë u8 MPU_Get_Accelerometer(short *ax,short *ay,short *az) { u8 buf[6],res; res=MPU_Read_Len(MPU_ADDR,MPU_ACCEL_XOUTH_REG,6,buf); if(res==0) { *ax=((u16)buf[0]<<8)|buf[1]; *ay=((u16)buf[2]<<8)|buf[3]; *az=((u16)buf[4]<<8)|buf[5]; } return res;; } //IICÁ¬ÐøÐ´ //addr:Æ÷¼þµØÖ· //reg:¼Ä´æÆ÷µØÖ· //len:дÈ볤¶È //buf:Êý¾ÝÇø //·µ»ØÖµ:0,Õý³£ // ÆäËû,´íÎó´úÂë u8 MPU_Write_Len(u8 addr,u8 reg,u8 len,u8 *buf) { u8 i; IIC_Start1(); IIC_Send_Byte1((addr<<1)|0);//·¢ËÍÆ÷¼þµØÖ·+дÃüÁî if(IIC_Wait_Ack1()) //µÈ´ýÓ¦´ð { IIC_Stop1(); return 1; } IIC_Send_Byte1(reg); //д¼Ä´æÆ÷µØÖ· IIC_Wait_Ack1(); //µÈ´ýÓ¦´ð for(i=0;i<len;i++) { IIC_Send_Byte1(buf[i]); //·¢ËÍÊý¾Ý if(IIC_Wait_Ack1()) //µÈ´ýACK { IIC_Stop1(); return 1; } } IIC_Stop1(); return 0; } //IICÁ¬Ðø¶Á //addr:Æ÷¼þµØÖ· //reg:Òª¶ÁÈ¡µÄ¼Ä´æÆ÷µØÖ· //len:Òª¶ÁÈ¡µÄ³¤¶È //buf:¶ÁÈ¡µ½µÄÊý¾Ý´æ´¢Çø //·µ»ØÖµ:0,Õý³£ // ÆäËû,´íÎó´úÂë u8 MPU_Read_Len(u8 addr,u8 reg,u8 len,u8 *buf) { IIC_Start1(); IIC_Send_Byte1((addr<<1)|0);//·¢ËÍÆ÷¼þµØÖ·+дÃüÁî if(IIC_Wait_Ack1()) //µÈ´ýÓ¦´ð { IIC_Stop1(); return 1; } IIC_Send_Byte1(reg); //д¼Ä´æÆ÷µØÖ· IIC_Wait_Ack1(); //µÈ´ýÓ¦´ð IIC_Start1(); IIC_Send_Byte1((addr<<1)|1);//·¢ËÍÆ÷¼þµØÖ·+¶ÁÃüÁî IIC_Wait_Ack1(); //µÈ´ýÓ¦´ð while(len) { if(len==1)*buf=IIC_Read_Byte1(0);//¶ÁÊý¾Ý,·¢ËÍnACK else *buf=IIC_Read_Byte1(1); //¶ÁÊý¾Ý,·¢ËÍACK len--; buf++; } IIC_Stop1(); //²úÉúÒ»¸öÍ£Ö¹Ìõ¼þ return 0; } //IICдһ¸ö×Ö½Ú //reg:¼Ä´æÆ÷µØÖ· //data:Êý¾Ý //·µ»ØÖµ:0,Õý³£ // ÆäËû,´íÎó´úÂë u8 MPU_Write_Byte(u8 reg,u8 data) { IIC_Start1(); IIC_Send_Byte1((MPU_ADDR<<1)|0);//·¢ËÍÆ÷¼þµØÖ·+дÃüÁî if(IIC_Wait_Ack1()) //µÈ´ýÓ¦´ð { IIC_Stop1(); return 1; } IIC_Send_Byte1(reg); //д¼Ä´æÆ÷µØÖ· IIC_Wait_Ack1(); //µÈ´ýÓ¦´ð IIC_Send_Byte1(data);//·¢ËÍÊý¾Ý if(IIC_Wait_Ack1()) //µÈ´ýACK { IIC_Stop1(); return 1; } IIC_Stop1(); return 0; } //IIC¶ÁÒ»¸ö×Ö½Ú //reg:¼Ä´æÆ÷µØÖ· //·µ»ØÖµ:¶Áµ½µÄÊý¾Ý u8 MPU_Read_Byte(u8 reg) { u8 res; IIC_Start1(); IIC_Send_Byte1((MPU_ADDR<<1)|0);//·¢ËÍÆ÷¼þµØÖ·+дÃüÁî IIC_Wait_Ack1(); //µÈ´ýÓ¦´ð IIC_Send_Byte1(reg); //д¼Ä´æÆ÷µØÖ· IIC_Wait_Ack1(); //µÈ´ýÓ¦´ð IIC_Start1(); IIC_Send_Byte1((MPU_ADDR<<1)|1);//·¢ËÍÆ÷¼þµØÖ·+¶ÁÃüÁî IIC_Wait_Ack1(); //µÈ´ýÓ¦´ð res=IIC_Read_Byte1(0);//¶ÁÈ¡Êý¾Ý,·¢ËÍnACK IIC_Stop1(); //²úÉúÒ»¸öÍ£Ö¹Ìõ¼þ return res; } 生成程序设计流程图
06-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值